How to: Using a Webhook to integrate with services like IFTTT or Zapier

Booth.Events supports webhooks for integrating with third-party services such as IFTTT, Zapier, or any platform that can receive an HTTP POST call.

Important: Webhooks are advanced functionality. We recommend using them only if you’re technically skilled and very comfortable with technology. Booth.Events does not provide setup support for integrations with third-party services via webhooks.


Related Article

If you’d like an example, see our guide on connecting Dropbox to Booth.Events via IFTTT using the Upload Webhook.


Requirements

  • Pro+ subscription (includes a free 14-day trial).
  • A third-party service capable of receiving webhook calls.

Types of Webhooks

Booth.Events offers two webhook options. You can use one or both:

1. Upload Webhook

  • Triggered every time a file is uploaded to one of your galleries.

    Includes:

    • URL to the media page
    • Direct download link for the media file
  • Best for: Copying media to a storage service like Dropbox or Google Drive.

2. Share Webhook (added February 2025)

  • Triggered every time a guest enters their phone number or email address on the share screen of the iOS app.

    Includes:

    • Contact information entered by guests
    • Event details

Choosing the Right Webhook

Your Goal Recommended Webhook
Save/copy media to another service (e.g., Dropbox) Upload Webhook
Collect guest contact details when Data Collection is ON Either Upload or Share Webhook
Collect guest contact details when Data Collection is OFF Share Webhook

Tip: If you need both media URLs and guest contact details, you may want to enable both webhooks.

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

How to Test

  1. Visit webhook.site and copy your personal webhook URL.
  2. In the Booth.Events dashboard, open the Webhook popup.
  3. Paste your webhook.site URL into the appropriate webhook field.
  4. Launch your event in the iOS app (testing in Preview will not trigger the webhook).
  5. Take a photo or perform the action that should trigger the webhook.
  6. Check your webhook.site page to see the incoming POST request and data.

How to Turn Off a Webhook

  1. Open the Webhook popup in the dashboard.
  2. Delete any URLs from the webhook fields so they are blank.
  3. Click 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