Skip to main content

pp-intercom

Every Intercom resource as a typed CLI with offline sync and EU/AU regions. Trigger phrases: `search intercom conversations`, `tag intercom conversations in bulk`, `intercom contact 360`, `intercom SLA report`, `pull intercom articles`, `use intercom-pp-cli`, `run intercom-pp-cli`.

ソース情報

リポジトリ
mvanhorn/printing-press-library
ソースの最終更新活動
2026年7月24日 23:53
検出された SKILL.md の言語
英語
スター
1,918
フォーク
572

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
pp-intercom
description
Every Intercom resource as a typed CLI with offline sync and EU/AU regions. Trigger phrases: `search intercom conversations`, `tag intercom conversations in bulk`, `intercom contact 360`, `intercom SLA report`, `pull intercom articles`, `use intercom-pp-cli`, `run intercom-pp-cli`.
author
Rob Zehner
license
Apache-2.0
argument-hint
<command> [args] | install cli|mcp
allowed-tools
Read Bash
metadata
{"openclaw":{"requires":{"bins":"[Truncated]"},"install":["[Truncated]"]}}
<!-- GENERATED FILE — DO NOT EDIT. This file is a verbatim mirror of library/sales-and-crm/intercom/SKILL.md, regenerated post-merge by tools/generate-skills/. Hand-edits here are silently overwritten on the next regen. Edit the library/ source instead. See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". --> # Intercom — Printing Press CLI ## Prerequisites: Install the CLI This skill drives the `intercom-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first: 1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows: ```bash npx -y @mvanhorn/printing-press-library install intercom --cli-only ``` 2. Verify: `intercom-pp-cli --version` 3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill. If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.5 or newer). This installs into `$GOPATH/bin` (default `$HOME/go/bin`), so add that directory to `$PATH` instead: ```bash go install github.com/mvanhorn/printing-press-library/library/sales-and-crm/intercom/cmd/intercom-pp-cli@latest ``` If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds. This CLI exposes the full Intercom REST API as a single Go binary. Every endpoint is a subcommand. A `sync` command mirrors conversations, contacts, companies, tickets, and articles into a local SQLite database so offline `search` and four headline transcendence commands — `incident-tag`, `articles pull/push`, `contact 360`, and `conversations sla` — answer the questions the API alone can't. Region-aware (`--region us|eu|au`) and built for agents (JSON-first, typed exit codes, MCP-mirrored). ## When to Use This CLI Use intercom-pp-cli when you need to run the same Intercom operation across many records, when the official MCP doesn't reach your workspace (EU/AU), when you need offline analytics the API doesn't compute (first-response SLA, contact 360 joins), or when you're building an agent that triages, tags, or summarizes conversations and needs every Intercom action as a callable tool. ## Unique Capabilities These capabilities aren't available in any other tool for this API. ### Incident response and bulk ops - **`conversations incident-tag`** — Tag every conversation mentioning a phrase in a time window with one safe-by-default command. _When an incident hits, tagging 50 conversations by hand is the bottleneck; this is the single command that closes the loop without spreadsheets._ ```bash intercom-pp-cli conversations incident-tag --mentions "checkout fails" --since 24h --tag incident-2026-05-24 --apply ``` ### Help center as code - **`articles pull`** — Flatten every help-center article into a markdown tree you can edit in git, then push changes back. _Lets docs teams version-control help-center content alongside product code; multilingual articles land as sibling files._ ```bash intercom-pp-cli articles pull --to ./articles/ ``` ### Local-only analytics - **`contact 360`** — One nested payload joining a contact across companies, conversations, tickets, notes, and tags. _Replaces 4-6 separate API calls and a mental merge; this is the lookup an agent makes before every triage decision._ ```bash intercom-pp-cli contact 360 mei@example.com --agent ``` - **`conversations sla`** — First-response and resolution-time metrics grouped by team or admin, computed over the local store. _Replaces the weekly export-to-spreadsheet ritual; the API alone can't compute this in one call._ ```bash intercom-pp-cli conversations sla --group-by team --metric first-response,resolution --since 7d --agent ``` ## Command Reference **admins** — Everything about your Admins - `intercom-pp-cli admins list` — You can fetch a list of admins for a given workspace. - `intercom-pp-cli admins list-activity-logs` — You can get a log of activities by all admins in an app. - `intercom-pp-cli admins retrieve` — You can retrieve the details of a single admin. **ai** — Manage ai - `intercom-pp-cli ai create-content-import-source` — You can create a new content import source by sending a POST request to this endpoint. - `intercom-pp-cli ai create-external-page` — You can create a new external page by sending a POST request to this endpoint. - `intercom-pp-cli ai delete-content-import-source` — You can delete a content import source by making a DELETE request this endpoint. - `intercom-pp-cli ai delete-external-page` — Sending a DELETE request for an external page will remove it from the content library UI and from being used for AI - `intercom-pp-cli ai get-content-import-source` — Retrieve a content import source - `intercom-pp-cli ai get-external-page` — You can retrieve an external page. - `intercom-pp-cli ai list-content-import-sources` — You can retrieve a list of all content import sources for a workspace. - `intercom-pp-cli ai list-external-pages` — You can retrieve a list of all external pages for a workspace. - `intercom-pp-cli ai update-content-import-source` — You can update an existing content import source. - `intercom-pp-cli ai update-external-page` — You can update an existing external page (if it was created via the API). **articles** — Everything about your Articles - `intercom-pp-cli articles create` — You can create a new article by making a POST request to `https://api.intercom.io/articles`. - `intercom-pp-cli articles delete` — You can delete a single article by making a DELETE request to `https://api.intercom.io/articles/<id>`. - `intercom-pp-cli articles list` — You can fetch a list of all articles by making a GET request to `https://api.intercom.io/articles`. - `intercom-pp-cli articles retrieve` — You can fetch the details of a single article by making a GET request to `https://api.intercom.io/articles/<id>`. - `intercom-pp-cli articles search` — You can search for articles by making a GET request to `https://api.intercom.io/articles/search`. - `intercom-pp-cli articles update` — You can update the details of a single article by making a PUT request to `https://api.intercom.io/articles/<id>`. **companies** — Everything about your Companies - `intercom-pp-cli companies create-or-update-company` — You can create or update a company. - `intercom-pp-cli companies delete-company` — Delete a single company. This endpoint does not permanently remove the company. - `intercom-pp-cli companies list-all` — You can list companies. - `intercom-pp-cli companies retrieve-acompany-by-id` — You can fetch a single company. - `intercom-pp-cli companies retrieve-company` — You can fetch a single company by passing in `company_id` or `name`. `https://api.intercom.io/companies? - `intercom-pp-cli companies scroll-over-all` — The `list all companies` functionality does not work well for huge datasets - `intercom-pp-cli companies update-company` — You can update a single company using the Intercom provisioned `id`. **contacts** — Everything about your contacts - `intercom-pp-cli contacts create` — You can create a new contact (ie. user or lead). - `intercom-pp-cli contacts delete` — You can delete a single contact. - `intercom-pp-cli contacts list` — You can fetch a list of all contacts (ie. users or leads) in your workspace. - `intercom-pp-cli contacts merge` — You can merge a contact with a `role` of `lead` into a contact with a `role` of `user`. - `intercom-pp-cli contacts search` — You can search for multiple contacts by the value of their attributes in order to fetch exactly who you want. - `intercom-pp-cli contacts show` — You can fetch the details of a single contact. - `intercom-pp-cli contacts show-by-external-id` — You can fetch the details of a single contact by external ID. Note that this endpoint only supports users and not leads. - `intercom-pp-cli contacts update` — You can update an existing contact (ie. user or lead). **conversations** — Everything about your Conversations - `intercom-pp-cli conversations create` — You can create a conversation that has been initiated by a contact (ie. user or lead). - `intercom-pp-cli conversations delete` — {% admonition type='warning' name='Irreversible operation' %} Deleting a conversation is permanent and cannot be - `intercom-pp-cli conversations list` — You can fetch a list of all conversations. - `intercom-pp-cli conversations redact` — You can redact a conversation part or the source message of a conversation (as seen in the source object). - `intercom-pp-cli conversations retrieve` — You can fetch the details of a single conversation. - `intercom-pp-cli conversations search` — You can search for multiple conversations by the value of their attributes in order to fetch exactly which ones you - `intercom-pp-cli conversations update` — You can update an existing conversation. **custom-object-instances** — Everything about your Custom Object instances. {% admonition type="warning" name="Permission Requirements" %} From now on, to access this endpoint, you need additional permissions. Please head over to the [Developer Hub](https://app.intercom.com/a/apps/_/developer-hub) app package authentication settings to configure the required permissions. {% /admonition %} - `intercom-pp-cli custom-object-instances create` — Create or update a custom object instance - `intercom-pp-cli custom-object-instances delete-by-external-id` — Delete a single Custom Object instance using the Intercom defined id. - `intercom-pp-cli custom-object-instances delete-by-id` — Delete a single Custom Object instance by external_id. - `intercom-pp-cli custom-object-instances get-by-external-id` — Fetch a Custom Object Instance by external_id. - `intercom-pp-cli custom-object-instances get-by-id` — Fetch a Custom Object Instance by id. **data-attributes** — Everything about your Data Attributes - `intercom-pp-cli data-attributes create` — You can create a data attributes for a `contact` or a `company`. - `intercom-pp-cli data-attributes lis` — You can fetch a list of all data attributes belonging to a workspace for contacts, companies or conversations. - `intercom-pp-cli data-attributes update` — You can update a data attribute. **download** — Manage download - `intercom-pp-cli download <job_identifier>` — When a job has a status of complete, and thus a filled download_url **events** — Manage events - `intercom-pp-cli events create-data` — You will need an Access Token that has write permissions to send Events. - `intercom-pp-cli events data-summaries` — Create event summaries for a user. - `intercom-pp-cli events lis-data` — > 🚧 > > Please note that you can only 'list' events that are less than 90 days old. **help-center** — Everything about your Help Center - `intercom-pp-cli help-center create-collection` — You can create a new collection by making a POST request to `https://api.intercom.io/help_center/collections.` - `intercom-pp-cli help-center delete-collection` — You can delete a single collection by making a DELETE request to `https://api.intercom.io/collections/<id>`. - `intercom-pp-cli help-center list` — You can list all Help Centers by making a GET request to `https://api.intercom.io/help_center/help_centers`. - `intercom-pp-cli help-center list-all-collections` — You can fetch a list of all collections by making a GET request to `https://api.intercom.io/help_center/collections`. - `intercom-pp-cli help-center retrieve` — You can fetch the details of a single Help Center by making a GET request to `https://api.intercom. - `intercom-pp-cli help-center retrieve-collection` — You can fetch the details of a single collection by making a GET request to `https://api.intercom. - `intercom-pp-cli help-center update-collection` — You can update the details of a single collection by making a PUT request to `https://api.intercom.io/collections/<id>`. **intercom-export** — Manage intercom export - `intercom-pp-cli intercom-export cancel-data` — Cancel content data export - `intercom-pp-cli intercom-export create-data` — To create your export job, you need to send a `POST` request to the export endpoint `https://api.intercom. - `intercom-pp-cli intercom-export get-data` — You can view the status of your job by sending a `GET` request to the URL `https://api.intercom. **internal-articles** — Everything about your Internal Articles - `intercom-pp-cli internal-articles create` — You can create a new internal article by making a POST request to `https://api.intercom.io/internal_articles`. - `intercom-pp-cli internal-articles delete` — You can delete a single internal article by making a DELETE request to `https://api.intercom.io/internal_articles/<id>`. - `intercom-pp-cli internal-articles list` — You can fetch a list of all internal articles by making a GET request to `https://api.intercom.io/internal_articles`. - `intercom-pp-cli internal-articles retrieve` — You can fetch the details of a single internal article by making a GET request to `https://api.intercom. - `intercom-pp-cli internal-articles search` — You can search for internal articles by making a GET request to `https://api.intercom.io/internal_articles/search`. - `intercom-pp-cli internal-articles update` — You can update the details of a single internal article by making a PUT request to `https://api.intercom. **me** — Manage me - `intercom-pp-cli me` — You can view the currently authorised admin along with the embedded app object (a 'workspace' in legacy terminology). **messages** — Everything about your messages - `intercom-pp-cli messages` — You can create a message that has been initiated by an admin. **news** — Everything about your News - `intercom-pp-cli news create-item` — You can create a news item - `intercom-pp-cli news delete-item` — You can delete a single news item. - `intercom-pp-cli news list-items` — You can fetch a list of all news items - `intercom-pp-cli news list-live-newsfeed-items` — You can fetch a list of all news items that are live on a given newsfeed - `intercom-pp-cli news list-newsfeeds` — You can fetch a list of all newsfeeds - `intercom-pp-cli news retrieve-item` — You can fetch the details of a single news item. - `intercom-pp-cli news retrieve-newsfeed` — You can fetch the details of a single newsfeed - `intercom-pp-cli news update-item` — Update a news item **notes** — Everything about your Notes - `intercom-pp-cli notes <id>` — You can fetch the details of a single note. **phone-call-redirects** — Manage phone call redirects - `intercom-pp-cli phone-call-redirects` — You can use the API to deflect phone calls to the Intercom Messenger. **segments** — Everything about your Segments - `intercom-pp-cli segments list` — You can fetch a list of all segments. - `intercom-pp-cli segments retrieve` — You can fetch the details of a single segment. **subscription-types** — Everything about subscription types - `intercom-pp-cli subscription-types` — You can list all subscription types. A list of subscription type objects will be returned. **tags** — Everything about tags - `intercom-pp-cli tags create` — You can use this endpoint to perform the following operations: **1. - `intercom-pp-cli tags delete` — You can delete the details of tags that are on the workspace by passing in the id. - `intercom-pp-cli tags find` — You can fetch the details of tags that are on the workspace by their id. This will return a tag object. - `intercom-pp-cli tags list` — You can fetch a list of all tags for a given workspace. **teams** — Everything about your Teams - `intercom-pp-cli teams list` — This will return a list of team objects for the App. - `intercom-pp-cli teams retrieve` — You can fetch the details of a single team, containing an array of admins that belong to this team. **ticket-states** — Everything about your ticket states - `intercom-pp-cli ticket-states` — You can get a list of all ticket states for a workspace. **ticket-types** — Everything about your ticket types - `intercom-pp-cli ticket-types create` — You can create a new ticket type. > 📘 Creating ticket types. - `intercom-pp-cli ticket-types get` — You can fetch the details of a single ticket type. - `intercom-pp-cli ticket-types list` — You can get a list of all ticket types for a workspace. - `intercom-pp-cli ticket-types update` — You can update a ticket type. > 📘 Updating a ticket type. **tickets** — Everything about your tickets - `intercom-pp-cli tickets create` — You can create a new ticket. - `intercom-pp-cli tickets delete` — {% admonition type='warning' name='Irreversible operation' %} Deleting a ticket is permanent and cannot be reversed. - `intercom-pp-cli tickets get` — You can fetch the details of a single ticket. - `intercom-pp-cli tickets search` — You can search for multiple tickets by the value of their attributes in order to fetch exactly which ones you want. - `intercom-pp-cli tickets update` — You can update a ticket. **visitors** — Everything about your Visitors - `intercom-pp-cli visitors convert` — You can merge a Visitor to a Contact of role type `lead` or `user`. > 📘 What happens upon a visitor being converted? - `intercom-pp-cli visitors retrieve-with-user-id` — You can fetch the details of a single visitor. - `intercom-pp-cli visitors update` — Sending a PUT request to `/visitors` will result in an update of an existing Visitor. **Option 1. ### Finding the right command When you know what you want to do but not which command does it, ask the CLI directly: ```bash intercom-pp-cli which "<capability in your own words>" ``` `which` resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code `0` means at least one match; exit code `2` means no confident match — fall back to `--help` or use a narrower query. ## Recipes ### Tag every conversation mentioning an outage ```bash intercom-pp-cli conversations incident-tag --mentions "checkout fails" --since 24h --tag incident-2026-05-24 --apply ``` Search server-side, dry-run by default, --apply fans out tag mutations through the adaptive limiter. ### Find slow-response teams this week ```bash intercom-pp-cli conversations sla --group-by team --metric first-response,resolution --since 7d --agent --select team,first_response_p50_minutes,resolution_p90_hours ``` Local SQL over conversations + parts; --select narrows the nested payload so agents don't burn context. ### Pull every help-center article into a git-managed tree ```bash intercom-pp-cli articles pull --to ./articles/ ``` Each article lands as `<id>-<slug>.<locale>.md` with YAML frontmatter; commit the directory to git, edit locally, then run `intercom-pp-cli articles push --from ./articles/` to sync diffs back. ### Resolve a contact before triaging ```bash intercom-pp-cli contact 360 mei@example.com --agent --select contact.id,companies,open_conversations,recent_tickets ```
GitHubで見る
この SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る