Integration Methods
Incoming Webhooks
Receive notifications from external services into Mattermost channels
Outgoing Webhooks
Send messages from Mattermost to external services based on triggers
Slash Commands
Create custom commands that users can invoke in messages
OAuth 2.0 Apps
Build applications that authenticate users via Mattermost
Plugins
Extend Mattermost with custom server and web app functionality
REST API
Full programmatic access to Mattermost features
Choosing the Right Integration
Incoming Webhooks
Best for: Sending notifications from external services to Mattermost Examples:- CI/CD pipeline notifications (Jenkins, GitHub Actions)
- Monitoring alerts (Prometheus, Datadog)
- Issue tracking updates (Jira, GitHub)
- Simple to set up (just a URL)
- No authentication required
- Supports rich formatting
- One-way communication only
- Limited to posting messages
Outgoing Webhooks
Best for: Triggering external actions based on Mattermost messages Examples:- ChatOps commands
- Simple bot interactions
- Message processing pipelines
- Trigger-based activation
- Can respond with messages
- Easy to implement
- Only works in public channels
- Limited trigger patterns
- Cannot access Mattermost API
Slash Commands
Best for: User-invoked actions and commands Examples:/giphy search cats- Search and post GIFs/poll "What's for lunch?"- Create polls/deploy production- Trigger deployments
- User-friendly command syntax
- Can return rich responses
- Supports autocomplete
- Manual invocation required
- Cannot listen to messages
OAuth 2.0 Apps
Best for: Third-party applications that need user authentication Examples:- Mobile apps using Mattermost login
- Desktop integrations
- Web applications with SSO
- Secure user authentication
- Standard OAuth 2.0 flow
- User consent-based
- More complex setup
- Requires web server for callbacks
Plugins
Best for: Deep integration with Mattermost functionality Examples:- Video conferencing (Calls plugin)
- Project management (Jira, GitHub plugins)
- Custom workflows and automation
- Full access to Mattermost API
- Can modify UI and behavior
- Server and client-side logic
- Event hooks and listeners
- More complex development
- Requires Go and/or React knowledge
- Must be installed by admin
REST API
Best for: Custom applications and automation Examples:- User provisioning scripts
- Custom reporting dashboards
- Migration tools
- Complete programmatic access
- Language-agnostic
- Full CRUD operations
- Requires authentication
- More development effort
Integration Comparison
| Feature | Webhooks | Slash Commands | OAuth Apps | Plugins | REST API |
|---|---|---|---|---|---|
| Setup Complexity | Low | Low | Medium | High | Medium |
| Authentication | Token | Token | OAuth 2.0 | Built-in | Token/Session |
| Post Messages | ✅ | ✅ | ✅ | ✅ | ✅ |
| Read Messages | ❌ (outgoing only) | ❌ | ✅ | ✅ | ✅ |
| UI Customization | ❌ | ❌ | ❌ | ✅ | ❌ |
| Event Hooks | Limited | ❌ | ❌ | ✅ | ❌ |
| Data Storage | External | External | External | Built-in KV | External |
| Deployment | External | External | External | Server-side | External |
Getting Started
Security Best Practices
Next Steps
Incoming Webhooks
Start with the simplest integration method
Plugin Development
Build powerful custom functionality
API Reference
Explore the full Mattermost API
Examples
View integration examples on GitHub