ActiveCampaign (50+ Capabilities)
ActiveCampaign agent for marketers + sales: list health, lead scoring, deliverability, campaign postmortems, automation diagnostics, and 40+ more reports. Skill: ActiveCampaign (50+ Capabilities) Owner: ji282h7 Summary: ActiveCampaign agent for marketers + sales: list health, lead scoring, deliverability, campaign postmortems, automation diagnostics, and 40+ more reports. Tags: latest:1.9.4 Version history: v1.9.4 | 2026-06-04T17:09:50.694Z | user See CHANGELOG.md for the full entry. v1.9.3 | 2026-06-04T13:56:38.262Z | user See CHANGELOG.md for the full entry. v1.9.1 |
Rank
62
Safety
84
Downloads
1.4k
Updated
Oct 10, 2026
Version
1.9.4
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.4K downloadsadoption · observed Oct 10, 2026
- Latest release
- 1.9.4release · observed Jun 4, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s171zd9w8fc2xshjc69kvzwpvh85fm59:activecampaign-claw- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-ji282h7-activecampaign-claw/snapshot"
Documentation
CLAWHUB
160,000 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
--- name: activecampaign-claw displayName: "ActiveCampaign (50+ Capabilities)" version: 1.9.4 license: MIT-0 author: ji282h7 summary: "ActiveCampaign agent for marketers + sales: 50+ reports for list, campaign, automation, and pipeline analysis." description: "ActiveCampaign agent for marketers + sales: list health, lead scoring, deliverability, campaign postmortems, automation diagnostics, and 40+ more reports." homepage: https://github.com/ji282h7/activecampaign-claw repository: https://github.com/ji282h7/activecampaign-claw keywords: - activecampaign - email-marketing - marketing-automation - crm - lead-scoring - deliverability - segmentation - drip-campaign - list-hygiene - campaign-analytics - subject-line-testing - send-time-optimization - re-engagement - welcome-series - sales-ops tags: - marketing - sales - crm - email - automation - analytics - reporting user-invocable: true argument-hint: "what would you like to do in ActiveCampaign?" allowed-tools: - Bash - Read when_to_use: # daily / strategic — explicit AC-scoped requests - "run my ActiveCampaign daily-digest recipe" - "design a welcome-series email sequence for ActiveCampaign (spec only — user builds in AC UI)" - "find slipping deals in my ActiveCampaign pipeline" - "audit my ActiveCampaign list health and deliverability" - "rank my ActiveCampaign contacts by lead score" - "show overdue deals in my ActiveCampaign account" - "calibrate my ActiveCampaign account or refresh local state.json" # contact + deal lookups (read) - "look up a contact in ActiveCampaign or check their profile" - "review the tags applied to a contact" - "see what lists a contact is on" - "see what automations a contact has been enrolled in" - "check bounce logs or contact scores" - "look up custom field values on a contact or deal" - "review or analyze a deal in the pipeline" - "filter deals by pipeline, stage, owner, or status" - "what's my pipeline value, deal count, or stage distribution" - "list my pipelines, stages, automations, tags, or custom fields" # marketing strategy - "who should I send this email to or how should I segment my list" - "help me write a subject line or improve email open rates" - "why is my open rate, click rate, or deliverability dropping" - "what's the best day or time to send emails" - "should this be a tag, custom field, or list in ActiveCampaign" - "design engagement tiers, RFM scoring, or lifecycle segments" - "re-engagement campaign for dormant or inactive contacts" - "review bounce handling and suppression status" - "email copy advice, CTA design, or campaign content review" # Performance analysis - "campaign postmortem / breakdown / report on my last send" - "compare two campaigns side by side" - "per-link performance / which link got the most clicks" - "bounce decomposition / why are emails bouncing" - "monthly campaign performance trend" - "are my metrics d
README.md
# AI Marketing + ActiveCampaign [](https://github.com/ji282h7/activecampaign-claw/actions/workflows/test.yml) [](https://www.python.org) [](LICENSE) [](CHANGELOG.md) [](#what-it-can-do) [](tests/) [](https://developers.activecampaign.com/reference) > Unlock ActiveCampaign's core capabilities — plus 50+ deeper diagnostics — through OpenClaw. Ask in plain English; get real reports on your live account data. ## Why this exists ActiveCampaign is a deep platform. Every contact event, list movement, campaign metric, automation step, and pipeline interaction is captured and exposed through the v3 API. This skill makes all of that accessible the way you'd actually want to use it — by just asking. Calibration scans your taxonomy and 90 days of campaign baselines once at install, so when you ask "find me my hottest leads" or "which subject lines actually work" or "are there dead tags I should clean up," the answer comes from your real data, formatted as a marker-friendly markdown report. ActiveCampaign already covers the core capabilities — sends, automations, lead scoring, deals, segmentation. This skill adds the analytical layer on top (40+ reports) and wires it directly into the OpenClaw agent so the workflow is conversational rather than dashboard-driven. ## What it can do ### Performance analysis (you ask, it pulls) - **Campaign postmortems** — every metric for one send, vs. your account baseline, with per-link CTR - **Subject line analysis** — your top performers clustered by length, emoji, urgency, personalization, and ranked by lift - **Send time optimization** — when your specific audience opens, by hour and day of week - **Send frequency report** — who's getting fatigued (>8 sends/month) vs. who's been forgotten - **Domain breakdown** — engagement by Gmail / Outlook / corporate; catches deliverability problems before they snowball - **Engagement decay** — cohort retention plot; see when your list goes dead - **From-name performance** — which sender name actually gets opened - **Monthly trend** — opens/clicks/unsubs/bounces over time vs. baseline - **Baseline drift detector** — pings you when a metric drops >1σ from calibrated normal ### List & contact health - **List health audit** — bounces, role addresses, free-vs-corporate domains, suppressions to clean up - **Duplicate finder** — case-insensitive emails, normalized phones, fuzzy name+company - **Role address detector** — surfaces `info@`, `support@`, `noreply@` clutter - **Field
_meta.json
{
"ownerId": "kn77j209ghdc4gvp8c0rzdd61d85fbkp",
"slug": "activecampaign-claw",
"version": "1.9.4",
"publishedAt": 1780592990694
}references/contacts.md
# Contacts API Reference
ActiveCampaign v3 contacts API. All IDs are strings. Auth header is `Api-Token`, not `Bearer`.
## Upsert (sync) a contact
The primary way to create or update contacts. Matches by email — creates if new, updates if exists.
```bash
curl -s -X POST -H "Api-Token: $AC_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"contact":{"email":"[email protected]","firstName":"Jane","lastName":"Doe","phone":"555-1234"}}' \
"$AC_API_URL/api/3/contact/sync" | jq
```
Returns the contact object with `id`. Use this ID for all subsequent operations.
## Get a contact
```bash
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts/{id}" | jq
```
## List / search contacts
```bash
# By email
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/[email protected]" | jq
# By list membership
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts?listid=1" | jq
# By tag
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts?tagid=42" | jq
# By date created
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts?filters[created_after]=2026-01-01" | jq
# Full-text search
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts?search=acme" | jq
```
### Available filters
| Parameter | Description |
|---|---|
| `email` | Exact email match |
| `email_like` | Partial email match |
| `search` | Full-text across name/email/org |
| `listid` | Contacts on a specific list |
| `tagid` | Contacts with a specific tag |
| `segmentid` | Contacts in a segment |
| `status` | Contact status: `-1` (any), `0` (unconfirmed), `1` (active), `2` (unsubscribed), `3` (bounced) |
| `filters[created_before]` | ISO 8601 date |
| `filters[created_after]` | ISO 8601 date |
| `filters[updated_before]` | ISO 8601 date |
| `filters[updated_after]` | ISO 8601 date |
### Pagination
Default: 20 per page. Max: 100.
```bash
# Page through results
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts?limit=100&offset=0" | jq
# Faster at scale: cursor-based
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts?limit=100&orders[id]=ASC&id_greater=500" | jq
```
The `meta.total` field in the response gives the total count matching your filters.
## Delete a contact
> **STOP — requires explicit user confirmation.** Deleting a contact is permanent. There is no undo, no recycle bin. All associated data (tags, field values, deal associations, automation history) is destroyed. Prefer changing contact status to unsubscribed or tagging for suppression instead. Only delete if the user specifically says "delete" — not "remove", "clean up", or "suppress".
```bash
curl -s -X DELETE -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts/{id}" | jq
```
## Tags
### Add a tag to a contact
Look up the tag ID from `state.json` first.
```bash
curl -s -X POST -H "Api-Token: $AC_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"contactTreferences/custom-fields.md
# Custom Fields API Reference
Custom fields in AC are split into definitions (schema) and values (data). Contact fields and deal fields use different endpoints.
## Contact custom fields
### List field definitions
```bash
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/fields" | jq
```
Returns field `id`, `title`, `type`, and `options` (for dropdowns, `||`-delimited).
Field types: `text`, `textarea`, `date`, `datetime`, `dropdown`, `multiselect`, `radio`, `checkbox`, `listbox`, `hidden`, `number`.
### Read field values for a contact
```bash
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/contacts/{contactId}/fieldValues" | jq
```
Returns `fieldValues` array. Each has `field` (field ID), `value`, and `contact` (contact ID).
### Write a field value
```bash
curl -s -X POST -H "Api-Token: $AC_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fieldValue":{"contact":"123","field":"7","value":"Enterprise"}}' \
"$AC_API_URL/api/3/fieldValues" | jq
```
To update, use `PUT` with the fieldValue ID:
```bash
curl -s -X PUT -H "Api-Token: $AC_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fieldValue":{"contact":"123","field":"7","value":"Pro"}}' \
"$AC_API_URL/api/3/fieldValues/{fieldValueId}" | jq
```
### Create a new field definition
```bash
curl -s -X POST -H "Api-Token: $AC_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"field":{"title":"Signup Source","type":"dropdown","options":"Organic||Paid||Referral"}}' \
"$AC_API_URL/api/3/fields" | jq
```
## Deal custom fields
### List deal field definitions
```bash
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/dealCustomFieldMeta" | jq
```
### Read deal field values
```bash
curl -s -H "Api-Token: $AC_API_TOKEN" \
"$AC_API_URL/api/3/dealCustomFieldData?filters[dealId]={dealId}" | jq
```
### Write a deal field value
```bash
curl -s -X POST -H "Api-Token: $AC_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"dealCustomFieldDatum":{"dealId":"45","customFieldId":"1","fieldValue":"250000"}}' \
"$AC_API_URL/api/3/dealCustomFieldData" | jq
```
### Create a deal field definition
```bash
curl -s -X POST -H "Api-Token: $AC_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"dealCustomFieldMetum":{"fieldLabel":"Renewal Date","fieldType":"date"}}' \
"$AC_API_URL/api/3/dealCustomFieldMeta" | jq
```
Deal field types: `text`, `textarea`, `date`, `datetime`, `dropdown`, `multiselect`, `radio`, `checkbox`, `listbox`, `hidden`, `currency`, `number`.
## Multi-value fields
Dropdown and multiselect options use `||` as delimiter:
```
"options": "red||blue||green"
```
When writing a multiselect value, also use `||`:
```json
{"fieldValue": {"contact": "123", "field": "9", "value": "red||blue"}}
```
## Using field values with contact/sync
You can set field values directly during contact sync using the `fieldValues` array:
```bash
curl -s -X POST -H "Api-Token: $AC_API_TOKEN" \
-H "Content-Type: appAionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/ji282h7/skills/activecampaign-claw",
"sourceUrl": "https://clawhub.ai/ji282h7/skills/activecampaign-claw",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T13:31:48.725Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-ji282h7-activecampaign-claw/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-ji282h7-activecampaign-claw/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T13:31:48.725Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.4K downloads",
"href": "https://clawhub.ai/ji282h7/activecampaign-claw",
"sourceUrl": "https://clawhub.ai/ji282h7/activecampaign-claw",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T13:31:48.725Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.9.4",
"href": "https://clawhub.ai/ji282h7/activecampaign-claw",
"sourceUrl": "https://clawhub.ai/ji282h7/activecampaign-claw",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-04T17:09:50.694Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-ji282h7-activecampaign-claw/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-ji282h7-activecampaign-claw/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.9.4",
"description": "See CHANGELOG.md for the full entry.",
"href": "https://clawhub.ai/ji282h7/activecampaign-claw",
"sourceUrl": "https://clawhub.ai/ji282h7/activecampaign-claw",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-04T17:09:50.694Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
