Skip to main content
Current documentVerified

Integration catalog and custom extensions

An integration is a unit: it handles a contract, configuration, identity and lifecycle, and connects to a provider. The following scope comes from current integration descriptions. Release availability and support terms depend on the deployment; the catalog grants no provider account access.

Scope​

IntegrationDocumented functionRequirement / limit
DiscordServer connection and notifications routed to channelsBot, OAuth, configuration and routing; not a universal Discord client
WhatsAppBusiness number connection and personal notificationsBusiness account, application settings, webhook and recipient number linking; no channel table
Microsoft TeamsNotifications routed to team channelsApplication registration, package installation and team connection; register instructions do not mean installation completed
Google ChatNotifications routed to spacesHTTP Service application configuration and joining spaces; register returns instructions
GitHubACT to issue linking, commands and change eventsGitHub App, installation, repository and webhook; writes use a queue
GiteaACT to issue linking, commands and change eventsBot account, server, repository and webhook
GitLabACT to issue linking, commands and change eventsGroup token, project and webhook
SlackNotifications routed to workspace channelsBot, OAuth, configuration and routing; separate support scope confirmation
Google CalendarMeetings, ACT deadlines and availability mirroringGoogle configuration and permissions; scope depends on release
Customer-domain emailAddress linking and confirmation, and notification consumptionSMTP configuration; complete flow from event producer requires its integration

Configuration and authorisation​

An administrator configures the integration and required scopes; users link their own account or number where the contract supports it. Platform scopes and provider API permissions are separate. Supply sensitive fields through the integration’s configuration mechanism rather than example code.

Messaging integrations use the notification.raised convention. The notification producer decides what to send; an integration delivers to linked channels or recipients. A consumer does not automatically create an event producer in the application.

Gitea and GitLab may report issue state through actlink.issueStateChanged; the application responsible for notifications processes it further. Do not equate it with GitHub’s schema, which declares notification.raised.

Retry, outbox and deduplication vary by integration. GitHub documents durable outbox and inbox; Discord and WhatsApp use platform consumer redelivery. Do not assign an exactly-once guarantee to the entire catalog.

Custom extension and release​

Start with SDK selection, define exposition and manifest, add a handler and configuration handling. Use integration-specific entity names to avoid collisions with another unit in the same tenant. Declare visibility and scopes in the contract.

Deployment release register, owner and support terms: information to be supplied. Discord, WhatsApp, Teams, Google Chat, GitHub, GitLab and Gitea have been confirmed as available integrations; this does not automatically extend support to other entries. The email description preserves its event producer limitation. The Discord example and troubleshooting show next steps.