Integration reference
ActiveCampaign Trigger and Action reference
Start Workflows from contact, campaign, deal, list, and SMS events, then manage CRM and marketing records through the ActiveCampaign API.
Authentication
Connect each customer's ActiveCampaign account with the API URL and API key from Settings → Developer. FastHook validates both values and stores them encrypted.
- Trigger account type:
api_key; reconnect byreplace_credentials. - Action connection type:
api_key; available modes: Connected ActiveCampaign account.
Create or reuse the account from a Trigger or Action dialog, or manage it under Settings → Connected accounts. See Authentication and permissions for scopes and access diagnostics, or Connected accounts for reuse, reconnect, revocation, and credential rotation.
Scopes and permissions
The Trigger manifest does not declare a fixed base OAuth scope list. Installation access, API credentials, or the selected event configuration can still control available resources.
Operation-specific requirements appear in the tables below. Custom event selections can add scopes dynamically, so the current Trigger or Action dialog remains authoritative for the exact consent request.
Use ActiveCampaign as a Trigger
The current provider manifest contains 27 available Trigger definitions. Representative definitions include:
- Contact Subscribed
- Contact Updated
- Deal Added
- Campaign Link Clicked
View all 27 available Trigger definitions
| Trigger | Manifest key | Delivery | Additional scopes |
|---|---|---|---|
| Campaign Forwarded | activecampaign.forward.instant | instant | None declared |
| Campaign Opened | activecampaign.open.instant | instant | None declared |
| Campaign Shared | activecampaign.share.instant | instant | None declared |
| Campaign Started Sending | activecampaign.sent.instant | instant | None declared |
| Contact Subscribed | activecampaign.subscribe.instant | instant | None declared |
| Contact Note Added | activecampaign.subscriber_note.instant | instant | None declared |
| Tag Added to Contact | activecampaign.contact_tag_added.instant | instant | None declared |
| Tag Removed From Contact | activecampaign.contact_tag_removed.instant | instant | None declared |
| Contact Unsubscribed | activecampaign.unsubscribe.instant | instant | None declared |
| Contact Updated | activecampaign.update.instant | instant | None declared |
| Deal Created | activecampaign.deal_add.instant | instant | None declared |
| Deal Note Added | activecampaign.deal_note_add.instant | instant | None declared |
| Deal Pipeline Created | activecampaign.deal_pipeline_add.instant | instant | None declared |
| Deal Stage Created | activecampaign.deal_stage_add.instant | instant | None declared |
| Deal Task Created | activecampaign.deal_task_add.instant | instant | None declared |
| Deal Task Completed | activecampaign.deal_task_complete.instant | instant | None declared |
| Deal Task Type Created | activecampaign.deal_tasktype_add.instant | instant | None declared |
| Deal Updated | activecampaign.deal_update.instant | instant | None declared |
| Campaign Email Bounced | activecampaign.bounce.instant | instant | None declared |
| Campaign Email Replied | activecampaign.reply.instant | instant | None declared |
| Campaign Link Clicked | activecampaign.click.instant | instant | None declared |
| List Created | activecampaign.list_add.instant | instant | None declared |
| SMS Replied | activecampaign.sms_reply.instant | instant | None declared |
| SMS Sent | activecampaign.sms_sent.instant | instant | None declared |
| SMS Unsubscribed | activecampaign.sms_unsub.instant | instant | None declared |
| Any ActiveCampaign Event | activecampaign.any_event.instant | instant | None declared |
| Custom ActiveCampaign Events | activecampaign.custom_webhook_events.instant | instant | None declared |
Choose the narrowest event definition that fits the Workflow. Configure provider-specific resource and event filters in the Source dialog before adding broader Workflow Filters.
Use ActiveCampaign Actions
The current Action manifest contains 39 operations. Representative Actions include:
- Create Contact
- Sync Contact
- Create Deal
- Add Contact to Automation
View all 39 available Action definitions
| Action | Manifest key | Access and auth | Manifest rate limit |
|---|---|---|---|
| Create or Update Contact | activecampaign.create_or_update_contact | None declared FastHook-managed account | 5/second |
| Create Contact | activecampaign.create_contact | None declared FastHook-managed account | 5/second |
| Get Contact | activecampaign.get_contact | None declared FastHook-managed account | 5/second |
| Update Contact | activecampaign.update_contact | None declared FastHook-managed account | 5/second |
| Delete Contact | activecampaign.delete_contact | None declared FastHook-managed account | 5/second |
| List Contacts | activecampaign.list_contacts | None declared FastHook-managed account | 5/second |
| Subscribe or Unsubscribe Contact | activecampaign.set_contact_list_status | None declared FastHook-managed account | 5/second |
| Add Contact to Automation | activecampaign.add_contact_to_automation | None declared FastHook-managed account | 5/second |
| Remove Contact From Automation | activecampaign.remove_contact_from_automation | None declared FastHook-managed account | 5/second |
| Add Tag to Contact | activecampaign.add_tag_to_contact | None declared FastHook-managed account | 5/second |
| Remove Tag From Contact | activecampaign.remove_tag_from_contact | None declared FastHook-managed account | 5/second |
| List Tags | activecampaign.list_tags | None declared FastHook-managed account | 5/second |
| Create Tag | activecampaign.create_tag | None declared FastHook-managed account | 5/second |
| Update Tag | activecampaign.update_tag | None declared FastHook-managed account | 5/second |
| Delete Tag | activecampaign.delete_tag | None declared FastHook-managed account | 5/second |
| List Lists | activecampaign.list_lists | None declared FastHook-managed account | 5/second |
| Get List | activecampaign.get_list | None declared FastHook-managed account | 5/second |
| Create List | activecampaign.create_list | None declared FastHook-managed account | 5/second |
| Update List | activecampaign.update_list | None declared FastHook-managed account | 5/second |
| Delete List | activecampaign.delete_list | None declared FastHook-managed account | 5/second |
| List Automations | activecampaign.list_automations | None declared FastHook-managed account | 5/second |
| List Deals | activecampaign.list_deals | None declared FastHook-managed account | 5/second |
| Get Deal | activecampaign.get_deal | None declared FastHook-managed account | 5/second |
| Create Deal | activecampaign.create_deal | None declared FastHook-managed account | 5/second |
| Update Deal | activecampaign.update_deal | None declared FastHook-managed account | 5/second |
| Delete Deal | activecampaign.delete_deal | None declared FastHook-managed account | 5/second |
| Add Note to Deal | activecampaign.create_deal_note | None declared FastHook-managed account | 5/second |
| Create Deal Task | activecampaign.create_deal_task | None declared FastHook-managed account | 5/second |
| List Pipelines | activecampaign.list_pipelines | None declared FastHook-managed account | 5/second |
| List Deal Stages | activecampaign.list_stages | None declared FastHook-managed account | 5/second |
| List Accounts | activecampaign.list_accounts | None declared FastHook-managed account | 5/second |
| Get Account | activecampaign.get_account | None declared FastHook-managed account | 5/second |
| Create Account | activecampaign.create_account | None declared FastHook-managed account | 5/second |
| Update Account | activecampaign.update_account | None declared FastHook-managed account | 5/second |
| Delete Account | activecampaign.delete_account | None declared FastHook-managed account | 5/second |
| List Users | activecampaign.list_users | None declared FastHook-managed account | 5/second |
| Get Current User | activecampaign.get_current_user | None declared FastHook-managed account | 5/second |
| List Contact Custom Fields | activecampaign.list_contact_fields | None declared FastHook-managed account | 5/second |
| Custom API Request | activecampaign.custom_api_request | None declared FastHook-managed account | 5/second |
The Action editor reads its required permissions, fields, remote resource pickers, output schema, and rate limit from the provider manifest. Available fields can change with the selected operation and authentication mode.
Build a Workflow
- Create a Source using a ActiveCampaign Trigger definition.
- Create a Workflow with that Source as its Trigger.
- Add the required ActiveCampaign Action and select the connected account.
- Map Trigger or earlier-Step data into the Action fields with the field picker.
- Add a Filter, Paths, Delay, or Transformation when the route needs it.
- Activate the Workflow, produce a controlled event, and verify the run in Audit and in ActiveCampaign.
Troubleshooting ActiveCampaign
- The account is missing or cannot be selected
- Confirm the active FastHook team, provider, account status, and authentication mode. A disabled or revoked account cannot execute an Action.
- A resource picker is empty
- Verify that the connected provider identity can access the resource itself. OAuth consent does not add workspace, repository, channel, drive, project, base, or record permissions.
- The editor asks for additional scopes
- Reconnect the same account from the affected Trigger or Action so FastHook can request its current manifest scopes. Then reopen the editor and select the resource again.
- An active Workflow returns 401, 403, or a permission error
- Compare the selected operation’s access requirements below with the account recorded in Audit. Check provider-side membership and object access before repeating the Action.
- The provider returns 429 or a temporary 5xx
- Inspect the Step attempt and retryability in Audit. FastHook can retry temporary failures, but provider quotas and idempotency rules still apply.
Provider-specific checks
- Use the exact API URL shown under Settings → Developer. It normally ends in api-us1.com or activehosted.com and differs for every account.
- FastHook manages one account-level webhook containing the union of events used by active Sources. It updates that webhook when Sources change and removes it when no Source needs it.
- ActiveCampaign sends webhook fields as form data. FastHook expands bracketed field names into nested JSON, preserves the complete payload, and deduplicates repeat deliveries.
- Each managed webhook carries an encrypted private X-FastHook-Webhook-Token header. FastHook rejects callbacks whose header does not match before storing the event.
- The API permits five requests per second per account. FastHook schedules Actions within that limit and retries eligible rate-limit or service failures.
- Custom API Request is restricted to the connected account's /api/3 path and cannot override the host or Api-Token header.