Troubleshoot automations
Diagnose rejected webhooks, missing payload values, disabled configuration, generation failures, and ambiguous Slack posting.
Separate failures into three phases: request acceptance, generation before Slack, and posting after Slack is claimed.
The webhook is rejected
Check the response and then verify:
- The endpoint is Enabled.
- The URL is the exact
https://venture.infra.one/api/webhooks/automations/UUIDvalue. - The request is
POSTwithContent-Type: application/json. - The body is one JSON object no larger than 256 KiB.
- X-Infra-One-Timestamp is current Unix seconds within five minutes.
- The signature uses the exact raw body sent on the wire.
- X-Infra-One-Signature starts with
sha256=. - Idempotency-Key is printable and no more than 200 bytes.
A changed body with a reused key conflicts by design. Use the original body for a retry or a new key for a new logical event.
The request is accepted but no action succeeds
Open Run history. If there is only a Webhook delivery, confirm the Automation is enabled and its conditions match. Then inspect the action row’s Error category.
Common configuration causes include:
- the agent was disabled or retired;
- the Slack channel was disabled, removed, or rebound to another agent;
- the stored action refers to missing configuration;
- a required payload mapping is missing or resolves to a non-string;
- generated output exceeds the message limit.
The Agent message failed before post
This state means Slack was not claimed. Correct the cause, then choose Retry agent message when the row offers it. A transient model-provider failure can also be retried safely before post.
The Agent message failed after claim
Do not immediately resend. Open the configured Slack channel and search around the run time. Slack may have accepted the message before the response became ambiguous.
If the message exists, record that outcome and do not retry. If it does not exist, escalate with the run identifier, time, channel, and error category so the delivery can be reconciled safely.
The output is technically successful but wrong
- Confirm Trusted instructions describe the task precisely.
- Inspect the trigger JSON used as evidence.
- Confirm Prefix from payload and Suffix from payload point to expected strings.
- Use a Test delivery after every change.
- Keep deterministic facts such as headings, version numbers, and compare links in wrappers rather than asking the model to recreate them.
What to include when escalating
Provide the organization slug, Automation name, run time, run type, status, error category, and expected external destination. Do not send the webhook signing secret, raw OAuth credentials, or confidential trigger payload unless an approved secure support process asks for them.