CopilotKit / CopilotKit/OpenBot

[Feature Request] Please add webhook-triggered Agent runs — fire-and-forget POST on completion

Open
#324 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
5.2k
Forks
655
Avg merge
11h 56m
Merged PRs (30d)
370

Description

Problem

OpenBot has persistent coworkers, per-Agent computers, governed tool use, and auditability, but it lacks a simple way to trigger Agent runs from external events or notify external systems when a run completes.

For teams integrating OpenBot into existing workflows (e.g., CI/CD pipelines, monitoring alerts, newsletter automation), there is no way to kick off an Agent run via webhook or receive a notification when a run finishes. This forces manual intervention or polling, which defeats the purpose of autonomous Agents.

Feature request

Add webhook-triggered Agent runs — a fire-and-forget POST endpoint to start a run, and an optional outbound webhook when a run completes. This should be an event-layer feature, not a new scheduling system.

Proposed behaviour

  • Allow configuring an inbound webhook URL per Agent that, when POSTed to, triggers a new run with the provided payload as context.
  • Allow configuring an outbound webhook URL per Agent that receives a POST when a run completes (success, failure, or refusal).
  • Support optional payload templates for outbound webhooks (e.g., include run ID, outcome, transcript summary).
  • Validate inbound webhook payloads and show clear errors for malformed requests.
  • Preserve all governance settings (grants, policies) for webhook-triggered runs, scoped to the Agent's existing permissions.
  • Rate-limit inbound webhooks to prevent abuse (e.g., max 10 runs per minute per Agent).

Required controls

  • Disabled by default; enabled per Agent.
  • Webhook scope: per-Agent, not per deployment.
  • Immutable audit log showing when a webhook triggered a run or was sent on completion.
  • Review, edit, and delete controls for webhook URLs.
  • Clear separation between webhook payload and runtime state (no arbitrary code execution from payload).
  • Never automatically grant additional tools or permissions for webhook-triggered runs — grants are unchanged.
  • Configurable allowlist for webhook sources (specific IPs, domains, or any URL).

Why this matters

This would make OpenBot more competitive for teams integrating Agents into existing automation workflows while preserving its core advantages: per-Agent isolation, gateway policy enforcement, and action-level auditability. It would be particularly useful for a self-hosted team that wants to trigger Agents from external events (e.g., "new issue filed", "site downtime detected", "newsletter draft due") without manual intervention.

Acceptance criteria

  1. An administrator can configure an inbound webhook URL for an Agent.
  2. An administrator can configure an outbound webhook URL for an Agent.
  3. POSTing to the inbound webhook triggers a new Agent run with the payload as context.
  4. Completing a run sends a POST to the outbound webhook with run metadata.
  5. All webhook triggers and sends appear in the existing audit trail.
  6. Invalid webhook payloads are rejected with clear error messages.
  7. Webhook-triggered runs respect the Agent's existing grant boundaries.

Suggested name

Webhook Triggers or Event-Driven Agent Runs

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing Agent run entry point, audit trail, and grant or policy enforcement described in the issue. Map how inbound and outbound webhook configuration would fit those existing systems, then use the acceptance criteria to define completion, including validation, rate limiting, unchanged permissions, and audit records.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.