Overview
You can use a Webhook to send contacts to marketing events in Swivel.
When a contact is added to an event, Swivel automatically marks the contact as Registered. Your provider can also update the contact's attendance status later.
There are two ways to create the event:
Create the event through the Webhook — recommended. You do not need to create the event in Swivel first.
Create the event in Swivel — supported. You must provide the event's Source Key so contacts are added to the correct event.
This article explains how to create events, add contacts to existing events, update attendance status, and send registration details.
Let the Webhook Create the Event
This is the preferred option.
When the first contact is sent to Swivel, the Webhook can create the event and add the contact to it. Swivel automatically marks the contact as Registered.
The Webhook can also provide the new event's:
Start date and time
End date and time
Time zone
Venue
These details are used when the event is created.
After the event is created, the event has a Source Key. Use the Source Key when sending additional contacts to the same event or updating attendance.
📌 Note: Every event has a Source Key. Swivel creates the Source Key automatically when the event is created.
Create the Event in Swivel
You can also create the event yourself in Swivel before contacts are sent through the Webhook.
If you create the event in Swivel, give your lead provider the event's Source Key. The Source Key tells the Webhook which existing event to use.
To find and copy the Source Key:
Open the event in Swivel.
Under Campaign, find Source Key.
Click the Source Key to copy it.
Give the Source Key to your lead provider.
When your provider sends a contact with the Source Key, Swivel adds the contact to that existing event.
🚧 Important: If you create the event in Swivel, make sure your provider uses the correct Source Key. If the existing event is not identified, Swivel may create a new event instead. This can result in duplicate events.
Update Attendance Status
Contacts added to an event through a Webhook are automatically marked Registered.
As a contact's attendance changes, your lead provider can send an updated attendance status.
Swivel supports these attendance statuses:
Pending
Attended
Canceled
No Show
Rescheduled
Waitlisted
To update a contact's attendance status, your provider must send:
The event's Source Key
The new Attendance Status
If the Source Key is not provided, Swivel ignores the attendance status, but still applies the other contact updates.
Provider Attendance Values
Some providers use different terms for attendance statuses. Swivel maps these provider values to the corresponding Swivel status:
Provider Value | Swivel Attendance Status |
Reserved | Pending |
Cancelled | Canceled |
Checked In | Attended |
Values are not case-sensitive. Unrecognized values are ignored.
Add Event Details
When a Webhook submission creates a new event, your provider can also send:
Event start date and time
Event end date and time
Event time zone
Event venue
These details are used only when the submission creates a new event. They do not change an existing event.
Add Registration Details
Your provider can also send details about each contact's registration:
Party size
Guest names
Registrant meal
Guest meal
Swivel saves these on the contact's registration for the event. They follow the same rules as attendance status:
Send them with an Event Name or the event's Source Key so Swivel knows which event they belong to.
To change them for an existing contact, your provider must send the event's Source Key. If the Source Key is not provided, Swivel ignores the registration details, but still applies the other contact updates.
A blank value leaves the saved value in place, so your provider can send only the details that changed.
Send guest names as one line of text, for example Jane Doe, Sam Doe.
🚧 Important: Party size must be a whole number of 0 or more, such as 2. Text such as "2 adults" is not accepted.
When a new contact is created with an invalid party size, Swivel skips the party size and still saves the contact and its other registration details.
When an update sends an invalid party size with the event's Source Key, Swivel rejects the whole update and nothing changes.
Webhook Setup
If you are setting up a Webhook to send event or attendance information to Swivel, use the following fields.
Field | Webhook Field | Description |
Marketing Event Source Key | marketing_event_source_key | Identifies the event. Recommended on every submission and required to update a contact’s attendance status or registration details later. |
Attendance Status | attendance_status | The contact’s registration or attendance status. |
Event Start | event_start_on | The date and time the event starts. Used only when creating a new event. |
Event End | event_end_on | The date and time the event ends. Used only when creating a new event. |
Event Time Zone | event_time_zone | The time zone for the event. Used only when creating a new event. |
Event Venue | event_venue | The venue for the event. Used only when creating a new event. |
Party Size | party_size | How many people the registration is for. A whole number of 0 or more. |
Guest Names | guest_names | The names of the guests coming with the contact, as one line of text. |
Registrant Meal | registrant_meal | The contact’s meal choice. |
Guest Meal | guest_meal | The guests’ meal choice. |
Attendance Status Values
The attendance_status field accepts these Swivel statuses:
pending
attended
canceled
no_show
rescheduled
waitlisted
It also accepts these provider values:
Reserved — saved as Pending
Cancelled — saved as Canceled
Checked In — saved as Attended
Values are not case-sensitive. Unrecognized values are ignored.
Event Start and End
Use this format for the event start and end:
Date and time: YYYY-MM-DD HH:MM
Example: 2026-10-03 18:00
Use 24-hour time.
For an all-day event, send only YYYY-MM-DD.
The event end time must be after the event start time.
Event Time Zone
Use an IANA time zone name.
Example: America/Chicago
If no time zone is provided, Swivel uses your account’s time zone.
Event Venue
Enter the venue name.
If the venue matches an existing vendor, Swivel uses that vendor. Otherwise, Swivel creates the venue under the Unspecified vendor type.
