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
| Integration | Documented function | Requirement / limit |
|---|---|---|
| Discord | Server connection and notifications routed to channels | Bot, OAuth, configuration and routing; not a universal Discord client |
| Business number connection and personal notifications | Business account, application settings, webhook and recipient number linking; no channel table | |
| Microsoft Teams | Notifications routed to team channels | Application registration, package installation and team connection; register instructions do not mean installation completed |
| Google Chat | Notifications routed to spaces | HTTP Service application configuration and joining spaces; register returns instructions |
| GitHub | ACT to issue linking, commands and change events | GitHub App, installation, repository and webhook; writes use a queue |
| Gitea | ACT to issue linking, commands and change events | Bot account, server, repository and webhook |
| GitLab | ACT to issue linking, commands and change events | Group token, project and webhook |
| Slack | Notifications routed to workspace channels | Bot, OAuth, configuration and routing; separate support scope confirmation |
| Google Calendar | Meetings, ACT deadlines and availability mirroring | Google configuration and permissions; scope depends on release |
| Customer-domain email | Address linking and confirmation, and notification consumption | SMTP 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.