Webhooks allow you to receive automated messages to a specified URL in real-time whenever a set event occurs in Smarter Drafter. This feature enables you to automatically push submission answers or generated documents to an endpoint of your choosing, integrating seamlessly with your existing workflows and applications.
In Smarter Drafter, you can configure webhooks for two key events:
- Submission Answers: Receive the data collected from a completed form submission. This includes intake form submissions.
- Submission Documents: Receive the documents generated after a form submission.
When a webhook is setup for either Answers or Documents, all submissions in the tenant will be sending data to the webhook configured.
How to Configure Your Webhooks
Follow these steps to set up and manage your webhooks in Smarter Drafter:
- Navigate to Webhooks Settings:
In Smarter Drafter, go to the Account and under the General tab click on Webhooks.
- Create an Authorisation:
Authorisation is crucial for securing your webhook data and ensuring only authorised applications can receive it. Create an authorisation method via Authorisations tab, this will be used in the webhook setup from the dropdown menu that your endpoint supports. Smarter Drafter offers the following options:
- No Auth: No authentication is required. Use this option with caution, primarily for testing or if your endpoint doesn't require authentication (not recommended for sensitive data).
- Bearer Token: A token-based authentication where a secure token is included in the request header. You will need to provide your bearer token in the designated field.
- Basic Auth: Uses a username and password for authentication, which are encoded and sent in the request header. You will need to provide your username and password.
- API Key: An API key is sent as part of the request (e.g., in the header). You will need to specify the key name, header and API key value.
- Choose Your Webhook Type:
On the Webhooks page, you will see two tabs.
- Submission Answers: To configure webhooks for the data submitted in forms.
- Submission Documents: To configure webhooks for the documents generated by submissions.
Click on the tab corresponding to the type of webhook you wish to set up.
- Enter your endpoint URL:
In the Submission Answers Endpoint (or Submission Documents Endpoint) field, enter the URL where you want the webhook data to be sent. This URL is the destination for the automated messages from Smarter Drafter.
- Select an Authorisation Method:
Choose an authorisation method from the dropdown menu that your endpoint supports.
- Save Your Webhook Configuration:
Once you have entered your endpoint URL and selected/configured your authorisation method, click the Save button at the bottom of the page.
Your webhook is now active! Smarter Drafter will now send automated messages to your specified endpoint whenever a form is submitted (for Submission Answers) or a document is generated (for Submission Documents), depending on your configuration.
- Test your webhook:
Start by filling in a form and monitor if the webhook passes the required information. You can navigate to Submissions page, click on the submission and also view if it was successfully sent to the webhook configured.
Where a submission documents webhook is configured, ensure the form has a document template setup.
Webhook Structure
Answers webhook
Submission answers webhook will send properties for both intake and non-intake forms when submitted from Smarter Drafter. Where values are not present, it will be left empty.
{
submissionGuid: Guid
recipientSubmissionGuid: Guid
name: string
userEmailAddress: string
userFullName: string
userPhoneNumber: string
formName: string
formId: number
timestamp: datetime
externalId: string
dataSource: string
matterExternalId: string
matterNumber: string
recipient: {
firstName: string
surname: string
emailAddress: string
phoneNumber: string
recipientType: string
dataSource: string
recordId: number
contactId: number
externalId: string
}
answers: [{
question: string
answer: string
ref: string
alias: string
recordTypeName: string
isSection: boolean
sectionRef: string
recordTypeApiIdentifier: string
recordId: number
recordExternalId: string
}]
}| Parameter | Description |
|---|---|
| submissionGuid or submissionID | GUID of the current submission |
| recipientSubmissionGuid | GUID of an intake; not visible if the form is not the parent of an intake. |
| name | Refers to the submission name. |
| userEmailAddress | Email of the user who created the intake (not the recipient). |
| userFullName | Name of the user who created the intake (not the recipient). |
| userPhoneNumber | Phone number of the user who created the intake; not visible if not filled out. |
| formName | Name of the form used for the submission. |
| formId | Unique identifier for the form. |
| timestamp | When the submission was completed. |
| externalId | External ID for submission if generated via API; not visible otherwise. |
| dataSource | Matter source of the submission; not visible if a matter was not used. |
| matterExternalId | Not visible if a matter was not used or if the source is local SD (no external ID). |
| matterNumber | PMS number or matter name; not visible if no matter was used. |
| recipient | Not visible if the submission is not an intake. |
| recipient.firstName | First name of the recipient. |
| recipient.surname | Surname of the recipient. |
| recipient.emailAddress | Email address of the recipient. |
| recipient.phoneNumber | Only visible if the intake originated from embed code. |
| recipient.recipientType | Contact or Record; not visible if not selected from the dropdown. |
| recipient.dataSource | Source of the record/contact; not visible if not selected from dropdown. |
| recipient.recordId | Not visible if recipient is a contact or none was selected. |
| recipient.contactId | Not visible if recipient is a record or none was selected. |
| recipient.externalId | Not visible if source is not API/PMS or no recipient selected. |
| answers | Array of answers for the submission (includes sections and fields). |
| answer.question | The text of the question. |
| answer.answer | The submitted value; not visible if it's a section or optional/unanswered field. |
| answer.ref | The reference for the section/field; can be multi-part with special characters. |
| answer.alias | The alias used for the section/field; not visible if no alias exists. |
| answer.recordTypeName | Name for a mapped record type; not visible if no mapping exists. |
| answer.isSection | Boolean indicating if the answer is a section. |
| answer.sectionRef | Ref of the parent section; can be multi-part or separated by ~ for repeats. |
| answer.recordTypeApiIdentifier | API identifier of mapped record type; not visible if no mapping exists. |
| answer.recordId | Record ID used to populate the answer; not visible if record was not used. |
| answer.recordExternalId | External ID of the record if from an API; not visible otherwise. |
Documents webhook
Documents webhook will send the generated file submission along with the below details.
| Parameter | Description |
|---|---|
| submissionId | Unique ID for the submissions from Smarter Drafter. Note that this is not the unique identifier for the form used for the submission. |
| submissionName | Name the submitter gave the submission. |
| fileNumber | Count of the file in the submission. |
| fileCount | Total file count for the submission. |
| fileName | Name of the document template as it appears in the form. |
| iManageFilePath | Full file path of the document saved in iManage. |
| externalId | External identifier included in the deep link URL. |
| matterId | Matter external id if selected when creating a document |
Note: where there are multiple documents generated from a single submission, separate webhook posts will be sent.