Using a Webhook to integrate with services like IFTTT or Zapier

Booth.Events supports using a webhook to integrate with third-party services like If-this-then-that (IFTTT), Zapier, or any other service that can receive a webhook call.

Webhooks are advanced functionality. We only recommend using this feature if you would describe yourself as technically skilled & very comfortable with technology. We do not offer support for setting up integrations with third-party services via webhooks.


See Also

We've created a separate help article that shows how to connect your Dropbox account to Booth.Events by using your webhook with IFTTT.


Overview

To turn this feature on you need a Pro+ subscription. You can start a free 14-day trial today to get started.


There are two webhooks. You can use either one, or both.

  • Upload Webhook: an HTTP POST call that's made every time a file is uploaded to one of your galleries
  • Share Webhook: an HTTP POST call that's made every time a guest enters their phone number or email address on the share screen of the iOS app
    • This webhook was added in February 2025

Which webhook(s) should you use? Consider these points:

  • only the Upload Webhook has the URLs for the media page, and the url to directly download the media; so if you want to make a copy of the photo or video (for example: copy to Dropbox), use this webhook
  • if Data Collection is turned on and you force guests to enter their email address or phone number, both webhooks have this data available in them
  • only the Share Webhook has the email addresses and phone numbers entered by guests on the share screen of the iOS app; so if Data Collection is turned off or not collecting this data, use the Share Webhook to get emails and phone numbers

How to set your Webhook URLs

To turn it on go to your Account page, and in the Sharing Settings section hit Open on the Webhook block:

Sharing Settings on the Account  Page
Sharing Settings on the Account page

In the popup, paste in the URL where you wish the webhook request to be made to.

Showing a configured Share Webhook

The easiest way to test your webhook is to use a free service like https://webhook.site - you can paste in your personal webhook.site URL and then try taking a photo with the iOS app (you must launch the event, not preview).

To turn it off, open the Webhook popup again, remove the URL(s) so that they are blank, and Save Changes.


Technical Details

Each webhook request is an HTTP POST request with a JSON body, with Content-Type set to application/json


Upload Webhook Technical Details


Payload Values (JSON)

  • contentType (string) : image/jpeg or video/mp4
  • dataCollectionResponse (object) : if the data collection feature is turned on this contains the response of the user
  • eventId (string) : the ID of the event for this gallery
  • eventIdUser (string) : if you set a custom ID for this event then it will be present here, otherwise null
  • galleryDate (string of ISO 8601 date format) : the date set on the event of the gallery
  • galleryId (string) : the unique gallery ID
  • galleryName & value3 (string) : The gallery name
  • galleryPageUrl (string) : The URL of your gallery page on Shared.Gallery
  • gallerySlug (string) : The gallery slug, originally derived from the gallery name
  • height (number) : pixel height
  • isCollage (boolean) : true if this is generated from a template
  • kBytes: (number) : size in kilobytes of file
  • kBytesThumb: (number) : size in kilobytes of thumbnail of file
  • mediaPageUrl (string) : the URL of the Shared.Gallery media page for this file
  • sessionPageUrl (string) : the URL of the Shared.Gallery page for the session this file is in
  • shutterDate & value2 (string, ISO 8601 date format) : the date and time the photo/video was taken
  • url & value1 (string) : the publicly accessible URL to download the file
  • urlThumb (string) : the publicly accessible URL to download the thumbnail of file
  • width (number) : pixel width

Payload Example (JSON), WITHOUT dataCollectionResponse

