n8n recipe
Domain Health Hub alerts as Autotask tickets
A free n8n recipe that checks each Domain Health Hub alert's signature, then raises an Autotask ticket or adds a note to the open one.
Download the n8n workflowAn n8n recipe, not a native integration. Free to use and change.
What it does
- Domain Health Hub posts an alert to the workflow's webhook in n8n.
- n8n checks the
X-DHH-Signatureheader against the raw body with your signing secret, and refuses anything unsigned, altered or more than five minutes old (it answers 401). - It looks in Autotask for an open ticket titled for the same alert and domain, such as
DHH: DNS changed on client.co.uk. - If there is one, it adds a note with the new alert. If not, it raises a ticket for the client, with what changed, when, and a link back to the domain in Domain Health Hub.
- Only then does it answer us. If Autotask can't be reached, n8n answers with an error and we retry after 1, 5 and 30 minutes, then 2 and 6 hours.
n8n has no built-in Autotask node. Community nodes exist; we haven't tested them, so the recipe uses HTTP Request nodes against the Autotask REST API.
Before you start
- n8n reachable over HTTPS at a public address. We only send webhooks to
https://URLs. - A recent n8n: the signature check uses the Crypto node's HMAC with a Crypto credential, added to n8n in 2026. We tested on n8n 2.42.4. On an older n8n, swap in version 1 of the Crypto node and paste the secret into its Secret field instead.
- Admin access to Autotask, to create the API credentials below.
- An owner login for your Domain Health Hub workspace, to add the webhook.
Set it up
- Download dhh-alerts-autotask.json and, in n8n, choose Import from file on a new workflow.
- In Domain Health Hub, go to Alerts, add a webhook with the workflow's Production URL (from its DHH alert node), and copy the signing secret it shows you. It's shown once.
- In n8n, open the HMAC-SHA256 node, create a Crypto credential and paste the secret into Hmac Secret.
- For the Find open ticket, Add note and Create ticket nodes: In Autotask, create an API user (API-only security level) and note its username, secret and the tracking identifier (integration code). In n8n, create a Custom Auth credential holding
{"headers": {"ApiIntegrationCode": "…", "UserName": "…", "Secret": "…"}}. - Open the Ticket details node and fill in the settings at the top (below).
- Activate the workflow. In Domain Health Hub, choose Send test event on the webhook: a ticket called
DHH: Test alertshould appear in Autotask for your default client. Close it once you've seen it.
Settings
At the top of the Ticket details node. Client names are matched exactly as they appear in Domain Health Hub; anything unmapped goes to the default.
| Setting | What to put |
|---|---|
baseUrl | Your zone's API address, such as https://webservices4.autotask.net/ATServicesRest/V1.0. The zone must be the one your API user belongs to |
defaultCompanyId | The company a ticket goes to when its client isn't mapped |
companyIds | Domain Health Hub client names mapped to Autotask company IDs |
queueId | The queue for new tickets (needed unless your category assigns a resource) |
priority, status | Picklist values for new tickets (1 is New in a default set-up) |
completeStatus | The status that means closed (5, Complete, in a default set-up) |
dueInHours | Due date for new tickets, in hours from now |
noteType, notePublish | Picklist values for the note added to an open ticket |
The Autotask API calls it makes
| Step | Request |
|---|---|
| Find an open ticket with the same title | POST /Tickets/query |
| Add a note to it | POST /Tickets/{id}/Notes |
| Or raise a new ticket | POST /Tickets |
What it can't do
- It's an n8n recipe, not a native integration: you run it, on your n8n, and we don't support changes you make to it.
- It only works one way. Closing the ticket in Autotask doesn't change anything in Domain Health Hub, and a problem that clears doesn't close the ticket.
- We ran it end to end in n8n against a stand-in for the Autotask API, built from the documentation below. We haven't run it against a live Autotask account, so try it on a test client first.
- If the ticket is saved but our request times out before n8n answers, we send the alert again, and you'll get a note on the same ticket rather than a new one.
- Picklist values (priority, status, note type) differ between Autotask instances: check yours before switching the workflow on.
- Autotask's REST API has a per-hour request limit shared by every integration on your account; each alert uses two calls.
Sources
Each Autotask call was checked against the vendor's documentation:
- Autotask REST API: Tickets
- Autotask REST API: TicketNotes
- Autotask REST API: query calls
- Autotask REST API: creating child entities
- Autotask REST API: authentication headers and zones
And the n8n nodes it uses:
- n8n: Webhook node (Raw Body option)
- n8n: Crypto node (HMAC)
- n8n: Respond to Webhook node
- n8n: HTTP Request credentials
Other PSAs: see every recipe.
Get alerts worth raising a ticket for.
Start a free 28-day trial: up to 3 domains, no card needed.