š¤ Managers and Technical Admins have access to these settings in Hook
What is a Webhook?
A webhook is a way for one piece of software (Hook) to automatically send a message to another piece of software the moment something happens. There's no manual exporting, checking dashboards, or refreshing a page - the data is pushed to the other system in real time, whenever a specific event occurs.
A useful comparison:
Without a webhook: you'd have to log into Hook, check if anything has changed, then manually update another system with the new data.
With a webhook: Hook notices the change and sends the update straight into your team's tools automatically, the moment it happens.
Webhooks can be used to send data into any system that can receive it - internal dashboards, ticketing systems, or custom integrations.
Related Article: Conductor: Build Automations in Hook
When to Use Webhook Automations
Hook already has built-in actions for the most common needs e.g. sending a message to Slack. If you just need a straightforward Slack notification, use the native Slack action.
Webhook automations exist for the cases those native integrations don't cover: sending data out of Hook to any external system that can accept an HTTP request, and shaping that data however the destination system needs it.
Use cases include:
Notifying tools without a native Hook integration: posting alerts into Microsoft Teams, or another messaging platform not natively supported by Hook.
Triggering multi-step workflows: sending a single webhook to a tool like Power Automate, Zapier, or Make, which then fans out into several actions at once (for example: creating a ticket, updating a spreadsheet, and posting to multiple channels from one Hook event).
Kicking off custom internal processes: triggering a bespoke internal script or workflow, such as an escalation process, a provisioning step, or a custom scoring engine, the moment something changes in Hook.
Syncing with ticketing or workflow systems: automatically creating or updating a record in a support or project tool that accepts incoming webhooks, rather than a CSM doing it manually.
Use a webhook automation when you need to send structured data to a system Hook doesn't natively integrate with, or when one Hook event needs to trigger several downstream actions at once.
Why It Matters
Real-time visibility across your stack. Signals and Engagement Levels reach the right people in the right tools the moment they're detected - no manual checking required.
One Hook event, many actions. A single webhook trigger can set off a chain of downstream steps across multiple systems, so your team isn't recreating the same steps by hand every time.
Reach any tool, not just Hook's native integrations. If your team uses a tool Hook doesn't natively connect to, a webhook lets you push structured data there directly, keeping your workflows connected without waiting for a built-in integration.
How to Build a Webhook Automation
Prequisities
Before you start, you'll need the destination webhook URL. For Microsoft Teams, this comes from setting up an Incoming Webhook connector (or Workflows) on the Teams channel you want to post to. Other tools, such as Power Automate, Zapier, or an internal system, will provide their own webhook URL.
Step 1: Create the automation
Go to Automation Settings and select Create automation.
Enter a descriptive name and select Begin configuration.
Define your trigger under Ifā¦. For signal-based alerts, this is usually Signal filters are met. For example: Current status = Detected, Source = Echo (AI Agent). Any other automation trigger can also be used.
Related Article: Conductor: Build Automations in Hook
Step 2: Add the webhook action
Click the + icon next to Then⦠and select Send data to a webhook.
Paste the Webhook URL for the destination system.
If your webhook requires authorisation, add a webhook integration in Integration Settings first.
Enter the Payload (JSON) - this defines exactly what data is sent and how it's formatted.
Add the webhook URL and JSON payload when adding a webhook action to an automation
Step 3: Build the JSON payload
The payload is the message Hook sends to the destination system. It must be valid JSON and can include Hook template variables so the message is populated with live account and signal data.
Quote string variables:
"{{account.name}}"Leave numbers and booleans unquoted:
{{some_numeric_field}}
The exact structure depends on what the destination system expects. Below is a simplified, generic example for pushing a new signal into a downstream system:
{
"event_type": "signal_detected",
"account_name": "{{account.name}}",
"account_id": "{{account.latest_crm_id}}",
"signal_type": "{{risk.customer_flag.name}}",
"signal_summary": "{{risk.summary}}",
"owner_email": "{{agent_job_roles.cs_lead.agents.email}}",
"hook_link": "{{risk.account.account.hook_url}}"
}
If you're sending to Microsoft Teams specifically, Teams expects its own Adaptive Card JSON structure rather than a flat object. Microsoft's documentation on Adaptive Cards and incoming webhooks explains the required format, and your Teams or Power Automate admin can help translate the fields above into that structure.
Note: Only variables relevant to your chosen trigger will populate correctly. If a variable shows as "not an available variable" beneath the payload box, check it's spelled correctly and that it applies to the object type of your trigger (for example, account-level vs signal-level fields).
Step 4: Set how often the webhook fires
At the bottom of the webhook action, choose what happens if the same conditions are still met later.
After a period of time: the webhook re-fires after a set number of days if the account or signal still matches the filters.
Never: the webhook fires once per account and will not run again for that same account, even if conditions are still met later.
Note: Choosing Never means an account that matches the filters again in future will not trigger another webhook. If you expect repeat notifications for the same account over time, use After a period of time instead.
Step 5: Save and activate
Select Save and toggle the automation status from Inactive to Active.
Select View logs on the webhook action to confirm the automation is firing successfully.
Troubleshooting
My webhook automation has stopped firing
Resend setting: if set to Never, the webhook will not re-fire for accounts it has already notified. Change this to After a period of time if you expect repeat alerts.
Filter changes: check whether the trigger filters still match the accounts or signals you expect. A filter that unintentionally excludes accounts will silently stop notifications.
Automation status: confirm the automation is still Active - it may have been paused.
Logs: open View logs on the webhook action and check for error messages against recent runs.
I'm seeing a generic error - "Something went wrong on our end"
This type of error, or an error while previewing the signal count in the trigger configuration, usually indicates a temporary platform issue rather than a problem with your payload. If it persists, raise a support issue with [email protected] and include:
The automation name and a link to it.
The exact error message and any screenshots.
The filters applied on the trigger.
Roughly when the issue started.
A variable isn't populating in my message
Confirm the variable is available for your chosen trigger type ā some variables are signal-level and only available when the trigger is signal-based.
Check the underlying field has data for that account (for example, a CS Lead or Account Manager role must be assigned for
{{agent_job_roles...}}variables to populate).For CRM link variables (for example
account.latest_crm_id), confirm the field is synced from your CRM and populated on the account.
Related Article: Automations Troubleshooting
ā Frequently Asked Questions
Can I send a webhook to more than one destination from the same automation?
Yes. Add another Then⦠action and select Send data to a webhook again, with a different Webhook URL and payload. Multiple webhook actions can run from the same trigger.
Do I need technical or development help to set this up?
Not necessarily. Building the automation trigger and action in Hook doesn't require code. However, you'll typically need someone with access to the destination system - for example a Teams or Power Automate admin - to generate the webhook URL. Building the JSON payload is also easier with some familiarity with JSON formatting.
Will I get a flood of notifications when I first activate this?
As with Slack and email automations, a webhook will fire once for every account or signal that already matches the filters at the point the automation is activated. This may result in a batch of messages on first activation.
How do I check whether my webhook automation is working?
Open the webhook action and select View logs. This shows the history of attempts and any errors, and confirms whether the automation is Active and matching accounts.
