Event Subscriptions

Event subscriptions let your external system receive notifications when things happen in Thinklio. A CRM can stay synchronised with knowledge facts about customers. A project management tool can be notified when an agent completes a research job.

Available Events

| Event | Description | |-------|-------------| | job.completed | A job finished successfully | | job.failed | A job failed | | job.cancelled | A job was cancelled | | agent.created | A new agent was created | | agent.updated | An agent's configuration changed | | agent.paused | An agent was paused | | knowledge.updated | Knowledge facts were added or modified | | budget.threshold | A budget threshold was crossed | | tool.health_changed | A registered tool's health status changed |

Webhook Delivery

Events are delivered as POST requests to your configured endpoint. The request body contains the event type and payload. Thinklio retries failed deliveries with exponential backoff for up to 24 hours.

Filtering

Subscriptions can be scoped to specific agents, teams, or resource IDs. Use filters to receive only the events relevant to your integration rather than all events in the organisation.

Ordering Guarantee

Events are delivered at-least-once. Your endpoint should be idempotent — use the event_id field to deduplicate events if needed. Events for the same resource are delivered in order, but events for different resources may arrive out of order.

Endpoints

POST/v1/webhooksComing Soon

Create an event subscription

Subscribe to Thinklio events. Thinklio will POST event payloads to your endpoint when matching events occur.

Request Body

{
  "url": "string (required)",
  "events": [
    "string (required)"
  ],
  "filters": {
    "agent_id": "string (optional)",
    "team_id": "string (optional)"
  },
  "description": "string (optional)"
}

Response

{
  "id": "wh_01hxyz",
  "url": "https://your-app.example.com/webhooks/thinklio",
  "events": [
    "job.completed",
    "job.failed"
  ],
  "status": "active",
  "signing_secret": "whsec_...",
  "created_at": "2026-03-19T12:00:00Z"
}