Automations & Webhooks
An automation pairs a trigger with one action. Today the trigger is always a change to a prompt version, and the action sends a webhook or a Slack message. Use it to notify a team when a prompt changes, or to start your own CI, tests or deployment when the production label moves.
Automations are not in the sidebar. Open them with the Automations button on the Prompts page or on the Slack integration page in Project Settings > Integrations, or go to /project/<projectId>/automations.
Triggers
| Setting | Options |
|---|---|
| Event Source | Prompt |
| Event Action | created: a new prompt version is created. updated: labels or tags on a version change. deleted: a version is deleted. Pick one or more. |
| Filter | Optional. Limit the automation to prompts by Name. |
Automations do not trigger on traces, scores, costs, latency, errors or budgets. For governance findings such as PII detections or drift, see Governance Notifications. For spend limits, see Budget AI budgets.
Actions
| Action | What it does | Needs |
|---|---|---|
| Webhook | Sends an HTTP POST with the event as JSON to your URL, signed with a secret. | A URL that accepts POST |
| Slack | Posts a formatted message about the prompt change to a channel. | The Slack integration connected to the project |
The action list also shows PagerDuty. In the current release, PagerDuty automation actions are saved but not delivered. To page from a prompt change, send a webhook to a service that calls PagerDuty. PagerDuty alerts for governance findings work through Governance Notifications.
Create an automation
Start
On the Automations page, select Create Automation and give it a name.
Define the trigger
Under Trigger, choose Event Source Prompt, the Event Action values, and an optional Filter on prompt name.
Choose the action
Under Action, choose the Action Type:
- Webhook: enter the URL, choose the API Version (
v1), and add any Headers. Mark a header as secret to hide its value after saving. - Slack: choose the Channel.
Save and keep the secret
Save the automation. For a webhook, ANTS Platform shows the Webhook Secret once. Copy it now. You can regenerate it later from the webhook settings, which invalidates the old one.
Check the executions
Open the automation to see its execution history: status, start time, duration, input and output, and any error.
The Active switch turns an automation on and off.
Webhook delivery
Each event is sent as one POST with these headers:
| Header | Value |
|---|---|
content-type | application/json |
x-langfuse-signature | t=<unix timestamp>,v1=<hex signature> |
| Your headers | Any headers you configured |
The body:
For chat prompts, prompt.prompt is a list of messages.
Verify the signature
Compute HMAC-SHA256(secret, "<t>.<raw request body>") as lowercase hex, where <t> is the timestamp from the header, and compare it with v1. Reject requests with an old t to stop replays.
Responses, retries and auto-disable
- Your endpoint must answer with status 200 within 10 seconds. Any other status, including other
2xxcodes, counts as a failure. - A failed delivery is retried up to 4 attempts in total, with backoff.
- After 5 failed executions in a row, the automation is turned off and a banner on the automation shows the failure. Fix the endpoint and switch it back on.
- A Slack action that fails is turned off after the first failure, for example when the channel no longer exists.
Permissions
Viewing automations needs automations read access, which Owner, Department Admin, Security & Compliance, Cost Analyst and Auditor have. Creating, editing and deleting automations needs automations write access: Owner and Security & Compliance. See Members & Roles.