Skip to main content

Send event data to other tools with webhooks

C
Written by Customer Success

A webhook makes Brella send a request to a URL you choose each time a registrant or a sponsor in your event is created, updated or deleted. Use it to pass changes to Zapier, a CRM or your own system as they happen.

Before you start

  • You need to be an organization admin of the organization that owns the event.

  • Brella turns on webhooks for each event. If Webhooks is missing under Integrations in the event sidebar, ask your Brella contact to turn it on.

  • You need a URL that starts with https:// and is reachable from the internet, for example a URL from Webhooks by Zapier.

Where to find it

  • Integrations > Webhooks in the admin panel: create and manage webhooks.

  • Integrations > Webhooks logs: see each request Brella sent.

How webhooks work

  • Each webhook watches one resource and one action in one event. To watch several combinations, create one webhook for each.

  • After the change is saved, Brella sends a POST request with a JSON body to the Webhook URL.

  • Updated is sent only when a value in the record changed.

  • A request succeeds when your URL answers with a 2xx status code. Otherwise Brella retries.

Resources and actions

  • Registrants: Created when a registrant is added: an invite you add or import, or someone who joins with the event join code or a registration link. Updated when a registrant's details change, including when an invited person joins. Deleted when a registrant is removed.

  • Sponsor: Created, Updated or Deleted when a sponsor is added, changed or removed.

For invites and attendees, choose Registrants. The status field in the data tells them apart: invited or joined.

Create a webhook

  1. Open Integrations > Webhooks.

  2. Select Create new. If the event has no webhooks yet, you can also select Create new webhook.

  3. Enter a Name of up to 50 characters.

  4. Enter the Webhook URL.

  5. Optional: turn on Expand response data to add related records to each request. See "What Brella sends".

  6. Under Triggers, choose a resource in Select resource and an action in Select action.

  7. Leave Activate webhook on.

  8. Select Create webhook.

New webhook page with Name, Webhook URL, Expand response data, Triggers (Select resource, Select action) and Activate webhook

Brella checks the URL when you save. It refuses a URL that doesn't start with https://, isn't a valid web address, or doesn't lead to a public internet address.

Change, pause or delete a webhook

  • To change a webhook, select it in the list, edit the fields and select Save changes.

  • To pause or resume a webhook, use the switch next to its name.

  • To delete a webhook, select it, select Delete, then Delete again to confirm. Its log entries are deleted with it.

What Brella sends

Brella sends JSON in JSON:API format. Field names use dashes, for example external-email. Each request has a meta block that describes the webhook under data.attributes, including its name, trigger-item, trigger-action and request-url.

For Created and Updated, data holds the record:

  • Registrants: type invite, the registrant ID, external-first-name, external-last-name, external-email, external-company, external-title, external-id, fill-token (the personal join code), emails-reminders-count and status. Relationships include the IDs of the ticket type list and the seats.

  • Sponsor: name, subtitle, content, industry, website, twitter, linkedin, facebook, instagram, logo-url, cover-image-url, order, position and active. A relationship gives the ID of the sponsor's category.

For Deleted, data holds only the record type and ID, for example type event-registrant or sponsors-sponsor.

With Expand response data, Brella adds the related records under included:

  • Registrants: the ticket type list and seats. Brella does not add them for registrants who have joined.

  • Sponsor: the sponsor category.

Check deliveries in Webhooks logs

  1. Open Integrations > Webhooks logs, or select View logs on a webhook.

  2. Choose the webhook in the menu at the top of the page.

  3. Under All instances, select a request. The newest is first.

  4. Read the JSON under Payload preview. Select the copy button to copy it.

Each request shows one of these statuses:

  • Success: your URL answered with a 2xx status code.

  • Errored: your URL answered with another status code. If a later attempt succeeds, the status changes to Success.

  • Pending: Brella hasn't received an answer from your URL.

The log shows what Brella sent, not what your URL answered. Times are in the event's time zone.

Test a webhook

The admin panel has no test button. Make a real change instead.

  1. Create the webhook with a URL you can watch, for example a Webhooks by Zapier URL.

  2. Make a change that matches the resource and action. For Registrants and Updated, open a test registrant in People > Registrants, change the Title on Registration details and select Save Changes.

  3. Open Integrations > Webhooks logs and check the status and the payload.

Give your developer a receiving-system brief

Tell your developer the event, resource and action to watch. For example: “When a registrant joins, update their record in our CRM.”

Use Registrants > Updated for that example and have the developer check for status: joined. Share a redacted sample from Webhooks logs so they can map the fields.

The receiving system should handle repeated deliveries without adding duplicate CRM records. Use the Brella record ID to identify the same record.

Security

  • Anyone who knows the webhook URL can send requests to it. Use a long URL that is hard to guess, and share it like a password.

  • Requests carry the user agent Mozilla/5.0 (compatible; BrellaWebhooks; +https://brella.io).

  • Brella sends requests only to public https:// addresses. If the URL's address points to a private or internal network when Brella sends, Brella turns the webhook off and sends nothing.

  • Registrant data contains names, email addresses and personal join codes. Send it only to systems you trust.

What attendees see

Nothing. Webhooks run in the background and don't change the app.

Limits

  • Webhooks belong to one event. Other events in the organization need their own.

  • Webhooks created in the admin panel use POST.

  • The admin panel can't create webhooks for speakers. Developers can create speaker webhooks, and webhooks that use GET, through the Integration API. A GET request carries no data.

  • After retries are exhausted, Brella does not resend the failed request.

  • When you duplicate an event with Webhooks selected, the copies are turned off. Check their URLs and turn them on in the new event.

Troubleshooting

Nothing arrives
The webhook is paused, or the change doesn't match its resource and action. Check the switch next to its name and the request list in Webhooks logs. For invites and attendees, use Registrants.

The webhook turned itself off
Its URL pointed to a private network address when Brella tried to send. Fix the URL and turn the webhook on.

Requests show Errored
Your URL didn't answer with a 2xx status code. Fix the receiving system. Brella doesn't resend the failed requests.

The webhook can't be saved
The URL doesn't start with https://, isn't a valid web address, or doesn't lead to a public internet address. Copy the URL again from the receiving system.

Webhooks is missing from the event sidebar
Webhooks are off for the event. Ask your Brella contact to turn them on.

Related articles

Did this answer your question?