Check https://developer.calendly.com/
https://developer.calendly.com/docs/webhook-subscriptions
curl \
--header "X-TOKEN: <token>" \
--data "url=https://blah.foo/bar" \
--data "events[]=invitee.created" \
https://calendly.com/api/v1/hooks
https://developer.calendly.com/docs/delete-webhook-subscription
curl -X DELETE --header "X-TOKEN: <your_token>" https://calendly.com/api/v1/hooks/<hook_id>
https://developer.calendly.com/docs/get-list-of-webhook-subscriptions
curl --header "X-TOKEN: <your_token>" https://calendly.com/api/v1/hooks
curl --header "X-TOKEN: <your_token>" https://calendly.com/api/v1/hooks/<hook_id>
See here: https://api.slack.com/messaging/webhooks
Create application.yml
next to the jar file with your secret Slack Webhook URL.
slack.webhook.url.secret: /Txxxxxxxx/Bxxxxxxx/xxxxxxxxxxxxxxxxx
java -jar target/calendly-slack-notifier-VERSION.jar -Dspring.config.location=file:/PATHTO/application.yml
POST SERVER_URL/calendly/deliver
{
"event": "invitee.created",
"payload": {
"event_type": {
"uuid": "XXX",
"kind": "One-on-One",
"slug": "45-minute-meeting",
"name": "45 Minute Meeting ",
"duration": 45,
"owner": {
"type": "users",
"uuid": "XXX"
}
},
"event": {
"uuid": "XXXXX",
"assigned_to": [
"Daisy Duck"
],
"extended_assigned_to": [
{
"name": "XXXXX",
"email": "XXXXX",
"primary": true
}
],
"start_time": "2020-08-18T09:00:00+02:00",
"start_time_pretty": "09:00am - Tuesday, August 18, 2020",
"invitee_start_time": "2020-08-18T09:00:00+02:00",
"invitee_start_time_pretty": "09:00am - Tuesday, August 18, 2020",
"end_time": "2020-08-18T09:45:00+02:00",
"end_time_pretty": "09:45am - Tuesday, August 18, 2020",
"invitee_end_time": "2020-08-18T09:45:00+02:00",
"invitee_end_time_pretty": "09:45am - Tuesday, August 18, 2020",
"created_at": "2020-07-26T17:22:44+02:00",
"location": "https://my.zoom.us/j/XXXX?pwd=XXXX",
"canceled": false,
"canceler_name": null,
"cancel_reason": null,
"canceled_at": null
},
"invitee": {
"uuid": "XXXX",
"first_name": null,
"last_name": null,
"name": "Dagobert Duck",
"email": "XXXX@XXXX.com",
"text_reminder_number": null,
"timezone": "Europe/Berlin",
"created_at": "2020-07-26T17:22:44+02:00",
"is_reschedule": false,
"payments": [],
"canceled": false,
"canceler_name": null,
"cancel_reason": null,
"canceled_at": null
},
"questions_and_answers": [
{
"question": "Company",
"answer": "Tresor Inc."
}
],
"questions_and_responses": {
"1_question": "Company",
"1_response": "Tresor Inc."
},
"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
},
"time": "2020-07-26T15:22:45Z"
}