RedPlanetHQ / RedPlanetHQ/core

New Integration: Intercom

Open
#477 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue integration new-feature new-integration
Dominant language
TypeScript
Stars
2k
Forks
194
Avg merge
12m
Merged PRs (30d)
2

Description

Description

Add Intercom integration to sync customer conversations, contacts, companies, and help center articles into CORE.

Reference Implementations

Existing Integrations (use as templates)
  • integrations/hubspot/ - Similar CRM/customer platform
  • integrations/slack/ - Messaging and conversation sync reference
  • integrations/linear/ - Project management integration
Required Files Structure
integrations/intercom/
├── src/
│   ├── index.ts          # Main entry, OAuth spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Intercom API utilities
│   ├── account-create.ts # OAuth setup
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Intercom API Integration

OAuth Setup
  • Use OAuth 2.0
  • Current API version: 2.15
  • Set API version via Intercom-Version HTTP header
  • Required scopes: Conversations, Contacts, Companies, Help Center, Data Events
  • Base URL: https://api.intercom.io
Key Endpoints
  • GET /conversations - List all conversations
  • GET /conversations/{id} - Get a specific conversation
  • GET /contacts - List/search contacts
  • GET /contacts/{id} - Get a specific contact
  • GET /companies - List all companies
  • GET /articles - List help center articles
  • GET /admins - List all admins/teammates
  • GET /data_events - List data events for a user
  • GET /teams - List all teams
  • GET /tags - List all tags

Events to Track

  1. Conversations - New conversations, replies, assignments, closures, reopens
  2. Contacts - New leads, new users, contact updates
  3. Companies - New companies, updates
  4. Articles - Published, updated help center articles
  5. Notes - Notes added to contacts

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement OAuth 2.0 flow in account-create.ts
  • Create API utilities in utils.ts with Intercom API v2.15 client
  • Implement sync logic in schedule.ts for conversations, contacts, companies
  • Convert Intercom events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • REST API v2.15 is the latest version
  • Version must be set via Intercom-Version header on each request
  • OpenAPI specification available at github.com/intercom/Intercom-OpenAPI
  • Supports webhooks for real-time event notifications
  • Pagination uses cursor-based pagination
  • Rate limits apply per app
  • Intercom provides scroll API for bulk data export

Resources

Labels

enhancement, integration, new-feature

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading integrations/github/src/index.ts and compare the integrations/hubspot/, integrations/slack/, and integrations/linear/ templates. Build the listed integrations/intercom/ files around Intercom OAuth, API v2.15, cursor pagination, and the requested sync events, then add the integration documentation and integrations/README.md entry; done means the full task checklist is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.