Skip to content

API and webhooks

Form completion webhook

The Form Completion webhook notifies an external service whenever someone completes a form. It works with both types of form in InTouch:

  • Forms, built in the latest form builder
  • Legacy forms, set up as form widgets

How you set it up, and the payload it sends, depend on the type of form. Retries, response codes and date formats follow the rules for all webhooks, except that legacy forms send the User-Agent InTouch - https://www.intouch.cloud, and are retried even when the URL cannot be reached at all.

  1. Navigate to Settings > API
  2. Under Webhooks, select Form Completion
  3. Select Add Webhook
  4. Enter the Webhook URL
  5. Tick the forms it should be sent for
  6. Select Save

Each time one of the selected forms is completed, InTouch sends a payload like this to the URL. A submission held for review is sent only once it is accepted, and a rejected one is never sent.

{
"eventName": "InTouch Form Completion Webhook",
"matterGuid": "0b9e3c7a-5f1d-4a2e-9c8b-3d6f1e2a7b45",
"matterItrCode": "[ITR:491D-1ED]",
"submissionType": "Matter: Create",
"submissionData": {
"matter.reference": "SC/P/Tasker-HR"
},
"triggeredByName": "Harry Tasker",
"triggeredByEmail": "harry.tasker@example.com",
"timestamp": "2026-10-18T09:15:42Z",
"formName": "Sale instruction"
}
  • submissionType is Matter: Create when the form created the matter, or Matter: Update when it was completed against an existing one
  • submissionData holds the answers, named by their data markers
  • triggeredByName and triggeredByEmail are whoever submitted the form while signed in. A form completed by someone who is not signed in, such as on your website, sends Anonymous Form Completion with no email. A form submitted through the API sends API Key followed by the key’s name
  1. Navigate to Settings > Forms and open Legacy Forms
  2. Select Edit on the form
  3. Open the form’s Settings
  4. Tick Invoke the following webhook
  5. Enter your webhook URL
  6. Select Save

Each time the form is completed, InTouch sends a payload like this to the URL:

{
"event": "Form_Completion_Matter_Creation",
"triggered.by.name": "Korben Dallas",
"triggered.by.email": "korben.dallas@example.com",
"timestamp": "2026-10-18T09:15:42Z",
"data": {
"matter.reference": "SC/P/Tasker-HR"
}
}
  • event is Form_Completion_Matter_Creation when the form created a matter, Form_Completion_Matter_Update when it updated one, and Form_Completion when it only sent an email
  • data holds the form’s answers, named by their data markers, and any fees from the form’s quote, each with a matching .tax entry. When the form created or updated a matter, it also holds that matter’s details
  • triggered.by.name and triggered.by.email are the person who was signed in when the form was completed. When nobody was signed in, such as a client completing the form on your website, the name is System Generated and the email is left out