Webhooks

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:

  1. Navigate to Webhooks Settings:

In Smarter Drafter, go to the Account and under the General tab click on Webhooks.


  1. 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.

  1. 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.

  1. 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.

  1. Select an Authorisation Method:

Choose an authorisation method from the dropdown menu that your endpoint supports.

  1. 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.

  1. 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
	}]
}
ParameterDescription
submissionGuid or submissionIDGUID of the current submission
recipientSubmissionGuidGUID of an intake; not visible if the form is not the parent of an intake.
nameRefers to the submission name.
userEmailAddressEmail of the user who created the intake (not the recipient).
userFullNameName of the user who created the intake (not the recipient).
userPhoneNumberPhone number of the user who created the intake; not visible if not filled out.
formNameName of the form used for the submission.
formIdUnique identifier for the form.
timestampWhen the submission was completed.
externalIdExternal ID for submission if generated via API; not visible otherwise.
dataSourceMatter source of the submission; not visible if a matter was not used.
matterExternalIdNot visible if a matter was not used or if the source is local SD (no external ID).
matterNumberPMS number or matter name; not visible if no matter was used.
recipientNot visible if the submission is not an intake.
recipient.firstNameFirst name of the recipient.
recipient.surnameSurname of the recipient.
recipient.emailAddressEmail address of the recipient.
recipient.phoneNumberOnly visible if the intake originated from embed code.
recipient.recipientTypeContact or Record; not visible if not selected from the dropdown.
recipient.dataSourceSource of the record/contact; not visible if not selected from dropdown.
recipient.recordIdNot visible if recipient is a contact or none was selected.
recipient.contactIdNot visible if recipient is a record or none was selected.
recipient.externalIdNot visible if source is not API/PMS or no recipient selected.
answersArray of answers for the submission (includes sections and fields).
answer.questionThe text of the question.
answer.answerThe submitted value; not visible if it's a section or optional/unanswered field.
answer.refThe reference for the section/field; can be multi-part with special characters.
answer.aliasThe alias used for the section/field; not visible if no alias exists.
answer.recordTypeNameName for a mapped record type; not visible if no mapping exists.
answer.isSectionBoolean indicating if the answer is a section.
answer.sectionRefRef of the parent section; can be multi-part or separated by ~ for repeats.
answer.recordTypeApiIdentifierAPI identifier of mapped record type; not visible if no mapping exists.
answer.recordIdRecord ID used to populate the answer; not visible if record was not used.
answer.recordExternalIdExternal 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.

ParameterDescription
submissionIdUnique ID for the submissions from Smarter Drafter. Note that this is not the unique identifier for the form used for the submission.
submissionNameName the submitter gave the submission.
fileNumberCount of the file in the submission.
fileCountTotal file count for the submission.
fileNameName of the document template as it appears in the form.
iManageFilePathFull file path of the document saved in iManage.
externalIdExternal identifier included in the deep link URL.
matterIdMatter 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.