Greenlight is now source-available under BUSL-1.1.Learn more
Greenlight

Give your AI agents a human in the loop.

Interactive prompts, per-channel credentials, and signed callbacks — over Telegram, Slack, Microsoft Teams, Discord, Google Chat, WhatsApp, and Messenger.

Read the docs

Register a channel, then ask for approval

This is Greenlight's own README quickstart — a real, working example.

1curl -X POST http://localhost:8100/v1/channels/new \
2 -H "X-API-Key: $API_KEY" \
3 -H 'Content-Type: application/json' \
4 -d '{
5 "channel_id": "my-telegram-prompts",
6 "platform": "telegram",
7 "target_chat_id": "-1001234567890",
8 "credentials": { "bot_token": "123456789:YOUR_TOKEN" },
9 "channel_type": "PROMPT"
10 }'
11
12curl -X POST http://localhost:8100/v1/prompts/new \
13 -H "X-API-Key: $API_KEY" \
14 -H 'Content-Type: application/json' \
15 -d '{
16 "channel_id": "my-telegram-prompts",
17 "text": "Ready to deploy v2.4.1?",
18 "options": ["Deploy", "Cancel"],
19 "callback_url": "https://your-agent.example.com/on_answer"
20 }'

How it works

  1. 1

    Register a channel

    Bind a platform, credentials, and a target chat to a stable channel_id.

    { "channel_id": "my-telegram-prompts", "platform": "telegram" }
  2. 2

    Send a prompt

    POST /v1/prompts/new with text, options, and a callback_url.

    🤖 Ready to deploy v2.4.1?
    [ Deploy ] [ Cancel ]
  3. 3

    A human approves in chat

    Buttons or free text; the signed callback fires back to your agent or workflow.

    { "channel_id": "my-telegram-prompts", "answer": "Deploy", "signed": true }

Everything you need for human-in-the-loop approvals

Human-in-the-loop

Interactive prompts with buttons or free text, and signed callbacks.

Talk to your agent in chat

MESSAGE channels forward inbound chat to your webhook; outbound via POST /v1/messages/send. Full history in the Admin UI.

Operator controls

Review message and prompt history; configure automatic retention in Settings.

Many workflows, one approval channel

Multiple automations, one channel_id, per-prompt callback routing.

Per-channel credentials

Bots and tokens registered per channel via API, not global env vars.

REST API integrations

Plain HTTP API; n8n, Zapier, Make, or custom agents, no plugin required.

Self-hosted

Postgres + Docker; credentials and traffic stay on your infrastructure.

Works with your stack

Or call the HTTP API directly — no Greenlight plugin required.

Self-host, Cloud, or Enterprise

Self-host

Free

Source-available and self-hosted with Docker, Dokploy, or Coolify.
  • All 7 chat platforms
  • Unlimited channels and prompts
  • Community support on GitHub
Cloud

Coming soon

Managed hosting for teams that would rather not run their own Postgres.
  • Everything in Self-host
  • Managed upgrades and backups
  • Usage-based pricing
Enterprise

Contact us

SSO, audit logs, and dedicated support for self-hosted teams.
  • SSO and advanced RBAC
  • Audit logs and SLA
  • Dedicated support

BUSL-1.1

Source-available

7

Chat platforms supported

Ready to give your agents a human in the loop?

Self-hosting is free, source-available, and complete — no crippled trial.