{
  "contentType": "image/jpeg",
  "isCollage": false,
  "width": 3024,
  "height": 4032,
  "kBytes": 3696,
  "kBytesThumb": 18,
  "url": "https://solo-s.b-cdn.net/sharedgallery.appspot.com/abc123/VFRGsI39SnCH6NKUBOmd/0013-My_Event_Name-d3.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=firebase-adminsdk-9elxx%40sharedgallery.iam.gserviceaccount.com%2F20240324%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240324T195357Z&X-Goog-Expires=604000&X-Goog-SignedHeaders=host&X-Goog-Signature=36a68d5113b444620f5e78d8ee96f72b8088826dd22a2b52065ffeff1b6eaa55a450fefbb28986a8cb4e496d94bc5cc6436fb227555546651d706870b720e94d2dc8c7191512a8aa21a890a9da1f131924399d6c178df7abcc4e6981517b25563091475dd6daa82697b8a31ad63ac966c0349bf1327b88a477dd233c93566af5b17b12f2a236f94bfa84af804f50533dfe7c3cd5ece2978038aaa5c6230101001b35c47b70e28653084ebd83a22cb1d453aa847c82d0c4228022db9407c78140dc1341468b3fb63f2592e458df29461c5d91c5db9abb77507f74e59e121ee143a086f21891b23a365bc43a367912dfacf4b30ad271d722dc1f806b35489548e3z",
  "urlThumb": "https://solo-s.b-cdn.net/sharedgallery.appspot.com/abc123/VFRGsI39SnCH6NKUBOmd/0013-My_Event_Name-d3_genThumb.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=firebase-adminsdk-9elxx%40sharedgallery.iam.gserviceaccount.com%2F20240324%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240324T195357Z&X-Goog-Expires=604000&X-Goog-SignedHeaders=host&X-Goog-Signature=9f441b36c34c8ed9c0be7d4f7c162d71ae4037f6ee81a1d6e67e9c496ab23bb2c4c800615bf7cb8261e3f0f9d6ed6102758c331a08d484b631378211ea38a3e1fe37d0cb9cfe7ab3cda70bb4c58f82fb9ba30c1ad4a377a0e035260aa7d28704d3ad141fde510e9ddef2040756152c3f2f737072bd5376572c37ae8d19a17cd7f5a137d9a87bd414e2b44e8b1612634e2f1fa7cc3f1d917a43b9a332fc2d637ebbd3aef6de192bbcaad08320a3c6c6c8333191f7eb336b066368fc0d501a97abc2b7ed0111c16fe009b3b13ab004c9ff270f25c61d1fa55a28243f7c912ab03521afc09f2bcf45366f7ce71d81d717352b4d2cc1c358dd509b878eec5abd8898z",
  "eventId": "zYrJegcdonasZm9zp131",
  "eventIdUser": null,
  "shutterDate": "2024-03-24T15:53:48-04:00",
  "galleryId": "VFRGsI39SnCH6NKUBOmd",
  "galleryName": "My Event Name",
  "gallerySlug": "my-event-name",
  "galleryDate": "2024-03-09T22:30:47.000Z",
  "galleryPageUrl": "https://shared.gallery/of/abc123/my-event-name",
  "mediaPageUrl": "https://shared.gallery/of/abc123/my-event-name/m/pMvsCmU2iQmApFmlzQHd",
  "sessionPageUrl": "https://shared.gallery/of/abc123/my-event-name/s/eH7NdRY59g6OE6tw83wj",
  "value1": "https://solo-s.b-cdn.net/sharedgallery.appspot.com/abc123/VFRGsI39SnCH6NKUBOmd/0013-My_Event_Name-d3.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=firebase-adminsdk-9elxx%40sharedgallery.iam.gserviceaccount.com%2F20240324%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240324T195357Z&X-Goog-Expires=604000&X-Goog-SignedHeaders=host&X-Goog-Signature=36a68d5113b444620f5e78d8ee96f72b8088826dd22a2b52065ffeff1b6eaa55a450fefbb28986a8cb4e496d94bc5cc6436fb227555546651d706870b720e94d2dc8c7191512a8aa21a890a9da1f131924399d6c178df7abcc4e6981517b25563091475dd6daa82697b8a31ad63ac966c0349bf1327b88a477dd233c93566af5b17b12f2a236f94bfa84af804f50533dfe7c3cd5ece2978038aaa5c6230101001b35c47b70e28653084ebd83a22cb1d453aa847c82d0c4228022db9407c78140dc1341468b3fb63f2592e458df29461c5d91c5db9abb77507f74e59e121ee143a086f21891b23a365bc43a367912dfacf4b30ad271d722dc1f806b35489548e3z",
  "value2": "2024-03-24T15:53:48-04:00",
  "value3": "My Event Name"
}

