| name | intercom-ci-integration |
| description | Configure CI/CD pipelines for Intercom integrations with GitHub Actions.
Use when setting up automated testing, configuring CI with Intercom secrets,
or integrating Intercom API tests into your build process.
Trigger with phrases like "intercom CI", "intercom GitHub Actions",
"intercom automated tests", "CI intercom", "intercom pipeline".
|
| allowed-tools | Read, Write, Edit, Bash(gh:*) |
| version | 1.6.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","support","messaging","intercom"] |
| compatibility | Designed for Claude Code |
Intercom CI Integration
Overview
Set up CI/CD pipelines for Intercom integrations with GitHub Actions: unit
tests with a mocked SDK (fast, token-free, run on every PR), integration tests
against a dev workspace (gated to main pushes), webhook signature tests, and
encrypted secret management. This SKILL.md carries the workflow at a high level;
the full copy-ready workflow, secret setup, and complete test suites live in
references/ for progressive disclosure.
Prerequisites
- GitHub repository with Actions enabled
- Intercom dev workspace access token (separate from production)
- npm/pnpm project with
intercom-client installed
Authentication
CI authenticates to Intercom with a dev workspace access token, never a
production one. Store it as an encrypted GitHub Actions secret
(INTERCOM_DEV_TOKEN) and expose it to the integration job as the
INTERCOM_ACCESS_TOKEN environment variable. The Intercom SDK and the
/me connectivity check both send it as a bearer token in the
Authorization: Bearer header. The unit-test job never receives a token —
its SDK is fully mocked. Webhook verification uses a separate
INTERCOM_WEBHOOK_SECRET HMAC secret.
Instructions
Read your existing package.json to confirm the test, typecheck, and
test:integration scripts exist, then work through these steps. Write each
file to the path shown; the deep reference files hold the full contents.
Step 1: GitHub Actions workflow
Write .github/workflows/intercom-ci.yml with two jobs — unit-tests (every
push and PR) and integration-tests (gated to main pushes). The integration
job first probes https://api.intercom.io/me and fails fast on a non-200:
- name: Verify Intercom connectivity
run: |
STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $INTERCOM_ACCESS_TOKEN" \
https://api.intercom.io/me)
if [ "$STATUS" != "200" ]; then exit 1; fi
Full workflow YAML: .