Connect Slack, Gmail, and event sources
Agent workflows read from and propose writes to connected systems through tenant-owned connections. Slack and Gmail authenticate through Nango. External systems that trigger workflows use signed event credentials issued from the Studio. Open the Connections tab from the Agents area in the main navigation.Slack and Gmail through Nango
Slack and Gmail connections are managed by Nango and belong to the tenant. Each connection is separate: reading Slack channels does not grant permission to post, and reading Gmail threads does not grant permission to send.Add a connection
- In Connections, choose the provider card (Slack or Gmail).
- Select Connect. Control opens a Nango-hosted consent screen.
- Sign in with the account you want the tenant’s workflows to use and grant the requested scopes.
- When the handoff completes, the connection appears with status
Active.
Use a connection in a workflow
In the Builder, enable a Slack or Gmail tool. The tool card exposes:- Connection. The specific Slack or Gmail connection the tool should use.
- Approval mode. How the tool proposes writes (currently, external writes always require approval).
- Fixed destination. For posting tools, the exact channel, address, or draft target that the agent may target. Fixed destinations are locked into every proposal and cannot be changed at approval time.
Reconnect or revoke
Reconnecting is handled by Nango. If a connection’s tokens expire or scopes change, the connection card shows a Reconnect action that restarts the Nango handoff. Revoking a connection detaches it from every workflow that used it. Workflows keep working, but tools bound to the revoked connection will fail until you attach a new one.Signed event credentials
Signed event credentials let external systems trigger workflows through the/agent-events endpoint. Each credential is tenant-bound, one-time visible, and independently revocable.
Creating and revoking credentials requires an organization administrator. Any tenant member can list the credentials that already exist.
Create a credential
- In Connections, go to Signed event credentials.
- Enter a name that describes the source system, for example
Production event source. - Select Create.
Use a credential
Every signed request to/agent-events supplies three headers:
Authorization: Bearer cae.<prefix>.<secret>X-Control-Event-Timestamp: <unix seconds>X-Control-Event-Signature: <lowercase hex HMAC-SHA256(secret, "<timestamp>." + raw body)>
eventType, dedupeKey, payload, and an optional connectionId. Bodies larger than 64 KiB are rejected. Requests with timestamps more than five minutes off the server clock are rejected.
See Trigger workflows for a full example and workflow-side configuration.
Revoke a credential
Revoking a credential is immediate.- In Signed event credentials, find the credential by its prefix or name.
- Select Revoke.
Provider payload boundaries
The Studio enforces a few boundaries that keep external actions safe:- Slack and Gmail reads use Nango connections that are separate from the credentials used to write.
- Writes never happen without an approved proposal. Fixed destinations, when configured on the tool, are recorded in the proposal and cannot be edited by the approver.
- Executed proposals record the provider’s receipt (message ID or draft ID). If Control loses visibility into delivery, the Approvals view lets a reviewer reconcile with the provider directly. See Review runs and approvals.