What are integrations?
Integrations are packages that:- Provide channels for receiving and sending messages
- Expose actions that bots can call
- Emit events based on external triggers
- Manage entities for data modeling
- Handle webhooks from external services
Integration architecture
An integration consists of:Key components
Integration definition
Defines the integration’s structure:integration.definition.ts
Integration implementation
Implements the integration logic:src/index.ts
Integration types
Channel integrations
Provide messaging channels:- Slack
- Telegram
- Discord
- Microsoft Teams
Service integrations
Connect to external APIs:- OpenAI
- Anthropic
- Google Sheets
- Airtable
- Linear
Custom integrations
Build your own integrations for:- Internal APIs
- Custom platforms
- Legacy systems
- Specialized workflows
Integration capabilities
Channels
Channels enable message exchange:Actions
Actions expose API functionality:Events
Events notify bots of external changes:Entities
Entities model external data:Integration states
Store integration-specific data:Configuration
Define required configuration:Secrets
Define required secrets:User definition
Define user tags:Identifier
Extract user identifiers:Interface implementation
Implement standard interfaces:Integration lifecycle
Next steps
Creating integrations
Build your first integration
Integration definition
Define integration structure
Channels
Implement messaging channels
Actions
Create integration actions