Skip to main content

Webhooks

All you need to know on how to send data to any tool via iClosed webhook triggers

Updated over a month ago

While we're constantly working on adding more direct integrations with the tools you're using, until we roll them out, iClosed webhooks are here to bridge the gaps.

For example, If you'd like to update your CRM, like Airtable, Salesforce, GoHighLevel or to create automations via even N8N, simply send iClosed data via webhooks to make it happen.

Webhooks are currently available in beta and can be turned on for accounts on Business and Enterprise subscription plans.

Feel free to reach out to our team via in-app chat to request access.


How to access iClosed webhooks

  1. Reach out to our Customer Support via:

    1. in-app chat or

    2. email (hello@iclosed.io) or

    3. Slack (if you have Slack channel created with iClosed team)

  2. Once the team confirms that the webhooks are turned on for your account, navigate to Settings → Developer page.

  3. Choose a webhook:

    1. paste endpoint URL (e.g. N8N webhook link)

    2. Select trigger on iClosed

  4. Save once you're done

Important note

Webhooks are accessible to users with Super Admin permissions.


Triggers available

Webhook triggers are used for starting a workflow with iClosed, so you could forward data to any other tool.

We have made all necessary triggers to give you full flexibility over information and data you would like to transfer from iClosed to CRM or any database database directly or to send it to N8N, Zapier or Make.


Contact created

