Integrations

Attach an agent to an integration conversation

Changed on

Requires project management permission. Repeating an active attachment returns the same subscription. Subscriptions do not change the agent config or grant sending tools.

post/orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/subscriptions

Request

  • Base URL: https://api.omnara.com/v1
  • URL: https://api.omnara.com/v1/orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/subscriptions
  • Auth: one of:
    • HTTP bearer
    • API key in cookie __Host-omnara_session and API key in header X-Omnara-Csrf

Request body

agent_idstring required
conversationIntegrationConversation required

One concrete provider address, validated by the integration's capabilities.subscription.conversation_schema. Slack uses channel_id and optional thread_ts; Discord uses channel_id for a channel or thread_id for a thread; GitHub uses repository_id and pull_request. Discord accepts optional parent channel_id and guild_id alongside thread_id and validates their ID format, but subscription creation does not verify them against Discord or retain them as routing restrictions. Only thread_id is retained in a canonical thread address and returned by create/list responses. No credentials or runtime state.

Response

Created or existing subscription.

idstring required
project_idstring required
integration_idstring required
agent_idstring required
agent_namestring required

Agent name. Empty means the agent is unnamed; non-empty values use the ResourceName policy.

conversationIntegrationConversation required

One concrete provider address, validated by the integration's capabilities.subscription.conversation_schema. Slack uses channel_id and optional thread_ts; Discord uses channel_id for a channel or thread_id for a thread; GitHub uses repository_id and pull_request. Discord accepts optional parent channel_id and guild_id alongside thread_id and validates their ID format, but subscription creation does not verify them against Discord or retain them as routing restrictions. Only thread_id is retained in a canonical thread address and returned by create/list responses. No credentials or runtime state.

conversation_namestring

Saved display name for the conversation, when available.

created_atstring date-time required

Changes