Webhooks

Calendly has an open API that supports webhooks. With our v1 API, members on our paid Premium or Pro subscriptions can build a webhook to receive Calendly meeting data at a specified URL, in real-time, when an event is scheduled or canceled. 

Specifically, you can subscribe to:

  • Invitee Created Events to receive notifications when a new Calendly event is scheduled
  • Invitee Canceled Events to receive notifications when a Calendly event is canceled

To create a webhook, you'll need the API key to your Calendly account. Navigate to your Integrations page from the main drop-down menu to copy the key. For more details about creating a webhook, check out our developer documentation.


webhooks1.png


Once your webhook has been created, event data will be received at the endpoint you've specified. See the sample data below for a newly scheduled event:

{
 "event":"invitee.created",
 "time":"2018-03-14T19:16:01Z",
 "payload":{
   "event_type":{  
     "uuid":"CCCCCCCCCCCCCCCC",
     "kind":"One-on-One",
     "slug":"event_type_name",
     "name":"Event Type Name",
     "duration":15,
     "owner":{  
       "type":"users",
       "uuid":"DDDDDDDDDDDDDDDD"
     }
   },
   "event":{  
     "uuid":"BBBBBBBBBBBBBBBB",
     "assigned_to":[  
       "Jane Sample Data"
     ],
     "extended_assigned_to":[  
       {
         "name":"Jane Sample Data",
         "email":"user@example.com",
         "primary":false
       }
     ],
     "start_time":"2018-03-14T12:00:00Z",
     "start_time_pretty":"12:00pm - Wednesday, March 14, 2018",
     "invitee_start_time":"2018-03-14T12:00:00Z",
     "invitee_start_time_pretty":"12:00pm - Wednesday, March 14, 2018",
     "end_time":"2018-03-14T12:15:00Z",
     "end_time_pretty":"12:15pm - Wednesday, March 14, 2018",
     "invitee_end_time":"2018-03-14T12:15:00Z",
     "invitee_end_time_pretty":"12:15pm - Wednesday, March 14, 2018",
     "created_at":"2018-03-14T00:00:00Z",
     "location":"The Coffee Shop",
     "canceled":false,
     "canceler_name":null,
     "cancel_reason":null,
     "canceled_at":null
   },
   "invitee":{  
     "uuid":"AAAAAAAAAAAAAAAA",
     "first_name":"Joe",
     "last_name":"Sample Data",
     "name":"Joe Sample Data",
     "email":"not.a.real.email@example.com",
     "timezone":"UTC",
     "created_at":"2018-03-14T00:00:00Z",
     "is_reschedule":false,
     "payments":[  
       {
         "id":"ch_AAAAAAAAAAAAAAAAAAAAAAAA",
         "provider":"stripe",
         "amount":1234.56,
         "currency":"USD",
         "terms":"sample terms of payment (up to 1,024 characters)",
         "successful":true
       }
     ],
     "canceled":false,
     "canceler_name":null,
     "cancel_reason":null,
     "canceled_at":null
   },
   "questions_and_answers":[  
     {
       "question":"Skype ID",
       "answer":"fake_skype_id"
     },
     {
       "question":"Facebook ID",
       "answer":"fake_facebook_id"
     },
     {
       "question":"Twitter ID",
       "answer":"fake_twitter_id"
     },
     {
       "question":"Google ID",
       "answer":"fake_google_id"
     }
   ],
   "questions_and_responses":{  
     "1_question":"Skype ID",
     "1_response":"fake_skype_id",
     "2_question":"Facebook ID",
     "2_response":"fake_facebook_id",
     "3_question":"Twitter ID",
     "3_response":"fake_twitter_id",
     "4_question":"Google ID",
     "4_response":"fake_google_id"
   },
   "tracking":{  
     "utm_campaign":null,
     "utm_source":null,
     "utm_medium":null,
     "utm_content":null,
     "utm_term":null,
     "salesforce_uuid":null
   },
   "old_event":null,
   "old_invitee":null,
   "new_event":null,
   "new_invitee":null
 }
}
Was this article helpful?
31 out of 125 found this helpful