Trigger for capturing data when the contact is created or updated after interacting with the scheduler. We offer two webhooks for sending the data:

  1. Contact created
    that will fire immediately every time per lead journey on the form

    1. Potential 1 = Lead entered primary contact information on the form (phone number/email)

    2. Potential 2 = Lead entered name and secondary contact information on the form (email/phone number

    3. Qualified = when a lead filled out the whole form and pressed continue button and can book a call

    4. Disqualified = when a lead filled out the whole form and pressed continue button and can't book a call as per disqualification criteria set in event

    5. Call booked = when a lead booked a call as per event type (Strategy or Discovery call)

  2. Contact by status
    One trigger for capturing a selected status, with a built in delay in the trigger, and option to send data immediately if the desired status is met.

    1. Choose final status that you'd like to fetch with webhook

    2. Send last known status if a lead dropped off before final status selected

    3. Time to send - a delay mechanism until iClosed will wait to send data (best practice is to give time to lead to go through the form depending of the form length to ensure you get the latest status)

Pro tips

If you'd like to capture leads as per their latest status on the scheduler journey, feel free to use following setup:

  • Select final status - Call booked (Strategy or Discovery)

  • Turn the toggle ON for Send last active status to override the delay trigger in case a lead drops off before booking a call

  • Wait for minimum 300 to 600 seconds (or 5-10 minutes) to give time for a lead to answer all questions and book a call with you

This way, you will easily capture lead as per their latest status and send it to your CRM or any other tool.

Data available

Contact data

  • id = of the contact

  • userId = host ID (if call is booked)

  • accountId = ID of iClosed account

  • firstName = of the contact

  • lastName = of the contact

  • email = of the contact

  • phoneNumber = of the contact

  • secondary_email = of the contact (if any)

  • secondary_phoneNumber = of the contact (if any)

  • status = iClosed lead status

    • Potential

    • Qualified

    • Disqualified

    • Strategy call booked

    • Discovery call booked

  • createdAt = UTC time of the contact created date and time

    • example = "2025-05-09T15:28:40.783Z"

  • previewId = contact ID from contact card URL

    • example = contact_-d9DGyd9xHK_

  • timeZone = of the contact

  • joinedTime = same as createdAt, UTC time of the contact joined date and time

    • example = "2025-05-09T15:28:40.783Z"

  • country = of the contact as per phone country code

  • ipAddress = of the contact

  • updatedAt = UTC time of the contact updated date and time

    • example = "2025-05-09T15:28:41.385Z"

  • updatedAttributes = what was updated about the contact

    • example = status

  • questionsAndAnswers" = in two formats:

  • Sorted by the order of appearance on the form → Question then Answer

    • Example:

"1_question": "Phone Number",

"1_response": "+1234567890",

"2_question": "Email Address",

"2_response": "zogiji@example.com",

"3_question": "Full Name",

"3_response": "Raya Fleming",

"4_question": "Additional Information Question 1",

"4_response": "Additional Information Response 1",

"5_question": "Additional Information Question 2",

"5_response": "Additional Information Response 2",

"6_question": "Additional Information Question 3",

"6_response": "Additional Information Response 3",

"7_question": "Additional Information Question 4",

"7_response": "Additional Information Response 4"

  • Questions as labels with answers as payload

    • Example:

"Phone Number": "+1234567890",

"Email Address": "zogiji@example.com",

"Full Name": "Raya Fleming",

"Additional Information Question 1": "Additional Information Response 1",

"Additional Information Question 2": "Additional Information Response 2",

"Additional Information Question 3": "Additional Information Response 3",

"Additional Information Question 4": "Additional Information Response 4"

Event data

  • id = of the event

  • name = of the event

  • linkPrefix = company name and link naming from the event URL

  • color = of the event tag in HEX code "#0099FF"

  • eventType = Strategy or Discovery event

Tracking data

  • first_utm_term = UTM term captured from cookie (if any)

  • first_utm_source = UTM source captured from cookie (if any)

  • first_utm_medium = UTM medium captured from cookie (if any)

  • first_utm_content = UTM content captured from cookie (if any)

  • first_utm_campaign = UTM campaign captured from cookie (if any)

  • utm_term = latest UTM term captured in URL

  • utm_source = latest UTM source captured in URL

  • utm_medium = latest UTM medium captured in URL

  • utm_content = latest UTM content captured in URL

  • utm_campaign = latest UTM campaign captured in URL

  • any other custom UTM picked up from URL

    • example = "fbc"

  • utmKey_# and utmValue_# = different type of the same data as explained above, just sorted in order of appearance in URL and different format "key" and "value"

Internal configuration of the event data

  • question_answers

  • Referrer_Url_Embed = complete event URL

    • example = "https://app.iclosed.io/app/companyname/eventname"

  • previewUrl = complete contact card URL

    • example = "https://app.iclosed.io/app/global-data/contacts?preview=contact_-d9DGyd9xHK_",

  • hookType = Trigger type

    • example = Contact by status

Latest call data

  • id = call ID

  • dateTime = UTC latest call booked date and time

    • example = "2025-05-13T10:15:00.000Z",

  • timeZone = of the contact

  • duration = of the latest call

  • durationUnit set in event = "HOUR" or "MINUTES"

  • id = of the user/host

  • firstName = of the user/host

  • lastName = of the user/host

  • email = of the user/host

  • phoneNumber = of the user/host

Disqualification group - criteria if a lead has been disqualified

  • statement = question on the form

    • example = "Additional Information Question 1"

  • operator = additional condition (if any)

  • value = answer on disqualification condition

    • example = "Additional Information Response 1"

  • condition = disqualification condition "IS"

  • disqualificationGroupId = ID of the disqualification criteria group


Contact updated

Triggers whenever a contact is updated, no matter if the update happened on the scheduler form (e.g. status update) or in Global Data contact card.

Data available

Contact data

  • id = of the contact

  • userId = host ID (if call is booked)

  • accountId = ID of iClosed account

  • firstName = of the contact

  • lastName = of the contact

  • email = of the contact

  • phoneNumber = of the contact

  • secondary_email = of the contact (if any)

  • secondary_phoneNumber = of the contact (if any)

  • status = iClosed lead status

    • Potential

    • Qualified

    • Disqualified

    • Strategy call booked

    • Discovery call booked

  • createdAt = UTC time of the contact created date and time

    • example = "2025-05-09T15:28:40.783Z"

  • previewId = contact ID from contact card URL

    • example = contact_-d9DGyd9xHK_

  • timeZone = of the contact

  • joinedTime = same as createdAt, UTC time of the contact joined date and time

    • example = "2025-05-09T15:28:40.783Z"

  • country = of the contact as per phone country code

  • ipAddress = of the contact

  • updatedAt = UTC time of the contact updated date and time

    • example = "2025-05-09T15:28:41.385Z"

  • updatedAttributes = what was updated about the contact

    • example = status

  • questionsAndAnswers" = in two formats:

  • Sorted by the order of appearance on the form → Question then Answer

    • Example:

"1_question": "Phone Number",

"1_response": "+1234567890",

"2_question": "Email Address",

"2_response": "zogiji@example.com",

"3_question": "Full Name",

"3_response": "Raya Fleming",

"4_question": "Additional Information Question 1",

"4_response": "Additional Information Response 1",

"5_question": "Additional Information Question 2",

"5_response": "Additional Information Response 2",

"6_question": "Additional Information Question 3",

"6_response": "Additional Information Response 3",

"7_question": "Additional Information Question 4",

"7_response": "Additional Information Response 4"

  • Questions as labels with answers as payload

    • Example:

"Phone Number": "+1234567890",

"Email Address": "zogiji@example.com",

"Full Name": "Raya Fleming",

"Additional Information Question 1": "Additional Information Response 1",

"Additional Information Question 2": "Additional Information Response 2",

"Additional Information Question 3": "Additional Information Response 3",

"Additional Information Question 4": "Additional Information Response 4"

Event data

  • id = of the event

  • name = of the event

  • linkPrefix = company name and link naming from the event URL

  • color = of the event tag in HEX code "#0099FF"

  • eventType = Strategy or Discovery event

Tracking data

  • first_utm_term = UTM term captured from cookie (if any)

  • first_utm_source = UTM source captured from cookie (if any)

  • first_utm_medium = UTM medium captured from cookie (if any)

  • first_utm_content = UTM content captured from cookie (if any)

  • first_utm_campaign = UTM campaign captured from cookie (if any)

  • utm_term = latest UTM term captured in URL

  • utm_source = latest UTM source captured in URL

  • utm_medium = latest UTM medium captured in URL

  • utm_content = latest UTM content captured in URL

  • utm_campaign = latest UTM campaign captured in URL

  • any other custom UTM picked up from URL

    • example = "fbc"

  • utmKey_# and utmValue_# = different type of the same data as explained above, just sorted in order of appearance in URL and different format "key" and "value"

Internal configuration of the event data

  • question_answers

  • Referrer_Url_Embed = complete event URL

    • example = "https://app.iclosed.io/app/companyname/eventname"

  • previewUrl = complete contact card URL

    • example = "https://app.iclosed.io/app/global-data/contacts?preview=contact_-d9DGyd9xHK_",

  • hookType = Trigger type

    • example = Contact updated

Latest call data

  • id = call ID (if any call is booked)

  • dateTime = UTC latest call booked date and time

    • example = "2025-05-13T10:15:00.000Z",

  • timeZone = of the contact

  • duration = of the latest call

  • durationUnit set in event = "HOUR" or "MINUTES"

  • id = of the user/host

  • firstName = of the user/host

  • lastName = of the user/host

  • email = of the user/host

  • phoneNumber = of the user/host

Disqualification group - criteria if a lead has been disqualified

  • statement = question on the form

    • example = "Additional Information Question 1"

  • operator = additional condition (if any)

  • value = answer on disqualification condition

    • example = "Additional Information Response 1"

  • condition = disqualification condition "IS"

  • disqualificationGroupId = ID of the disqualification criteria group


Call booked

Triggers whenever a new call is booked, no matter if the call was booked from scheduler or from inside of iClosed (e.g. Global Data or Approved outcome or No sale - follow up scheduled)

Pro tips

Call booked trigger wont fire when a call is rescheduled. This is a different trigger, as explained below.

Data available

Event type data

  • uuid = Event ID

  • kind = is the call booked through "Round Robin" or "Single Host"

  • slug = Event name set in the URL of the event

  • name = Event name

  • duration = meeting duration

  • durationUnit = in "MINUTES" or "HOURS"

  • type = event type, Strategy or Discovery

  • owner type = "closer"

Event data

  • uuid = Call ID

  • assigned_to = user/host name

  • name = user/host name

  • email = user/host email

  • primary = "true"

  • utc_start_time = call start time in UTC time zone

    • example = "2023-02-15T16:00:00+01:00"

  • utc_end_time = call end time in UTC time zone

    • example = "2023-02-15T16:00:00+01:00"

  • start_time = call start time per host time zone set in availability

    • example = 2023-02-15T18:00:00+01:00

  • end_time = call end time per host time zone set in availability

    • example = "2023-02-15T18:30:00+01:00"

  • start_time_pretty = call start time per host time zone set in availability in textual format

    • example = "06:00pm - Wednesday, February 15, 2023"

  • end_time_pretty = call end time per host time zone set in availability in textual format

    • example = "06:30pm - Wednesday, February 15, 2023"

  • invitee_start_time = call start time per invitee time zone from the scheduler

    • example = "2023-02-15T18:00:00+01:00"

  • invitee_end_time = call end time per invitee time zone from the scheduler

    • example = "06:30pm - Wednesday, February 15, 2023"

  • invitee_start_time_pretty = call start time per invitee time zone set in availability in textual format

    • example = "06:00pm - Wednesday, February 15, 2023"

  • invitee_end_time_pretty = call end time per invitee time zone set in availability in textual format

    • example = "06:30pm - Wednesday, February 15, 2023"

  • created_at = UTC time when the call was created

    • example = "2023-02-14T22:11:30+01:00"

  • type = Strategy or Discovery call

  • location = meeting location (phone, Zoom, Google Meet)

  • canceled = was the call cancelled true or false

  • canceler_name = who cancelled the call if any (null if no one cancelled)

  • cancel_reason = reason added when call was cancelled if any

  • canceled_at = date and time when the call was cancelled

  • rescheduleLink = unique link from where a call can be rescheduled

  • cancelLink = unique link from where a call can be cancelled

Setter data

  • id = ID of the user who was assigned as setter (if any)

  • firstName = first name of the setter owner from iClosed (if any)

  • lastName = last name of the setter owner from iClosed (if any)

  • email = email of the user in iClosed/setter owner (if any)

Invitee data

  • previewUrl = complete contact card URL

    • example = "https://app.iclosed.io/app/global-data/contacts?preview=contact_-d9DGyd9xHK_"

  • uuid = ID of the contact

    • example = "ececc9a9-8837-4a4a-b720-e160319e0730"

  • firstName = of the contact

  • lastName = of the contact

  • email = of the contact

  • text_reminder_number = of the contact

  • timezone = of the contact

  • created_at = date and time when the contact was created

    • example = "2023-02-14T22:11:30+01:00"

  • canceled = False

  • canceler_name = null by default

  • cancel_reason = null by default

  • canceled_at = null by default

Questions and answers = in two formats:

  • Sorted by the order of appearance on the form → Question then Answer

    • Example:

"1_question": "Phone Number",

"1_response": "+1234567890",

"2_question": "Email Address",

"2_response": "zogiji@example.com",

"3_question": "Full Name",

"3_response": "Raya Fleming",

"4_question": "Additional Information Question 1",

"4_response": "Additional Information Response 1",

"5_question": "Additional Information Question 2",

"5_response": "Additional Information Response 2",

"6_question": "Additional Information Question 3",

"6_response": "Additional Information Response 3",

"7_question": "Additional Information Question 4",

"7_response": "Additional Information Response 4"

  • Questions as labels with answers as payload

    • Example:

"Phone Number": "+1234567890",

"Email Address": "zogiji@example.com",

"Full Name": "Raya Fleming",

"Additional Information Question 1": "Additional Information Response 1",

"Additional Information Question 2": "Additional Information Response 2",

"Additional Information Question 3": "Additional Information Response 3",

"Additional Information Question 4": "Additional Information Response 4"

Tracking data

  • first_utm_term = UTM term captured from cookie (if any)

  • first_utm_source = UTM source captured from cookie (if any)

  • first_utm_medium = UTM medium captured from cookie (if any)

  • first_utm_content = UTM content captured from cookie (if any)

  • first_utm_campaign = UTM campaign captured from cookie (if any)

  • utm_term = latest UTM term captured in URL

  • utm_source = latest UTM source captured in URL

  • utm_medium = latest UTM medium captured in URL

  • utm_content = latest UTM content captured in URL

  • utm_campaign = latest UTM campaign captured in URL

  • any other custom UTM picked up from URL

    • example = "fbc"

  • utmKey_# and utmValue_# = different type of the same data as explained above, just sorted in order of appearance in URL and different format "key" and "value"

Internal configuration of the event data

  • call_booked_from = from where the call was booked from

    • example = AI_SCHEDULER_BOOKING_MODAL or GLOBAL DATA or PUBLIC SCHEDULER

  • hookType = Trigger type

    • example = Call booked


Call cancelled

Triggers whenever a call is cancelled, no matter if it was cancelled by a host, any user in iClosed or by an invitee.

Data available

Event type data

  • uuid = Event ID

  • kind = is the call booked through "Round Robin" or "Single Host"

  • slug = Event name set in the URL of the event

  • name = Event name

  • duration = meeting duration

  • durationUnit = in "MINUTES" or "HOURS"

  • type = event type, Strategy or Discovery

  • owner type = "closer"

Event data

  • uuid = Call ID

  • assigned_to = user/host name

  • name = user/host name

  • email = user/host email

  • primary = "true"

  • utc_start_time = call start time in UTC time zone

    • example = "2023-02-15T16:00:00+01:00"

  • utc_end_time = call end time in UTC time zone

    • example = "2023-02-15T16:00:00+01:00"

  • start_time = call start time per host time zone set in availability

    • example = 2023-02-15T18:00:00+01:00

  • end_time = call end time per host time zone set in availability

    • example = "2023-02-15T18:30:00+01:00"

  • start_time_pretty = call start time per host time zone set in availability in textual format

    • example = "06:00pm - Wednesday, February 15, 2023"

  • end_time_pretty = call end time per host time zone set in availability in textual format

    • example = "06:30pm - Wednesday, February 15, 2023"

  • invitee_start_time = call start time per invitee time zone from the scheduler

    • example = "2023-02-15T18:00:00+01:00"

  • invitee_end_time = call end time per invitee time zone from the scheduler

    • example = "06:30pm - Wednesday, February 15, 2023"

  • invitee_start_time_pretty = call start time per invitee time zone set in availability in textual format

    • example = "06:00pm - Wednesday, February 15, 2023"

  • invitee_end_time_pretty = call end time per invitee time zone set in availability in textual format

    • example = "06:30pm - Wednesday, February 15, 2023"

  • created_at = UTC time when the call was created

    • example = "2023-02-14T22:11:30+01:00"

  • type = Strategy or Discovery call

  • location = meeting location (phone, Zoom, Google Meet)

  • canceled = was the call cancelled true or false

  • canceler_name = who cancelled the call if any (null if no one cancelled)

  • cancel_reason = reason added when call was cancelled if any

  • canceled_at = date and time when the call was cancelled

Setter data

  • id = ID of the user who was assigned as setter (if any)

  • firstName = first name of the setter owner from iClosed (if any)

  • lastName = last name of the setter owner from iClosed (if any)

  • email = email of the user in iClosed/setter owner (if any)

Invitee data

  • previewUrl = complete contact card URL

    • example = "https://app.iclosed.io/app/global-data/contacts?preview=contact_-d9DGyd9xHK_"

  • uuid = ID of the contact

    • example = "ececc9a9-8837-4a4a-b720-e160319e0730"

  • firstName = of the contact

  • lastName = of the contact

  • email = of the contact

  • text_reminder_number = of the contact

  • timezone = of the contact

  • created_at = date and time when the contact was created

    • example = "2023-02-14T22:11:30+01:00"

  • canceled = did contact cancel the call (true or false)

  • canceler_name = who cancelled the call if any (null if no one cancelled)

  • cancel_reason = reason added when call was cancelled if any

  • canceled_at = date and time when the call was cancelled

Questions and answers = in two formats:

  • Sorted by the order of appearance on the form → Question then Answer

    • Example:

"1_question": "Phone Number",

"1_response": "+1234567890",

"2_question": "Email Address",

"2_response": "zogiji@example.com",

"3_question": "Full Name",

"3_response": "Raya Fleming",

"4_question": "Additional Information Question 1",

"4_response": "Additional Information Response 1",

"5_question": "Additional Information Question 2",

"5_response": "Additional Information Response 2",

"6_question": "Additional Information Question 3",

"6_response": "Additional Information Response 3",

"7_question": "Additional Information Question 4",

"7_response": "Additional Information Response 4"

  • Questions as labels with answers as payload

    • Example:

"Phone Number": "+1234567890",

"Email Address": "zogiji@example.com",

"Full Name": "Raya Fleming",

"Additional Information Question 1": "Additional Information Response 1",

"Additional Information Question 2": "Additional Information Response 2",

"Additional Information Question 3": "Additional Information Response 3",

"Additional Information Question 4": "Additional Information Response 4"

Tracking data

  • first_utm_term = UTM term captured from cookie (if any)

  • first_utm_source = UTM source captured from cookie (if any)

  • first_utm_medium = UTM medium captured from cookie (if any)

  • first_utm_content = UTM content captured from cookie (if any)

  • first_utm_campaign = UTM campaign captured from cookie (if any)

  • utm_term = latest UTM term captured in URL

  • utm_source = latest UTM source captured in URL

  • utm_medium = latest UTM medium captured in URL

  • utm_content = latest UTM content captured in URL

  • utm_campaign = latest UTM campaign captured in URL

  • any other custom UTM picked up from URL

    • example = "fbc"

  • utmKey_# and utmValue_# = different type of the same data as explained above, just sorted in order of appearance in URL and different format "key" and "value"

Internal configuration of the event data

  • hookType = Trigger type

    • example = Call cancelled

Pro tips

Call can be cancelled by invitee from iClosed cancellation link that will be added to Confirmation email and Google Calendar event, but also by responding with NO in Confirmation email or Google Calendar or by deleting event from Google Calendar.


Call rescheduled

Triggers whenever a call is rescheduled by an invitee or host/iClosed user.

Data available

Event type data

  • uuid = Event ID

  • kind = is the call booked through "Round Robin" or "Single Host"

  • slug = Event name set in the URL of the event

  • name = Event name

  • duration = meeting duration

  • durationUnit = in "MINUTES" or "HOURS"

  • type = event type, Strategy or Discovery

  • owner type = "closer"

Event data

  • uuid = Call ID

  • assigned_to = user/host name

  • name = user/host name

  • email = user/host email

  • primary = "true"

  • utc_start_time = call start time in UTC time zone

    • example = "2023-02-15T16:00:00+01:00"

  • utc_end_time = call end time in UTC time zone

    • example = "2023-02-15T16:00:00+01:00"

  • start_time = call start time per host time zone set in availability

    • example = 2023-02-15T18:00:00+01:00

  • end_time = call end time per host time zone set in availability

    • example = "2023-02-15T18:30:00+01:00"

  • start_time_pretty = call start time per host time zone set in availability in textual format

    • example = "06:00pm - Wednesday, February 15, 2023"

  • end_time_pretty = call end time per host time zone set in availability in textual format

    • example = "06:30pm - Wednesday, February 15, 2023"

  • invitee_start_time = call start time per invitee time zone from the scheduler

    • example = "2023-02-15T18:00:00+01:00"

  • invitee_end_time = call end time per invitee time zone from the scheduler

    • example = "06:30pm - Wednesday, February 15, 2023"

  • invitee_start_time_pretty = call start time per invitee time zone set in availability in textual format

    • example = "06:00pm - Wednesday, February 15, 2023"

  • invitee_end_time_pretty = call end time per invitee time zone set in availability in textual format

    • example = "06:30pm - Wednesday, February 15, 2023"

  • created_at = UTC time when the call was created

    • example = "2023-02-14T22:11:30+01:00"

  • type = Strategy or Discovery call

  • location = meeting location (phone, Zoom, Google Meet)

  • old_start_time = original call date and time in UTC time zone

    • example = "2023-02-15T12:00:00+01:00"

  • canceled = False

  • canceler_name = null by default

  • cancel_reason = null by default

  • canceled_at = null by default

  • rescheduleLink = unique link from where a call can be rescheduled

  • cancelLink = unique link from where a call can be cancelled

Setter data

  • id = ID of the user who was assigned as setter (if any)

  • firstName = first name of the setter owner from iClosed (if any)

  • lastName = last name of the setter owner from iClosed (if any)

  • email = email of the user in iClosed/setter owner (if any)

Invitee data

  • previewUrl = complete contact card URL

    • example = "https://app.iclosed.io/app/global-data/contacts?preview=contact_-d9DGyd9xHK_"

  • uuid = ID of the contact

    • example = "ececc9a9-8837-4a4a-b720-e160319e0730"

  • firstName = of the contact

  • lastName = of the contact

  • email = of the contact

  • text_reminder_number = of the contact

  • timezone = of the contact

  • created_at = date and time when the contact was created

    • example = "2023-02-14T22:11:30+01:00"

  • is_reschedule = true

  • reschedule_reason = null unless reason is added in rescheduling note box by contact or iClosed user

  • canceled = false

  • canceler_name = "null" by default

  • cancel_reason = "null" by default

  • canceled_at = "null" by default

Questions and answers = in two formats:

  • Sorted by the order of appearance on the form → Question then Answer

    • Example:

"1_question": "Phone Number",

"1_response": "+1234567890",

"2_question": "Email Address",

"2_response": "zogiji@example.com",

"3_question": "Full Name",

"3_response": "Raya Fleming",

"4_question": "Additional Information Question 1",

"4_response": "Additional Information Response 1",

"5_question": "Additional Information Question 2",

"5_response": "Additional Information Response 2",

"6_question": "Additional Information Question 3",

"6_response": "Additional Information Response 3",

"7_question": "Additional Information Question 4",

"7_response": "Additional Information Response 4"

  • Questions as labels with answers as payload

    • Example:

"Phone Number": "+1234567890",

"Email Address": "zogiji@example.com",

"Full Name": "Raya Fleming",

"Additional Information Question 1": "Additional Information Response 1",

"Additional Information Question 2": "Additional Information Response 2",

"Additional Information Question 3": "Additional Information Response 3",

"Additional Information Question 4": "Additional Information Response 4"

Tracking data

  • first_utm_term = UTM term captured from cookie (if any)

  • first_utm_source = UTM source captured from cookie (if any)

  • first_utm_medium = UTM medium captured from cookie (if any)

  • first_utm_content = UTM content captured from cookie (if any)

  • first_utm_campaign = UTM campaign captured from cookie (if any)

  • utm_term = latest UTM term captured in URL

  • utm_source = latest UTM source captured in URL

  • utm_medium = latest UTM medium captured in URL

  • utm_content = latest UTM content captured in URL

  • utm_campaign = latest UTM campaign captured in URL

  • any other custom UTM picked up from URL

    • example = "fbc"

  • utmKey_# and utmValue_# = different type of the same data as explained above, just sorted in order of appearance in URL and different format "key" and "value"

Internal configuration of the event data

  • call_booked_from = from where the call has been rescheduled

    • example = AI_SCHEDULER_RESCHEDULING_MODAL

  • hookType = Trigger type

    • example = "Call rescheduled"

Pro tips

Call can be rescheduled by contact from the rescheduling link sent in the Confirmation email/added to Google Calendar event or by an iClosed user/host from inside of iClosed.


Call outcome added

Triggers whenever a call outcome is added, no matter if it's a Strategy call outcome (Sale/No Sale) or Discovery call outcome (Approved/Rejected).

Data available

  • uuid = ID of the outcome

  • userId = ID of the user who added outcome

  • eventName = Event name

  • eventId = ID of the event

  • eventDuration = meeting duration

  • eventDurationUnit = in Hours or Minutes

  • email = of the contact

  • contactId = ID of the contact

  • firstName = of the contact

  • lastName = of the contact

  • phoneNumber = of the contact

  • closerEmail = email of the user/host of the call

  • callOutcome = outcome added to the call

    • example = "SALE" or "NO_SALE" for Strategy call

    • example = "APPROVED" or "REJECTED" for Discovery call

  • noSaleReason = if No Sale or Rejected outcome is added. For Sale and approved it will show "null"

    • example = No Sale reasons

      • "FOLLOW_UP_SCHEDULE"

      • "NO_SHOW"

      • "UNQUALIFIED"

      • "NOT_INTERESTED"

      • "ADMIN_CANCELLED"

      • "CONTACT_CANCELLED"

    • example = Rejected

      • "NO_SHOW"

      • "BAD_FIT"

      • "NOT_INTERESTED"

      • "ADMIN_CANCELLED"

      • "CONTACT_CANCELLED"

      • "OTHERS"

  • objection = "Null" unless an objection is added

    • example = "Money" or "Logistic" or "Partner" or "Fear" or "Smoke Screen" or "No Objection"

  • callType = Strategy or Discovery call booked

    • example = DISCOVERY_CALL_BOOKED

    • example = STRATEGY_CALL_BOOKED

  • startTime = start time of the call in UTC time zone

    • example = "2024-03-20T10:00:00Z"

  • notes = if any, in HTML, with a custom doctype from a rich-text editor

    • example = <!DOCTYPE quill-output-html><p>Can't afford the service yet</p>

  • dealValue = will show deal amount added only for "Sale" outcome

    • example = 5000

  • productName = product name selected if "Sale" outcome is added

  • transactionType = depending of the transaction selected

    • example = "WON" or "DEPOSIT" or "RECURRING"

  • createdAt = time and date when outcome was created in UTC time zone

    • example = "2024-03-20T10:30:00Z",

  • value = will show deal amount added only for "Sale" outcome

    • example = 5000

  • hookType = "Outcome added"


Did this answer your question?