How To Set Up an Incoming Webhook in Act-On
Create a new webhook:
- Go to Settings > Connectors > Custom Integrations > Incoming Webhooks.
- Click + Create Webhook:
- Select the Webhook source.
- Choose Calendly only if the URL will be used in a Calendly webhook, otherwise, select Custom.
In either case, switch on Verification.
- Choose Calendly only if the URL will be used in a Calendly webhook, otherwise, select Custom.
- Enter a Verification method. Authentication is added and needs to be included with the outgoing webhook. This is to validate the authenticity of the incoming webhook.
- If you select Token, Act-On will create one for you.
- If you select Basic, enter a username and password. It can be anything as long as it is secure
- Continue to mappings if the payload of the outgoing webhook is already known
- Example: a calendly payload will look like this:
{
"created_at": "2020-11-23T17:51:19.000000Z",
"created_by": "https://api.calendly.com/users/AAAAAAAAAAAAAAAA",
"event": "invitee.created",
"payload": {
"cancel_url": "https://calendly.com/cancellations/AAAAAAAAAAAAAAAA",
"created_at": "2020-11-23T17:51:18.327602Z",
"email": "erinda.ylli@act-on.com",
"event": "https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA",
"name": "John Doe",
"new_invitee": null,
"old_invitee": null,
"questions_and_answers": [],
"reschedule_url": "https://calendly.com/reschedulings/AAAAAAAAAAAAAAAA",
"rescheduled": false,
"status": "active",
"text_reminder_number": null,
"timezone": "America/New_York",
"tracking": {
"utm_campaign": null,
"utm_source": null,
"utm_medium": null,
"utm_content": null,
"utm_term": null,
"salesforce_uuid": null
},
"updated_at": "2020-11-23T17:51:18.341657Z",
"uri": "https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees/AAAAAAAAAAAAAAAA",
"scheduled_event": {
"uri": "https://api.calendly.com/scheduled_events/GBGBDCAADAEDCRZ2",
"name": "15 Minute Meeting",
"status": "active",
"start_time": "2019-08-24T14:15:22.123456Z",
"end_time": "2019-08-24T14:15:22.123456Z",
"event_type": "https://api.calendly.com/event_types/GBGBDCAADAEDCRZ2",
"location": {
"type": "physical",
"location": "string"
},
"invitees_counter": {
"total": 0,
"active": 0,
"limit": 0
},
"created_at": "2019-01-02T03:04:05.678123Z",
"updated_at": "2019-01-02T03:04:05.678123Z",
"event_memberships": [
{
"user": "https://api.calendly.com/users/GBGBDCAADAEDCRZ2",
"user_email": "user@example.com"
}
],
"event_guests": [
{
"email": "user@example.com",
"created_at": "2019-08-24T14:15:22.123456Z",
"updated_at": "2019-08-24T14:15:22.123456Z"
}
]
}
}
}
- Example: a calendly payload will look like this:
- Map the field from the outgoing webhook to the corresponding Act-On field
- Click Create to save your webhook.
Test Your Webhook
Incoming webhooks must be tested before being enabled to be operational and actively process messages from third parties. Testing verifies the payload structure and validates the required data is present; however, it does not take any action in Act-On based on the received data. No test data will be saved in Act-On contacts from the test.
Example of a successful test:
Example of a failed test
Edit Your Webhook
All webhooks can be edited; however, only certain fields are editable. Furthermore, retesting is required if critical fields that impact the webhook function are changed.
Field | Visible | Editable | Retest Required |
Webhook name | Yes | Y | N |
Description | Yes | Y | N |
Webhook source | Yes | N | N/A |
Authentication | PW is not visible Token is not visible |
Y | Y PW can only be re-entered Token can only be re-generated |
Channel | Yes | N | N/A |
Data mappings | Yes (only for Custom) | Y | Y |