Issue with Website to Salesforce (SF) Webhook Integration for Scheduler

We noticed the following field in the payload for postscheduler.scheduled_event_created from ( /developers.zoom.us/docs/api/scheduler/events/#tag/scheduler/postscheduler.scheduled_event_created ):

JSON"salesforce_ids": { “type”: “array”, “description”: “The tracking of Salesforce IDs.”, “items”: { “type”: “object”, “property”: { “type”: “string”, “description”: “The Salesforce object ID that represents an entity.” } }}

From this example payload on the site:

{

“event”: “scheduler.scheduled_event_created”,

“event_ts”: 1626230691572,

“payload”: {

“account_id”: “AAAAAABBBB”,

“user_id”: “dndhfdjdihd”,

“object”: {

“invitee_email”john.doe Example

“invitee_first_name”: “John”,

“invitee_last_name”: “Doe”,

“manage_url”: /scheduler.zoom.us/manage/m0o1uf25uq89wllenxxxxxxxxxxxx,

“time_zone”: “Asia/Shanghai”,

“questions_and_answers”: [

{

“question”: “Please share anything that will help prepare for our meeting.”,

“position”: 0,

“answer”: [

“First line”,

“Second line”

]

}

],

“scheduled_event”: {

“event_id”: “woft7torlatbw8ek24bmit5k60”,

“attendees”: [

{

“display_name”: “Jane Doe”,

“email”: Email Example

},

{

“display_name”: “David Smith”,

“email”:

}

],

“end_date_time”: “2023-12-21T16:30:00Z”,

“guests”: [

,

guest2@example.com

],

“location_kind”: “zoom”,

“location”: {

“custom_location”: “123 Main St”,

“location_type”: “in-person_meeting”,

“additional_info”: “additional information”

},

“external_location”: {

“kind”: “zoom”,

“meeting_id”: “94777886776”,

“personal_meeting_id”: “98656786887”,

“meeting_passcode”: “958000”,

“meeting_description”: “Invite you to meeting”,

“meeting_join_url”: What API can I use to book a meeting with Zoom Scheduler

},

“start_date_time”: “2023-12-21T16:00:00Z”,

“status”: “confirmed”,

“summary”: “30 minute meeting”,

“updated”: “2023-12-21T06:19:28.309Z”,

“created”: “2023-12-21T06:18:28.309Z”,

“meeting_notes”: “meeting notes”,

“invitee_counters”: {

“total”: 1,

“active”: 1,

“limit”: 3

}

},

“tracking”: {

“utm_source”: “email”,

“utm_medium”: “newsletter”,

“utm_campaign”: “spring_sale”,

“utm_content”: “booking_link”,

“utm_term”: “shopping”,

“salesforce_ids”: [

{

“sf_person”: “0035g00000AbCdEAAZ”

},

{

“sf_relates”: “0015g00000AbCdEAAZ”

}

]

},

“rescheduled”: false,

“created”: “2023-12-21T06:18:28.309Z”,

“text_phone_number”: “+1 83798773”

}

}

}

Could you confirm whether this salesforce_ids field is part of Zoom’s standard webhook payload or if it’s a custom addition implementation? We plan on using the Scheduler for our Affiliated Physicians, which have SF Account IDs that will not match/map up to the Zoom license Account ID, so we are looking at a way to grab or pass their ID in a payload, without needing to create a DB table of IDs somewhere, or a new field in SF to store the Zoom ID.

Note: there is no current plan to use the SF Lightning App from marketplace – we’ll use our Drupal website as the UX delivery on the front-end and APIs or webhooks to transfer data. In short: we need to link our Zoom account/license user IDs back to their SF Account records without adding new SF fields. Can we add a custom fields on our Zoom instance?

Hi @Goomie
Thanks for reaching out to us! I am happy to help here!
Just by looking at our docs, it looks like the salesforce_ids field is part of the standard payload inside the tracking object (information to track invitee source)

https://developers.zoom.us/docs/api/scheduler/events/#tag/scheduler/postscheduler.scheduled_event_created

@elisa.zoom - Thank you for that.

Here is the actual payload we are receiving. I do not see the Tracking object in our payload. Is that a standard object with the Zoom Scheduler product?

{
“account_id”: “9zTRkoVUS8KmI3e79_g6LA”,
“object”: {
“created”: “2026-01-06T20:39:11.772Z”,
“invitee_email”: “test email”
“invitee_first_name”: “Tester”,
“invitee_last_name”: “Payload”,
“manage_url”: “URL TEST”,
“questions_and_answers”: [
{
“answer”: [
“11228”
],
“position”: 0,
“question”: “Zip”
}
],
“rescheduled”: false,
“scheduled_event”: {
“attendees”: [
{
“display_name”: “Test Name”,
“email”: “testnametest”
}
],
“created”: “2026-01-06T20:39:10.793Z”,
“end_date_time”: “2026-01-07T16:30:00Z”,
“event_id”: “0uacuqz3n08et52bgjy0ndmk60”,
“external_location”: {
“kind”: “zoom”,
“meeting_description”: “Test Name is inviting you to a scheduled Zoom meeting.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit.”,
“meeting_id”: “88990138698”,
“meeting_join_url”: “SOMETHING HERE”,
“meeting_passcode”: “322871”,
“personal_meeting_id”: “”
},
“guests”: ,
“invitee_counters”: {
“active”: 1,
“limit”: 1,
“total”: 1
},
“location_kind”: “zoom”,
“meeting_notes”: “”,
“start_date_time”: “2026-01-07T16:00:00.000Z”,
“status”: “confirmed”,
“summary”: “Second Zoom Test”,
“updated”: “2026-01-06T20:39:10.793Z”
},
“text_phone_number”: “”,
“time_zone”: “America/New_York”,
“tracking”:
},
“user_id”: “8nzZHzW4T2WXrCzfJ_WHqA”
}

@elisa.zoom - Bumping this back up as I did not see a response - thanks.

Hey @Goomie
Sorry for the late reply here. Currently looking into this