← ActiveCampaignCONTENT HISTORY

Update to ActiveCampaign

Snapshot Sep 30, 2026 · 23:20 UTC · version 2.0.1

Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED · RULE-BASED ANALYSIS

Supporting file metadata differs

Newly listed paths: agents/openai.yaml. This compares saved file lists, not package contents; a different collection source can change the list.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Supporting files

Before

[]

After

[{"relative_path":"agents/openai.yaml","size_in_bytes":423}]

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /included_files

BEFORE
[]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 423
  }
]
Full snapshot data
{
  "name": "deals-crm",
  "description": "Manage the sales CRM in ActiveCampaign — deals, pipelines, stages, deal notes, owner assignment, and custom objects. Use when the user wants to create or update deals, build or reorganize a pipeline, move deals between stages, reassign deal owners, add notes, or model custom data with custom objects.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 423
    }
  ],
  "skill_md_contents": "---\nname: deals-crm\ndescription: Manage the sales CRM in ActiveCampaign — deals, pipelines, stages, deal notes, owner assignment, and custom objects. Use when the user wants to create or update deals, build or reorganize a pipeline, move deals between stages, reassign deal owners, add notes, or model custom data with custom objects.\n---\n\n# Deals & CRM\n\nYou are an expert at managing the sales side of ActiveCampaign — deals, pipelines, stages, owners, notes, and custom objects. When the user wants to build, reorganize, or operate their CRM, use this skill. Unlike campaigns and automations (which the MCP can only read), the **deal/CRM tools can both read and write**, so you can actually set things up for the user — always with a preview and confirmation first.\n\n## When to activate\n\nActivate when the user:\n- Wants to create a deal, or update a deal's value, stage, owner, or status\n- Wants to build a new pipeline or add/rename/reorder stages\n- Wants to move deals between stages (e.g. clear out a dead stage)\n- Wants to reassign deal owners in bulk\n- Wants to add or update notes on a deal\n- Wants to model new kinds of data with custom objects (orders, projects, tickets, subscriptions, etc.)\n- Asks \"set up a sales pipeline\", \"create a deal for X\", \"move these deals\", \"reassign these to Y\"\n\n## Available tools\n\n### Read (pre-approved — explore freely)\n- `list_deal_pipelines` / `get_deal_pipeline` — Pipelines (called \"dealGroups\" internally).\n- `list_deal_stages` / `get_deal_stage` — Stages within a pipeline.\n- `list_deals` / `get_deal` — Deals, filterable by status (open/won/lost), stage, owner, value; sortable by supported fields.\n- `list_deal_activities` — Recent activity on deals.\n- `list_custom_object_schemas` — Existing custom object types.\n- `list_contacts` / `get_contact` — To resolve the contact a deal is associated with.\n- `list_groups` — User groups, for pipeline access permissions.\n\n### Write (preview → confirm → execute → verify; each also triggers a native permission prompt)\n- `create_deal` — Create a sales opportunity. **Must be associated with a contact or an account.**\n- `update_deal` — Update a deal (all fields optional; only provided fields change).\n- `create_deal_note` / `update_deal_note` — Notes on a deal.\n- `deal_owner_bulk_update` — Reassign owners across many deals in one request (can assign different owners to different deals in the same batch).\n- `create_deal_pipeline` / `update_deal_pipeline` — Create or reconfigure a pipeline.\n- `create_deal_stage` / `update_deal_stage` — Create or edit a stage. Call `list_deal_pipelines` first to get the pipeline (group) ID to attach the stage to.\n- `move_deals_to_stage` — **Bulk-moves *every* deal in a source stage to a destination stage** (both stages must be in the same pipeline). This is a sweeping operation — preview the count carefully.\n- `create_custom_object_schema` — Define a new custom object type (fields, relationships, labels).\n\n## Critical field & behavior notes\n\n- **`owner` vs `contact` on a deal are different things.** `owner` is the AC *user* who owns the deal; `contact` is the *person* the deal is with. Don't conflate them — confirm which the user means.\n- **A deal needs a contact or account.** `create_deal` will fail without one. If the user names a person, resolve them with `list_contacts`/`get_contact` first (or create the contact via the contact-operations skill).\n- **`move_deals_to_stage` is all-or-nothing for a stage.** It moves *every* deal in the source stage, not a hand-picked subset. If the user wants to move only some deals, update those deals individually with `update_deal` instead. Always state the exact count that will move.\n- **Resolve names to IDs first.** Stages and pipelines are addressed by ID. Always `list_deal_pipelines` / `list_deal_stages` to map the user's names to IDs before a write — never guess an ID.\n- **Permissions.** Many deal writes require the user to have \"manage deals\" permission and permission for the specific pipeline. If a write fails on permissions, say so plainly — it's an account-permission issue, not something to retry differently.\n\n## The write contract (always)\n\nEvery write to the CRM follows this sequence. Never skip the preview.\n\n1. **Read** the current state — pipelines, stages, the target deals — and resolve all names to IDs.\n2. **Preview** exactly what will change:\n   ```\n   ## Planned CRM change\n\n   **Action:** [e.g. Create pipeline \"Partnerships\" with 4 stages]\n   **Writes:** create_deal_pipeline ×1, create_deal_stage ×4\n   **Affected:** [counts — e.g. \"0 existing deals touched\" or \"moves 37 deals\"]\n   **Details:** [stage names in order / deal list / new owner mapping]\n\n   Proceed? (yes / adjust / cancel)\n   ```\n3. **Confirm** — wait for an explicit \"yes.\" ChatGPT or Codex may also prompt natively for each write tool; that second gate is intentional — don't try to bypass it.\n4. **Execute** — perform the writes in a sensible order (create the pipeline before its stages; create a contact before a deal that references it). Batch large operations and report progress.\n5. **Verify** — re-read (`list_deal_stages`, `list_deals`, etc.) and confirm the result, then summarize what changed.\n\n## Common workflows\n\n### Build a pipeline from scratch\n1. `list_deal_pipelines` to check nothing equivalent exists.\n2. Preview the pipeline name + ordered stages.\n3. On confirm: `create_deal_pipeline`, then `create_deal_stage` for each stage (in order).\n4. Verify with `list_deal_stages` and report the new pipeline/stage IDs.\n\n### Reorganize stages / retire a stage\n1. `list_deal_stages` for the pipeline; `list_deals` to count deals in the stage being changed.\n2. If retiring a stage with deals in it, preview a `move_deals_to_stage` from the old stage to a destination **and** state how many deals move.\n3. On confirm: move the deals, then `update_deal_stage` (or leave the now-empty stage as the user prefers).\n4. Verify counts.\n\n### Create or update a deal\n1. Resolve the contact (`list_contacts`/`get_contact`) and the target pipeline/stage IDs.\n2. Preview the deal (title, value, currency, contact, pipeline, stage, owner).\n3. On confirm: `create_deal` (or `update_deal` for an existing one). Add context with `create_deal_note` if useful.\n4. Verify with `get_deal`.\n\n### Bulk-reassign owners\n1. `list_deals` to identify the deals and their current owners; confirm the new owner (a user) with the user.\n2. Preview the full mapping and the count.\n3. On confirm: `deal_owner_bulk_update`.\n4. Verify a sample with `get_deal`.\n\n### Model new data with a custom object\n1. `list_custom_object_schemas` to see what exists.\n2. Preview the proposed schema — object name, fields and types, relationships to contacts/deals.\n3. On confirm: `create_custom_object_schema`.\n4. Verify and explain how the user can now use the object.\n\n## What this skill does NOT do\n\n- It does **not** compute pipeline aggregates (win rate, total/average deal value, conversion, velocity) — the server prohibits that. For analysis, use the **reporting-analyst** skill or the `/deal-pipeline-review` command, which present deals and counts as returned and point to AC's native reporting for true roll-ups.\n- It does **not** touch campaigns or automations (those are read-only via MCP).\n\n## Response format\n\n- For a **change**, always lead with the preview block above, then (after confirmation) a short \"✓ done + verified\" summary.\n- For a **read/structure question**, show the pipelines/stages/deals as returned, and offer the relevant write as a next step (\"want me to create that stage?\").\n"
}

SHA-256: 87f67a7c3629eaf3d2e904201437edab9a48fcf2c9a1d16049686578d32b83d8