Chat Agent Gateway
Stop building integrations. Start having conversations.
Sois AI doesn't expose endpoints. It exposes an agent. You tell it what you need in plain English. Sois's own agent reads your message, negotiates the details, acts across your entire workspace, and replies when it's done.
This is the on-ramp for callers that have no AI of their own: webhooks, scripts, legacy systems, and automations. One endpoint, plain English, and the agent does the reasoning. For non-agent callers it makes a traditional multi-endpoint REST API redundant. There are no schemas to learn, no field mappings to maintain, no breaking changes to chase. Just a conversation between your system and ours.
Already have an AI agent? Connect it directly over the MCP Server instead. That is the strategic path: your own Claude, ChatGPT, Cursor or Gemini reasons over the Sois tools, so Sois spends no AI on your behalf. The Chat Agent Gateway is for callers that bring no agent of their own.
How it works
You: "Create a contact for Jane Doe, CEO of Acme Corp, [email protected]"
Agent: Contact created. Added to workspace with company Acme Corp.
One message in. One result out. Sois's agent negotiates everything in between. Because the agent does the reasoning, this path uses Sois AI credits.
Three ways to receive the reply
| Method | Best for |
|---|---|
| Webhook | Set a response_url on your key. The agent delivers the signed result when it's done. Fire and forget. |
| Polling | Check the conversation status anytime. Simple, no infrastructure needed. |
| Both | Webhooks as primary delivery, polling as fallback. Belt and braces. |
Quick start
1. Get your credentials from Settings in your Sois AI workspace
2. Send a message
curl -X POST "https://your-workspace.sois.ai/api/agent" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Api-Key: sois_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Find all contacts from London"}'
3. Receive the reply, via your webhook or by polling the conversation
What can the agent do?
Anything a user can do inside Sois AI:
- Search, create, update, and delete contacts
- Manage tasks and assignments
- Compose and send emails
- Browse and organise files and documents
- Query departments, teams, and members
- Work with any installed extension
- Combine multiple actions in a single conversation
The agent doesn't just read data, it acts on it. Ask it to "email John the Q1 report" and it finds the contact, locates the document, composes the email, and sends it. No orchestration required.
System-to-system
When both sides are intelligent, they negotiate. Two Sois AI workspaces, or any agentic system, can exchange data through the Chat Agent Gateway without human intervention. No field mapping. No middleware. No connectors. Just two agents working it out.
Your ERP talks to your CRM. They figure it out. You get a summary.
Governance: what an integration is allowed to do
The gateway runs under the same tool governance as the in-app assistant. Every action the agent might take is one of three modes, and an API key never exceeds the permissions of the user who owns it.
- Always. Safe actions (reads, routine writes) run automatically.
- Ask. Sensitive actions (sending email, deleting records, anything touching money or identity) need a human's approval. Because the gateway is a fire-and-forget channel with nobody watching a screen, an "ask" action does not run by default.
- Deny. Blocked everywhere, including the gateway.
To let an integration perform a specific sensitive action unattended, pre-authorise that action on the key (Settings, API Keys, auto-approve). This is a one-time, audited decision you make when you issue the key, the same idea as granting an app a scope. A pre-authorised "ask" action then runs automatically for that key; anything not pre-authorised is refused, and the agent tells you it needs authorising rather than pretending it acted.
Every refused action is reported back to you, both in the agent's reply and machine-readably in the webhook payload under governance.tools_blocked (each entry carries the action and the reason: deny or ask_unauthorised). So your system can see exactly what was and wasn't done.
Budget, not rate limits. Each key has a dollar budget: daily, monthly, or total. You control what each integration is worth. No arbitrary request quotas. When the budget's spent, the agent tells you clearly.
Ready? Read the full task interface reference for the request and webhook formats, or bring your own agent over the MCP Server.