Overview
Integrations let you:
Sync customer data between Intercom and your CRM
Trigger actions in other tools when events happen in Intercom
Build custom workflows with webhooks and APIs
Centralize your support stack
Native Integrations
Intercom offers pre-built integrations with popular tools. No code required.
Finding Integrations
Go to Settings → Integrations → App Store
Browse categories or search for a specific tool
Click Install and follow the setup wizard
Popular Integrations
Category | Tools |
CRM | Salesforce, HubSpot, Pipedrive |
Communication | Slack, Microsoft Teams, Zoom |
Analytics | Google Analytics, Mixpanel, Amplitude |
Support | Jira, Linear, GitHub |
Productivity | Notion, Google Drive, Dropbox |
Automation | Zapier, Make (Integromat), n8n |
Managing Installed Integrations
View and configure your integrations in Settings → Integrations → Installed apps:
Connected — Integration active and syncing
Disconnected — Needs re-authentication
Paused — Temporarily disabled
CRM Connections
Sync customer data bidirectionally between Intercom and your CRM.
Salesforce Integration
What syncs:
Intercom → Salesforce | Salesforce → Intercom |
New conversations | Contact/Lead details |
Conversation transcripts | Account information |
Custom attributes | Custom fields |
Tags | Ownership data |
Setup:
Go to Settings → Integrations → Salesforce
Click Connect to Salesforce
Authenticate with your Salesforce admin account
Configure field mappings
Set sync direction and frequency
Tip: Map Intercom "company" to Salesforce "Account" and Intercom "user" to Salesforce "Contact" for clean data alignment.
HubSpot Integration
What syncs:
Intercom → HubSpot | HubSpot → Intercom |
Conversations as timeline events | Contact properties |
User attributes | Company properties |
Lead qualification data | Deal information |
Chat transcripts | Lifecycle stage |
Setup:
Go to Settings → Integrations → HubSpot
Click Connect to HubSpot
Authenticate with your HubSpot account
Select which properties to sync
Enable timeline sync for conversations
Field Mapping
Match Intercom attributes to CRM fields:
Intercom Attribute | CRM Field Example |
name | Full Name |
company.name | Account Name / Company |
custom.plan_type | Subscription Tier |
custom.mrr | Monthly Revenue |
Configure mappings in each integration's settings under Field Mapping.
Webhooks
Webhooks push real-time data to your systems when events occur in Intercom.
What Are Webhooks?
When something happens (e.g., new conversation), Intercom sends an HTTP POST request to your specified URL with event details.
Setting Up Webhooks
Go to Settings → Integrations → Webhooks
Click Create webhook
Enter your endpoint URL
Select events to subscribe to
Save and test
Available Webhook Events
Category | Events |
Conversations | conversation.created, conversation.closed, conversation.assigned |
Messages | conversation.user.replied, conversation.admin.replied |
Users | user.created, user.updated, user.deleted |
Companies | company.created, company.updated |
Tags | user.tag.created, user.tag.deleted |
Tickets | ticket.created, ticket.updated, ticket.closed |
Webhook Payload Example
{ "type": "notification_event", "topic": "conversation.user.replied", "data": { "item": { "type": "conversation", "id": "12345", "user": { "type": "user", "id": "67890", "email": "[email protected]" }, "conversation_message": { "body": "Hi, I need help with my account" } } } }Webhook Security
Verify webhooks are from Intercom:
Go to Webhooks → Settings
Copy your Webhook Secret
Validate the
X-Hub-Signatureheader in your code
// Example signature verification const crypto = require('crypto'); function verifyWebhook(payload, signature, secret) { const hash = crypto .createHmac('sha1', secret) .update(payload) .digest('hex'); return signature === `sha1=${hash}`; }
Webhook Best Practices
Respond quickly — Return 200 OK within 5 seconds
Process async — Queue the payload, process later
Handle retries — Intercom retries failed deliveries
Monitor failures — Check webhook logs regularly
API Keys
Use API keys for custom integrations and scripts.
Types of API Keys
Type | Use Case | Permissions |
Access Token | Server-side API calls | Full API access |
Identity Verification Secret | Secure user identification | User verification only |
App ID | Client-side identification | Read-only, public |
Creating an Access Token
Go to Settings → Integrations → Developer Hub
Click New app (or select existing)
Navigate to Authentication
Generate an Access Token
Copy and store securely
⚠️ Security: Never expose access tokens in client-side code or public repositories.
API Authentication
Include your token in API requests:
curl https://api.intercom.io/contacts \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Accept: application/json"
Common API Use Cases
Use Case | Endpoint |
Create/update users | POST /contacts |
Send messages | POST /messages |
Search conversations | POST /conversations/search |
Add tags | POST /tags |
Export data | POST /export/content/data |
Identity Verification
Prevent impersonation by verifying user identity:
Go to Settings → Security → Identity verification
Enable for web/mobile
Copy your Identity Verification Secret
Generate user hash server-side:
const crypto = require('crypto'); function generateUserHash(userId, secret) { return crypto .createHmac('sha256', secret) .update(userId) .digest('hex'); }Pass hash to Intercom:
Intercom('boot', { app_id: 'YOUR_APP_ID', user_id: '12345', user_hash: 'generated_hash_here' });Zapier & Make (No-Code Automation)
Connect Intercom to 5,000+ apps without code.
Zapier Setup
Create a Zapier account
Search for Intercom
Authenticate your Intercom workspace
Build Zaps with triggers and actions
Popular Zaps:
Trigger | Action |
New conversation | Create Slack message |
Conversation tagged "urgent" | Create Jira ticket |
New user | Add to Mailchimp list |
Conversation closed | Log to Google Sheets |
Make (Integromat) Setup
Create a Make account
Add Intercom module to your scenario
Authenticate and configure triggers
Build multi-step workflows
Tip: Use Make for complex workflows with multiple conditions. Use Zapier for quick, simple automations.
Troubleshooting Integrations
Common Issues
Problem | Solution |
Integration disconnected | Re-authenticate with fresh credentials |
Data not syncing | Check field mappings and sync direction |
Webhook failures | Verify endpoint URL and check logs |
API rate limited | Implement backoff and reduce request frequency |
Duplicate records | Review matching rules and deduplication settings |
Checking Integration Logs
Go to Settings → Integrations → [Your Integration]
Click Activity or Logs
Review recent events and errors
Export logs for debugging if needed
API Rate Limits
Intercom enforces rate limits:
Plan | Limit |
Standard | 1,000 requests/minute |
Pro/Premium | Higher limits (varies) |
Handle rate limits gracefully:
// Check for 429 status and retry after delay if (response.status === 429) { const retryAfter = response.headers['retry-after']; await sleep(retryAfter * 1000); // Retry request }Security Best Practices
Rotate API keys periodically (every 90 days recommended)
Use least privilege — only grant permissions needed
Enable identity verification for user-facing implementations
Monitor API usage for unusual patterns
Secure webhooks with signature verification
Never commit secrets to version control
Need Help?
Email: [email protected]
Phone: +41 79 741 86 13
Need custom integrations built? Ask about our Custom Implementation services for complex CRM syncs, webhook workflows, and API development.
