Skip to main content

Webhooks And Events

Gobii has several webhook and event surfaces. They are related, but they serve different purposes.

Event taxonomy

SurfaceDirectionAudiencePurpose
Legacy browser task webhookGobii to your URLAPI developersReceive completion, failure, or cancellation for a browser-use task.
Inbound Gobii webhookYour system to GobiiDevelopers and operatorsTrigger or message a specific Gobii from an external system.
Provider webhooksProvider to GobiiOperatorsReceive email, SMS, status, open/click, or provider events.
Pipedream trigger webhookPipedream to GobiiProduct integrationsDeliver subscribed app-trigger events.
Outbound webhook toolGobii to your URLAdvanced users/developersLet a Gobii send a webhook as part of its work.

Only depend on the surfaces documented for your use case. Provider and console implementation routes are not general-purpose public APIs.

Legacy browser task callbacks

Add an optional webhook URL when creating a browser-use task to receive a callback when the task finishes or is canceled.

URLs must be http or https. Include your own token, signature scheme, or secret path segment if your receiver needs verification.

Agent-scoped task route:

curl -X POST https://gobii.ai/api/v1/agents/browser-use/{agentId}/tasks/ \
-H "X-Api-Key: $GOBII_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": {"detail": "Find pricing"},
"webhook": "https://example.com/hooks/gobii?token=example"
}'

User-level task route:

curl -X POST https://gobii.ai/api/v1/tasks/browser-use/ \
-H "X-Api-Key: $GOBII_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": {"detail": "Find pricing"},
"webhook": "https://example.com/hooks/gobii?token=example"
}'

Response fields include the stored webhook plus delivery metadata such as webhook_last_called_at, webhook_last_status_code, and webhook_last_error.

Delivery semantics

  • Fired once when status becomes completed, failed, or cancelled.
  • POSTs JSON with Content-Type: application/json and User-Agent: Gobii-AgentWebhook/1.0.
  • Uses a 10 second timeout.
  • Does not retry non-2xx responses in the current task callback path.
  • Records the last delivery attempt on the task.

Payload examples

Success:

{
"id": "task-uuid",
"status": "completed",
"agent_id": "agent-uuid",
"result": {"summary": "Found pricing."}
}

Failure:

{
"id": "task-uuid",
"status": "failed",
"agent_id": "agent-uuid",
"result": null,
"error_message": "Timed out waiting for page."
}

Cancelled:

{
"id": "task-uuid",
"status": "cancelled",
"agent_id": "agent-uuid",
"result": null,
"message": "Task has been cancelled."
}

Inbound Gobii webhooks

Inbound Gobii webhooks let an external system send an event into a specific Gobii. Use this when your own system should trigger a Gobii without going through a human chat channel.

Keep payloads concise and include enough context for the Gobii to act safely. If the event can cause external side effects, design the Gobii's charter so it asks for approval before acting.

Provider webhooks

Gobii uses provider webhooks for email, SMS, status, open/click, and related delivery events. These routes are for provider integration and deployment configuration, not arbitrary application callbacks.

Self-hosted operators should configure provider routes only with the expected provider secrets and network exposure.

Pipedream trigger webhooks

Pipedream trigger webhooks deliver events for connected app subscriptions. App-trigger support depends on product configuration and the apps enabled in your workspace.

For user setup, see Connect Apps.

Outbound webhook tool

Where enabled, a Gobii can call an outbound webhook as a tool. Treat this like any other external write:

  • Use an endpoint you control.
  • Validate the incoming request.
  • Keep payloads scoped.
  • Require approval before sensitive external actions.
  • Log received events for debugging.