Payload Example, WITH dataCollectionResponse


{
  "contentType": "image/jpeg",
  "isCollage": false,
  "width": 3024,
  "height": 4032,
  "kBytes": 3103,
  "kBytesThumb": 125,
  "url": "https://solo-s.b-cdn.....",
  "urlThumb": "https://solo-s.b-cdn....",
  "dataCollectionResponse": {
    "createdDate": "2025-01-15T11:23:06-05:00",
    "responses": [
      {
        "question": {
          "optional": true,
          "type": "string",
          "name": "First Name",
          "text": "First Name"
        }
      },
      {
        "question": {
          "text": "Last Name",
          "type": "string",
          "name": "Last Name",
          "optional": true
        }
      },
      {
        "question": {
          "text": "I agree to the terms and conditions",
          "type": "checkbox",
          "name": "I agree to the terms and conditions",
          "optional": true
        }
      },
      {
        "answer": "tim@boot...",
        "question": {
          "optional": false,
          "type": "email",
          "name": "Email",
          "text": "Email"
        }
      },
      {
        "answer": "1(234) 567-8900",
        "question": {
          "text": "Phone Number",
          "type": "phone_number",
          "name": "Phone Number",
          "optional": false
        }
      }
    ]
  },
  "eventId": "0ajuds2IODblW79dobzm",
  "eventIdUser": null,
  "shutterDate": "2025-01-15T11:23:29-05:00",
  "captureType": "photo",
  "galleryId": "9VDWZqryjdqxKgUaiE8U",
  "galleryName": "upcoming event.",
  "gallerySlug": "upcoming-event",
  "galleryDate": "2026-07-04T16:00:00.000Z",
  "galleryPageUrl": "https://gallery.timcarrphoto.co...",
  "mediaPageUrl": "https://gallery.timcarrphoto.co...",
  "sessionPageUrl": "https://gallery.timcarrphoto.co...",
  "value1": "https://solo-s.b-cdn.n...",
  "value2": "2025-01-15T11:23:29-05:00",
  "value3": "upcoming event.",
  "sessionId": "iTaKk6G6BI2Q7xOxMK6p",
  "sessionIndex": 0
}

Share Webhook Technical Details


Please note that since this webhook runs each time a guest enters an email or phone number, and since guests can enter multiple email addresses & phone numbers, that means that you can receive multiple share webhook calls for one single guest session. You can key on the sessionId field to de-duplicate or overwrite data, as the newest call for a given session will have all of the data.



Payload Values (JSON)

  • createdDate (string) : the date the session was created, in ISO 8601 format
  • dataCollectionResponse (object) : if the data collection feature is turned on this contains the response of the user
  • phoneNumber (array of strings) : all of the phone numbers entered on the share screen of the iOS app for this session so far, in E.164 format. Note: phone numbers entered with the Data Collection feature are not included, use dataCollectionResponse for this
  • email (array of strings) : all of the email addresses entered on the share screen of the iOS app for this session so far. Note: email addresses entered with the Data Collection feature are not included, use dataCollectionResponse for this
  • galleryId (string) : the ID of the gallery, which uniquely identifies this gallery
  • galleryName (string) : the name of the gallery (same as the event name)
  • gallerySlug (string) : the slug of the gallery (originally derived from the gallery name)
  • galleryDate (string) : the date of the gallery (same as the event date), in ISO 8601 format
  • galleryPageUrl (string) : the URL of the gallery
  • sessionPageUrl (string) : the URL of the session
  • sessionId (string) : the ID of the session, which uniquely identifies this session
  • sessionIndex (number) : a monotonically increasing index number of the session; this value does not relate to when the session was created, it relates to when the session was uploaded
  • media (array of strings) : the media IDs that are in this session
  • mediaObjects (array of objects) : the media in this session
  • value1 : same as sessionPageUrl
  • value2 : same as email
  • value3 : same as phoneNumber

Payload Example, WITH dataCollectionResponse


