Whoami (yekar.activecampaign.whoami) | Read | The ActiveCampaign user this connection's API key belongs to, and the account host it is pointed at. Call this first to confirm the key and the API URL name the SAME account - a key from one account against another's URL is the most common setup mistake, and it fails as a 403 that says nothing about either. |
List contacts (yekar.activecampaign.list-contacts) | Read | Search or page through the account's contacts, optionally narrowed to a list, tag or segment. email matches exactly; search matches partially. total is ActiveCampaign's count for the whole filtered set - the items are one page of it. |
Get contact (yekar.activecampaign.get-contact) | Read | One contact with its standard fields and custom field values. Custom values are keyed by the FIELD's id - call List custom fields to learn what each id means. |
Create or update contact (yekar.activecampaign.sync-contact) | Write | Create a contact, or update it if the email address already exists (ActiveCampaign's contact sync). Fields you omit keep their stored values - send an empty string to clear one. Repeating the identical call is safe: it converges on the same contact rather than creating a second. |
Update contact (yekar.activecampaign.update-contact) | Write | Update an existing contact by id. Only the fields you send change; the rest are left alone, and an empty string clears a value. Use Create or update contact when you have an email address rather than an id. |
Delete contact (yekar.activecampaign.delete-contact) | Write | Permanently delete a contact and everything attached to it. There is no recycle bin - this cannot be undone. If the goal is only to stop mailing them, use Set list subscription with unsubscribed, which keeps the record and the audit trail. |
List lists (yekar.activecampaign.list-lists) | Read | The mailing lists on the account with ActiveCampaign's own subscriber counts. Every subscription change needs a list id, so this is usually the first read before touching memberships. |
Set list subscription (yekar.activecampaign.set-list-subscription) | Write | Subscribe a contact to a list or unsubscribe them from it. Subscribing sends nothing by itself - it makes the contact eligible for that list's campaigns and automations. Unsubscribing keeps the contact and their history. |
List a contact's list memberships (yekar.activecampaign.list-contact-lists) | Read | Which lists a contact is on and with what status - subscribed, unsubscribed, unconfirmed or bounced - plus the unsubscribe reason where there is one. The numeric status ActiveCampaign sends is resolved to its word here. |
List tags (yekar.activecampaign.list-tags) | Read | The tags defined on the account, with their ids. Tagging a contact takes the tag's ID, never its name, so this read is a prerequisite for Add contact tag. Watch tagType: a template tag applies to campaign templates and cannot be put on a contact. |
List a contact's tags (yekar.activecampaign.list-contact-tags) | Read | The tags on one contact. Each row carries TWO ids: tagId is the tag itself, and contactTagId is the link between this contact and that tag - the latter is what Remove contact tag deletes. |
Add contact tag (yekar.activecampaign.add-contact-tag) | Write | Put an existing tag on a contact. The tag must already exist - this takes a tag id from List tags, and creating tags is deliberately not part of it, because a typo would otherwise silently mint a near-duplicate tag nobody notices. |
Remove contact tag (yekar.activecampaign.remove-contact-tag) | Write | Take a tag off a contact by deleting the contact-tag link. Takes the LINK's id (from List a contact's tags), not the tag's id. The tag stays on the account and on every other contact. |
List custom fields (yekar.activecampaign.list-custom-fields) | Read | The custom contact fields this account defines - id, title, type, whether they are required, and the personalization tag used in campaign content. Contact writes address values by field ID, so read this before setting any custom value. |
List deals (yekar.activecampaign.list-deals) | Read | Deals in the account's CRM, filterable by pipeline, stage or status. Every deal carries its value BOTH as the integer cents ActiveCampaign stores and as the major-unit amount - do not multiply either one again. |
Get deal (yekar.activecampaign.get-deal) | Read | One deal with its pipeline, stage, owner, contact and value. The value comes back as both integer cents (as stored) and the major-unit amount. |
Create deal (yekar.activecampaign.create-deal) | Write | Create a deal in a pipeline. The value is in CENTS - sending 1000 to mean a thousand creates a ten-unit deal, and nothing downstream flags it. Pipeline, stage and owner ids all have to exist; read them with List pipelines, List deal stages and Whoami first. |
Update deal (yekar.activecampaign.update-deal) | Write | Update a deal - move its stage, change its value (in CENTS), reassign the owner, or mark it won or lost. Only the fields you send change. |
List pipelines (yekar.activecampaign.list-pipelines) | Read | The deal pipelines on the account, with each one's default currency. ActiveCampaign calls a pipeline a 'group' on the wire - deal writes take this id as pipelineId. |
List deal stages (yekar.activecampaign.list-deal-stages) | Read | The stages defined across the account's pipelines, in order. A stage belongs to exactly one pipeline, so moving a deal to a stage from a different pipeline is refused by ActiveCampaign - filter by pipeline before choosing one. |
List campaigns (yekar.activecampaign.list-campaigns) | Read | Campaigns on the account with their delivery and engagement counts - sent, opens (total and unique), clicks, unsubscribes and bounces. Read-only: this integration does not build or send ActiveCampaign campaigns, because doing so spans four resources with no atomic commit and a partial failure would leave a broken campaign behind. |
List automations (yekar.activecampaign.list-automations) | Read | The automations on the account with ActiveCampaign's own counts of contacts entered and exited. Adding a contact to one of these is a separate, explicit tool - listing never triggers anything. |
Add contact to automation (yekar.activecampaign.add-contact-to-automation) | Write | Start an automation for a contact. This is not a passive tag: the automation begins running immediately and may send email as its first step. Removing them again is not offered here, so check what the automation does before calling this. |