Skip to main content
Webhooks allow you to receive HTTP notifications when your agent jobs complete. Instead of polling for job status, configure a webhook URL and Roe will automatically send the job results to your endpoint.
API Coming Soon: The webhook API endpoints will be available in the next release. For now, you can create and manage webhooks through the Roe UI.

Use Cases

  • Real-time data pipelines: Trigger downstream processing as soon as agent jobs finish
  • Notifications: Send alerts to Slack, email, or other services when jobs complete
  • Database updates: Automatically store extracted data in your systems
  • Workflow automation: Chain agent outputs into other processes

How Webhooks Work

  1. Create a webhook at the organization level with a name and destination URL
  2. Link the webhook to one or more agents
  3. Run agent jobs as usual via the UI, API, or VolansDB
  4. Receive payloads at your URL when jobs complete (success or failure)

Creating Webhooks

You can create webhooks via the API or the Roe UI. A webhook requires:
  • Name: The name to reference
  • URL: The endpoint that will receive POST requests

Linking Webhooks to Agents

After creating a webhook, link it to one or more agents. When any linked agent completes a job, the webhook will fire. You can link agents via the API or the dashboard.

Testing Webhooks

Before going live, you can test that your webhook endpoint is correctly configured. Send a test payload to verify your endpoint receives and processes the webhook correctly. To test a webhook linked to an agent, use the test endpoint:
POST /v1/agents/{agent_id}/webhooks/{webhook_id}/test/
This sends a sample payload to your webhook URL so you can verify connectivity and response handling without running an actual agent job.

Webhook Payload

When an agent job completes, Roe sends a POST request to your webhook URL with a JSON payload.

Payload Fields

FieldDescription
timestampISO 8601 timestamp when the webhook was sent
agent.idUUID of the base agent
agent.nameName of the agent
agent_version.idUUID of the specific agent version that ran
agent_version.nameVersion name (e.g., “v1”)
job.idUUID of the completed job
job.statusEither "succeeded" or "failed"
job.status_codeNumeric status code
job.costCost of the job in USD
job.created_atWhen the job was created
job.completed_atWhen the job finished
job.outputThe extracted data from the agent (structure depends on your agent’s output schema)
job.metadataAny metadata attached to the job
organization.idUUID of the organization
organization.nameName of the organization

Deleting Webhooks

Webhooks are protected from accidental deletion. If a webhook is still linked to one or more agents, the delete operation will fail with a 400 Bad Request error. To delete a webhook:
  1. First, unlink all agents from the webhook using the Unlink Agent endpoint
  2. Then delete the webhook using the Delete Webhook endpoint

API Reference