When you create a webhook you choose which events it should receive. Each event is
named <resource>.<action> — for example, submission.processed.
Events marked Default are pre-selected when you
create a webhook in the dashboard. The rest are opt-in — select them explicitly if
you want them.
Event Description submission.processedWhen PDF generation completes Default submission.failedWhen PDF generation fails Default submission.createdWhen a submission is created submission.updatedWhen a submission is updated submission.expiredWhen a submission expires
Event Description submission_data_request.viewedWhen someone views a data request form Default submission_data_request.completedWhen a data request is completed Default submission_data_request.updatedWhen a data request is updated
Event Description combined_submission.processedWhen combined PDF generation completes Default combined_submission.failedWhen combined PDF generation fails Default combined_submission.expiredWhen a combined submission expires
Event Description submission_batch.processedWhen batch processing completes Default submission_batch.failedWhen batch processing fails Default
Event Description template.createdWhen a template is created template.updatedWhen a template is updated template.deletedWhen a template is deleted
Event Description api_token.createdWhen an API token is created api_token.revokedWhen an API token is revoked api_token.deletedWhen an API token is deleted
Event Description webhook.createdWhen a webhook is created webhook.updatedWhen a webhook is updated webhook.deletedWhen a webhook is deleted
Event Description account_integration.createdWhen an account integration is created account_integration.updatedWhen an account integration is updated account_integration.deletedWhen an account integration is deleted custom_file.createdWhen a custom file is uploaded folder.createdWhen a folder is created folder.updatedWhen a folder is updated folder.deletedWhen a folder is deleted user.createdWhen a user is created user.invitedWhen a user is invited user.updatedWhen a user is updated user.deletedWhen a user is deleted
Beyond choosing event types, you can narrow down when a webhook fires.
The Mode setting limits a webhook to a particular environment:
All submissions — fire for both test and live submissions (the default).
Test only — only fire for test submissions.
Live only — only fire for live submissions.
The mode of an event is determined by the submission it relates to (test or live),
or by whether it was generated by a test (development) API token.
You can limit a webhook to specific resources by listing their IDs. In the
dashboard, add the IDs to the API Token IDs , Template IDs , and Folder
IDs fields (one ID per row). Through the API, set the api_token_uids,
template_uids, and folder_uids arrays.
API Token IDs — only fire for events generated by one of these API tokens.
Template IDs — only fire for events related to one of these templates (their
submissions, data requests, and template events). Matched by ID, so it keeps
working across template versions.
Folder IDs — only fire for events related to templates in one of these
folders or any of their subfolders (folder scoping is hierarchical).
Leave all three empty to receive events for everything in the account.
Scope lists are combined with OR
The three scope lists are matched with OR , not AND. If you set more than
one list, an event is in scope when it matches any of them. For example, a
webhook with both a template ID and an API token ID fires when an event is for
that template or was generated by that token — it does not require both.