Webhook Templates

What are Webhook Templates?

Webhook Templates are reusable, named payload shapes that you build once under Integrations > Webhooks and then attach to any webhook automation across the platform. Each template controls exactly which CRM Target fields, CRM Company fields, and Custom Fields are included in the outgoing JSON payload, and in what order.

Before this release, every webhook automation sent a fixed payload driven by global per-action field settings. Now you can shape one set of fields for your CRM partner, a different set for your reseller's app, and another for your internal warehouse, all from the same automation. Templates can also be optionally scoped to one or more Worlds, so a single automation fires differently shaped payloads to different destinations based on which World the triggering Contact belongs to.

Webhook Templates apply to webhooks configured inside Automations (the webhook action available in CRM, Forms, Projects, Proposals, Invoices, LMS, Appointments, and other automation builders). Webhook field settings configured on the per-action settings page under Integrations > Webhooks continue to work exactly as before.

TIP: Templates are completely additive. Any existing webhook automation that does not pick a template fires exactly as it does today, with no change in behavior.


How do I create a Webhook Template?

Navigate to Integrations > Webhooks and click the Templates menu the left sidebar.

Click + Create Template and a modal will appear on the right. Type a Name for your template. The template is created the moment you start typing, and from that point forward changes are auto saved however you also have manual save button at the bottom of the page.

TIP: There is no Save button. The save indicator at the top of the modal will show a green check the moment your changes are written. Auto-save fires 500ms after each change.


How do I choose which fields go in the payload?

The body of the modal has a six-section field catalog. Each section is an expandable accordion panel. Toggle a section open by clicking its header.


The six sections are:

  • CRM Target Fields: Standard Contact fields like first name, email, phone, address.
  • CRM Company Fields: Standard Company fields tied to the Contact's Company.
  • CRM Target Custom Fields: Custom Fields you have defined in the Target profile.
  • CRM Contact Custom Fields: Custom Fields defined in the Contact profile.
  • CRM System Custom Fields: Custom Fields defined in the System Contact profile.
  • CRM Company Custom Fields: Custom Fields defined in the Company profile.

Inside each section, every available field has its own row with a toggle. Flip the toggle on to include the field in the payload, or ensure it is toggled off exclude it.

The toggle at the section header level is a master switch: flip it on to include every field in that section, off to exclude all of them. If you toggle individual fields one-by-one, the master toggle reflects the state, fully on when all fields are on, fully off when all are off.

Drag the handle on a field row to reorder fields within that section. The sections themselves are also re-orderable.

TIP: Field order inside a section is preserved in the JSON payload sent to your endpoint, so you can match the exact key order your destination app expects.


How do I preview what the payload will look like?

On the bottom of the modal you can click the Preview button in order to see the live JSON payload your template will produce. Use the dropdown 'Select Target to Preview' to choose a sample ContactCompany from your CRM. The preview updates instantly if you change the fields toggled, reorder rows, or swap sample records.

If you do not pick sample records, the preview falls back to a static example so you can still see the payload shape without selecting a real Contact.

TIP: Custom Field values appear in the payload using a key derived from the Custom Field's label, so renaming a Custom Field changes the key the next time the webhook fires. If your destination app depends on stable keys, avoid renaming Custom Fields that are referenced by active templates.


How do I scope a template to specific Worlds?

If your account has the Worlds Power-Up enabled, you will have a Worlds selector on your template modal. Use it to assign the template to one or more Worlds.

When a template is scoped to one or more Worlds, the template only applies if the Contact triggering the webhook belongs to at least one of those Worlds. If the Contact does not match, the webhook silently falls back to the default payload shape and the fallback reason is logged.

Leave Worlds empty to apply the template universally, regardless of which World the Contact is in.

IMPORTANT: The Worlds selector only appears when your account has the Worlds Power-Up activated and the current Staff member has manage permission on Worlds. If you do not see the selector, your template applies to every Contact firing the webhook.


How do I attach a Webhook Template to an automation?

Open any automation builder where webhooks are available (CRM, Forms, Projects, Proposals, Invoices, LMS, Appointments, or Auto-Templates). 

Add the Webhook Notification and each webhook endpoint row has a third dropdown after the URL and the event fields, labeled Template.

The dropdown lists all of your active Webhook Templates alphabetically. The default selection is Default (use field settings), which preserves the legacy behavior, the webhook fires using the global per-action field settings configured under Integrations > Webhooks.

Pick a template from the dropdown to shape the payload using that template instead. The payload-sample preview directly below the row updates immediately to reflect the selected template.

Each endpoint row carries its own template selection. If your automation has multiple webhook endpoints, you can attach a different template to each one, or leave some on Default and only template the rest.

TIP: If the dropdown is empty, you have not yet created any templates. The dropdown shows a short note pointing you to Integrations > Webhooks > Templates to create one.


How do I duplicate a Webhook Template?

In the Templates list, click the three dot options menu next to the template and click Duplicate from the option list.

A copy of the template is created immediately. The copy includes:

  • The full field selection and order: Every toggle and drag position is carried over.
  • The Worlds assignment: Same Worlds the original was scoped to.
  • A new name: The original name with " (Copy)" appended, ready to rename.

The duplicate opens in the modal ready for you to rename it. The original and the copy are fully independent, edits to one do not affect the other and duplicating a template does not automatically attach it to any automation.


How do I delete a Webhook Template?

In the Templates list, click the three dot option menu and select Delete from the options list. 

A confirmation dialog appears, click Yes to confirm.

IMPORTANT: Automation rows that still reference a deleted template do not break. They silently fall back to the Default payload shape on the next fire, and the fallback reason is logged. 


How do I manage Webhook Templates?

The Templates list under Integrations > Webhooks > Templates shows all of your templates.

Each row shows:

Name: The template name. Click the row or the edit icon to open the template in the editor drawer.

Worlds: The Worlds the template is scoped to, comma-separated. Templates that are not scoped to any World show All.

Actions: Edit, Duplicate, and Delete icons at the right end of each row.

Use the filter and search controls at the top of the list to narrow down which templates are shown.


What gets logged when a webhook fires?

Every webhook fire driven by an automation is logged. The log entry records:

  • Which template (if any) was used to shape the payload.
  • If the payload fell back to the Default shape, the reason for the fallback (template missing, template inactive, or Worlds mismatch).
  • The standard webhook outcome (success or error, response code, response body).

Template create, edit, and delete activity is recorded in the Activity Stream under the Integrations bucket, so you have a full audit trail of changes to your webhook payload shapes.