Webhooks integration

Webhooks and AI agents: trigger any system from a workflow

When the target is your own service, an automation platform or a queue, a webhook is the simplest integration: the agent posts an event with a payload and your system does the rest. AgentRow's webhook tool sends the event, records the request and response, and applies the same limits as any other tool.

Tool type
Webhook
Auth type
custom_header or none
Safety level
write_safe

What you can build

An agent that hands a qualified lead to your automation platform (Zapier, Make, n8n or your own endpoint).

A workflow agent that enqueues a long-running job and tells the user it has been started.

A support agent that raises an incident in your on-call system when a conversation matches an outage pattern.

How to connect Webhooks

  1. 01Create a tool of type webhook with the target URL, an event name and any headers the receiver expects, such as a shared-secret header.
  2. 02Describe the input schema so the model knows which fields to include in the payload.
  3. 03Set the safety level write_safe, a timeout, a retry policy and rate limits; mark it as requiring approval if a human should confirm each trigger.
  4. 04Attach the tool to the agent, fire it from the test chat and confirm the payload in the run trace and in the receiving system.

Example tool definition

The shape a tool takes in the AgentRow builder API. Credentials are stored on the tool's auth settings, not in its configuration, so they never reach a prompt. Placeholders in double braces are filled by the model from the input schema.

{
  "name": "notify_lead_pipeline",
  "type": "webhook",
  "description": "Send a qualified lead to the sales pipeline. Use once the user has shared a name, company and email and asked to be contacted.",
  "auth_type": "custom_header",
  "safety_level": "write_safe",
  "config": {
    "url": "https://hooks.example.com/agentrow/leads",
    "event_name": "lead.qualified"
  },
  "input_schema": {
    "type": "object",
    "properties": {
      "name": { "type": "string" },
      "company": { "type": "string" },
      "email": { "type": "string" },
      "summary": { "type": "string", "description": "One-paragraph summary of what the lead needs" }
    },
    "required": ["name", "email"]
  }
}

What the run trace shows

Every call appears in the run trace with the rendered request, the response status and body, timing, retries and errors, plus what the model was shown of the result. If the model never called the tool, the toolbox step shows whether it was bound for that model call and why.

Frequently asked questions

Can a webhook return data to the agent?

The response body is recorded and returned to the model like any tool result, so a synchronous receiver can answer with data. For long-running work, return a job id and let the user ask about it later.

How do I stop the agent from firing the same webhook twice?

Set max calls per tool on the toolbox, use rate limits, and make the description explicit about when to trigger. The most recent tool-calling turn is replayed to the model so it knows what it already sent.

Can I trigger an AgentRow agent from a webhook instead?

Runs start from messages today, through the widget or the end-user API. Your webhook receiver can call that API to start a conversation.

Connect Webhooks to your first agent

Join the waitlist for early access. Tell us which systems you need to connect and we will point you at the right tool definitions.