skills$openclaw/activecampaign
kesslerio2.5k

by kesslerio

activecampaign – OpenClaw Skill

activecampaign is an OpenClaw Skills integration for coding workflows. ActiveCampaign CRM integration for lead management, deal tracking, and email automation. Use for syncing demo leads, managing clinic sales pipeline, and triggering follow-up sequences.

2.5k stars2.2k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameactivecampaign
descriptionActiveCampaign CRM integration for lead management, deal tracking, and email automation. Use for syncing demo leads, managing clinic sales pipeline, and triggering follow-up sequences. OpenClaw Skills integration.
ownerkesslerio
repositorykesslerio/activecampaign
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @kesslerio/activecampaign
last updatedFeb 7, 2026

Maintainer

kesslerio

kesslerio

Maintains activecampaign in the OpenClaw Skills directory.

View GitHub profile
File Explorer
4 files
.
_meta.json
287 B
activecampaign-fields-sample.json
5.5 KB
README.md
2.2 KB
SKILL.md
4.0 KB
SKILL.md

name: activecampaign description: ActiveCampaign CRM integration for lead management, deal tracking, and email automation. Use for syncing demo leads, managing clinic sales pipeline, and triggering follow-up sequences. metadata: {"openclaw":{"emoji":"📧","requires":{"bins":["activecampaign"],"env":["ACTIVECAMPAIGN_URL","ACTIVECAMPAIGN_API_KEY"]},"primaryEnv":["ACTIVECAMPAIGN_URL","ACTIVECAMPAIGN_API_KEY"]}}

ActiveCampaign Skill 📧

ActiveCampaign integration for CRM automation and sales pipeline management.

Purpose

Manage leads, deals, and email automations for sales:

  • Contacts: Sync demo attendees, leads, and prospects
  • Deals: Track sales pipeline stages
  • Tags: Segment leads (demo-requested, nurture, close-ready)
  • Automations: Trigger email sequences based on actions
  • Custom Fields: Map order, shipping, billing, and subscription data

Setup

1. Credentials

# Create config directory
mkdir -p ~/.config/activecampaign

# Add credentials
echo "https://youraccount.api-us1.com" > ~/.config/activecampaign/url
echo "your-api-key" > ~/.config/activecampaign/api_key

# Or use environment variables
export ACTIVECAMPAIGN_URL="https://youraccount.api-us1.com"
export ACTIVECAMPAIGN_API_KEY="your-api-key"

Get API credentials from ActiveCampaign:

  • URL: Settings → Developer → API Access
  • API Key: Settings → Developer → API Access

2. Custom Fields Configuration (Optional)

The skill supports custom field mappings for order, shipping, billing, and subscription data.

# Initialize config from sample
activecampaign config init

# Edit with your field IDs
nano ~/.config/activecampaign/fields.json

The config file is gitignored and should not be committed.

Usage

# Contacts
activecampaign contacts list                    # List all contacts
activecampaign contacts create "email@test.com" "First" "Last"
activecampaign contacts sync "email@test.com" "First" "Last"
activecampaign contacts get <id>
activecampaign contacts search "clinic"
activecampaign contacts add-tag <id> <tag_id>
activecampaign contacts remove-tag <id> <tag_id>

# Deals
activecampaign deals list
activecampaign deals create "Clinic Name" <stage_id> <value>
activecampaign deals update <id> stage=<stage_id> value=<value>
activecampaign deals get <id>

# Tags
activecampaign tags list
activecampaign tags create "Demo Requested"

# Automations
activecampaign automations list
activecampaign automations add-contact <contact_id> <automation_id>

# Custom Fields
activecampaign fields list                    # List configured fields
activecampaign fields get order_fields.order_id
activecampaign fields set-field <contact_id> <field_id> <value>

# Lists
activecampaign lists list
activecampaign lists add-contact <list_id> <contact_id>

# Configuration
activecampaign config init                    # Create fields.json from sample
activecampaign config path                    # Show config file path

Custom Fields Configuration

The skill includes a comprehensive field configuration system for:

CategoryFields
OrderOrder ID, Number, Date, Total, Tax, Status, Subtotal, Discount, Currency, Payment details
ShippingName, Address 1/2, City, State, Postal Code, Country, Method, Cost
BillingAddress 1/2, City, State, Postal Code, Country
SubscriptionID, Status, Plan, Amount, Currency, Interval, Start, Trial End
AdditionalCompany, Product info, Lead Campaign, Notes, Birthday, etc.

Setting Field Values

# Get field ID from config
activecampaign fields get order_fields.order_id
# Output: 7

# Set field value on contact
activecampaign fields set-field <contact_id> 7 "ORD-12345"
  • 5 requests per second max
  • The wrapper handles rate limiting automatically
  • shapescale-crm - Attio CRM integration (source of truth)
  • shapescale-sales - Sales workflows and qualification
  • campaign-orchestrator - Multi-channel follow-up campaigns
README.md

ActiveCampaign CLI - Troubleshooting & Notes

Account Limitations

ActiveCampaign trial accounts have limited API access:

OperationTrial AccountPaid Account
Contact Read✅ Working✅ Working
Contact Create/Update✅ Working✅ Working
Deal Create❌ Blocked✅ Working
Deal List✅ Working✅ Working
Pipeline List❌ Blocked✅ Working
Tag Add/Create❌ Blocked✅ Working
Lists List❌ Blocked✅ Working

Workaround: Use deal_stage_list to infer pipeline structure from stage IDs (stages include pipeline field).

Known API Issues

contact_list Returns Empty

contact_list with api_version=3 does not work for listing all contacts.

Fix: The CLI now uses contact_paginator instead.

JSON vs Form-Data

Some endpoints require form-data format, not JSON:

  • contact_add - Works with form-data only
  • contact_sync - Works with form-data only
  • deal_add - Requires form-data with all fields

contact_tag_add Returns "Contact does not exist"

This is an ActiveCampaign API quirk. The contact exists and can be read, but tagging via API may fail on trial accounts.

Pipeline & Deal Group List Blocked

pipeline_list and deal_group_list return "You are not authorized" on trial accounts. Use deal_stage_list to see stages with their pipeline IDs.

Verified Working Endpoints

Contacts

  • contact_paginator - List contacts with pagination
  • contact_view - Get single contact by ID
  • contact_add - Create new contact (form-data)
  • contact_sync - Create or update contact (form-data)
  • deal_list - List deals
  • deal_view - Get single deal

Stages & Pipelines

  • deal_stage_list - List all stages (includes pipeline ID)

Tags

  • tags_list - List all tags

CLI Command Format

# Contacts
activecampaign contacts list                    # List all contacts
activecampaign contacts sync "email@test.com" "First" "Last"
activecampaign contacts get <id>

# Deals
activecampaign deals list                       # List deals
activecampaign deals get <id>                   # Get deal details

# Stages
activecampaign stages list                      # List pipeline stages

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

Configuration

The skill supports custom field mappings for order, shipping, billing, and subscription data. ```bash

FAQ

How do I install activecampaign?

Run openclaw add @kesslerio/activecampaign in your terminal. This installs activecampaign into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/kesslerio/activecampaign. Review commits and README documentation before installing.