{
  "createdDate": "2025-02-03T21:25:21.000Z",
  "dataCollectionResponse": {
    "createdDate": "2025-02-03T16:25:01-05:00",
    "responses": [
      {
        "question": {
          "text": "I agree to the terms and conditions",
          "name": "I agree to the terms and conditions",
          "type": "checkbox",
          "optional": true
        }
      },
      {
        "answer": "rush2112@gmail.com",
        "question": {
          "optional": true,
          "type": "email",
          "name": "Email",
          "text": "Email"
        }
      },
      {
        "question": {
          "text": "Phone Number",
          "type": "phone_number",
          "name": "Phone Number",
          "optional": true
        }
      }
    ]
  },
  "phoneNumber": [
    "+12891234567"
  ],
  "email": null,
  "galleryId": "ayuwM4hFkmRtQrE6Oabc",
  "galleryName": "upcoming event",
  "gallerySlug": "upcoming-event",
  "galleryDate": "2025-02-01T17:00:00.000Z",
  "galleryPageUrl": "https://timcarrphoto.com/upcoming-event",
  "sessionPageUrl": "https://timcarrphoto.com/upcoming-event/s/f66uAOitdoDv8ACezNms",
  "sessionId": "f66uAOitdoDv8ACezNms",
  "sessionIndex": 13,
  "media": [
    "3rwpfma8N6MAnS2kvqEQ",
    "PocakN6oa3j2AVtO2LvM"
  ],
  "mediaObjects": [
    {
      "createdDate": "2025-02-03T21:25:21.000Z",
      "contentType": "image/jpeg",
      "path": "solodigitalis/ayuwM4hFkmRtQrE6Oafe/0031-upcoming_event-d100.jpg",
      "kBytes": 1440,
      "pathThumb": "solodigitalis/ayuwM4hFkmRtQrE6Oafe/0031-upcoming_event-d100_genThumb.jpg",
      "kBytesThumb": 117,
      "isCollage": false,
      "width": 3088,
      "height": 2316,
      "filename": "0031-upcoming_event-d100.jpg",
      "origPath": "solodigitalis/ayuwM4hFkmRtQrE6Oafe/22A68D61-5046-42E7-941D-91CD11704834_1.jpg",
      "blurData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAMElEQVR4nGNYMjHPyVp7Qme5ihQzw74NUwqz4j7//2tqrMbQVV+wOTUyLymYgYkBADRkDuQSSfWuAAAAAElFTkSuQmCC",
      "templateId": "klRQiS3GPyZT2RvAj2Mc",
      "captureType": "photo",
      "id": "3rwpfma8N6MAnS2kvqEQ"
    },
    {
      "createdDate": "2025-02-03T21:25:26.000Z",
      "contentType": "image/jpeg",
      "path": "solodigitalis/ayuwM4hFkmRtQrE6Oafe/0032-upcoming_event-d100-template.jpg",
      "kBytes": 561,
      "pathThumb": "solodigitalis/ayuwM4hFkmRtQrE6Oafe/0032-upcoming_event-d100-template_genThumb.jpg",
      "kBytesThumb": 94,
      "isCollage": true,
      "width": 1844,
      "height": 1240,
      "filename": "0032-upcoming_event-d100-template.jpg",
      "origPath": "solodigitalis/ayuwM4hFkmRtQrE6Oafe/22A68D61-5046-42E7-941D-91CD11704834_2.jpg",
      "blurData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAMElEQVR4nGNYNa3Y01F/Wn+tuhQzw961k0ozEz7+/2Ogp8zQ11K8Li08JyOUkYkBADrODxal2eoGAAAAAElFTkSuQmCC",
      "templateId": "klRQiS3GPyZT2RvAj2Mc",
      "captureType": "photo",
      "id": "PocakN6oa3j2AVtO2LvM"
    }
  ],
  "value1": "https://timcarrphoto.com/upcoming-event/s/f66uAOitdoDv8ACezNms",
  "value2": null,
  "value3": [
    "+12891234567"
  ]
}

Still need help? Contact Us Contact Us