Skip to main content
When multiple Exante organizations share a single Slack workspace, the integration needs to know which organization should handle events from each channel. Channel mapping lets you explicitly assign Slack channels to organizations, ensuring messages are routed to the correct agent pipeline.

When you need this

Channel mapping is required when two or more Exante organizations are connected to the same Slack workspace (i.e. they share the same team_id). In this setup, the default team-based routing is ambiguous, so channels that aren’t explicitly mapped are silently skipped. For single-org workspaces, channel mapping is optional — all events route to the only connected organization automatically.

How it works

  1. When a Slack event arrives, Exante checks if the channel has an explicit mapping.
  2. If a mapping exists, the event routes to that organization’s agent pipeline.
  3. If no mapping exists and the workspace is multi-org, the event is skipped with a warning log.
  4. If no mapping exists and the workspace is single-org, the event routes to that organization automatically.

API endpoints

All endpoints require authentication. The organization_uid can be passed as a query parameter or in the request body. If omitted, the authenticated user’s default organization is used.

Map a channel

Assign a Slack channel to an organization.
curl -X POST /api/integrations/slack/channels/map \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "channel_id": "C012ABCDEF",
    "channel_name": "sales-team",
    "organization_uid": "optional-org-uuid"
  }'
FieldRequiredDescription
channel_idYesThe Slack channel ID (e.g. C012ABCDEF)
channel_nameNoHuman-readable channel name for reference
organization_uidNoTarget organization. Defaults to the user’s default org
Responses:
StatusMeaning
201Channel mapped successfully
200Channel is already mapped to this organization (idempotent)
400Missing channel_id or Slack integration not connected
403User is not a member of the target organization
409Channel is already mapped to a different organization

List mappings

Retrieve all channel mappings for an organization.
curl -X GET "/api/integrations/slack/channels/mappings?organization_uid=<org-uuid>" \
  -H "Authorization: Bearer <token>"
Returns an array of mapping objects, each containing the channel ID, organization UID, and any stored metadata (like channel name).

Remove a mapping

Delete a channel mapping for the current organization.
curl -X DELETE /api/integrations/slack/channels/map/C012ABCDEF \
  -H "Authorization: Bearer <token>"
StatusMeaning
200Mapping removed successfully
403User is not a member of the target organization
404No mapping found for this channel and organization
Each channel can only be mapped to one organization at a time. To reassign a channel, remove the existing mapping first, then create a new one.

Troubleshooting

SymptomCauseFix
Bot ignores messages in a channelChannel is unmapped in a multi-org workspaceMap the channel using the POST endpoint above
409 Conflict when mappingChannel is already mapped to another orgRemove the existing mapping first, then remap
400 — Slack integration not connectedThe target organization has no valid Slack integrationConnect Slack from Settings > Integrations first