Setu Recipes: reusable digital workers across every app.Browse templates

Integrations / ActiveCampaign

ActiveCampaign

ActiveCampaign marketing and CRM: contacts, lists, tags, deals and campaigns. Accounts on api-us1.com addresses only.

9 actions API key 6 read3 write Calls api-us1.com

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "activecampaign" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

This toolkit uses a single credential and requests no scopes.

Actions

Add tag to contactwriteactivecampaign.add_tag_to_contactApply an existing tag (by tag ID, from list_tags) to a contact.
InputTypeDescription
contact_idstringRequiredContact ID
tag_idstringRequiredTag ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.add_tag_to_contact",
  input: {
    "contact_id": "<contact_id>",
    "tag_id": "<tag_id>"
  },
});
Create contactwriteactivecampaign.create_contactCreate a contact. It fails if the email address already exists; add tags afterwards with add_tag_to_contact.
InputTypeDescription
emailstringRequiredEmail address
first_namestringOptionalFirst name
last_namestringOptionalLast name
phonestringOptionalPhone number
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.create_contact",
  input: {
    "email": "<email>"
  },
});
Create dealwriteactivecampaign.create_dealCreate a CRM deal in a pipeline stage. The value is in cents (10000 means 100.00).
InputTypeDescription
titlestringRequiredDeal title
valueintegerRequiredDeal value in cents
currencystringRequiredLower-case currency code, e.g. usd
groupstringRequiredPipeline ID
stagestringRequiredStage ID in that pipeline
contactstringOptionalContact ID to attach
ownerstringOptionalOwner user ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.create_deal",
  input: {
    "title": "<title>",
    "value": 1,
    "currency": "<currency>",
    "group": "<group>",
    "stage": "<stage>"
  },
});
Get contactreadactivecampaign.get_contactGet one contact by ID.
InputTypeDescription
contact_idstringRequiredContact ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.get_contact",
  input: {
    "contact_id": "<contact_id>"
  },
});
List campaignsreadactivecampaign.list_campaignsList email campaigns with their type, status and send counts.
InputTypeDescription
limitintegerOptionalCampaigns to return (default 20, max 100)
offsetintegerOptionalCampaigns to skip
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.list_campaigns",
  input: {},
});
List or search contactsreadactivecampaign.list_contactsList contacts or search them by email, name or phone (search), by exact email, or by list or tag.
InputTypeDescription
searchstringOptionalMatches email, first name, last name, phone or account name
emailstringOptionalExact email address
listidintegerOptionalOnly contacts on this list
tagidintegerOptionalOnly contacts with this tag
limitintegerOptionalContacts to return (default 20, max 100)
offsetintegerOptionalContacts to skip
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.list_contacts",
  input: {},
});
List dealsreadactivecampaign.list_dealsList CRM deals with their value (in cents), currency, stage, pipeline and owner.
InputTypeDescription
limitintegerOptionalDeals to return (default 20, max 100)
offsetintegerOptionalDeals to skip
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.list_deals",
  input: {},
});
List listsreadactivecampaign.list_listsList the mailing lists in the account with their IDs and names.
InputTypeDescription
limitintegerOptionalLists to return (default 20, max 100)
offsetintegerOptionalLists to skip
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.list_lists",
  input: {},
});
List tagsreadactivecampaign.list_tagsList contact tags, optionally those whose name contains a text. Returns tag IDs to use with add_tag_to_contact.
InputTypeDescription
searchstringOptionalTag name text to match
limitintegerOptionalTags to return (default 20, max 100)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "activecampaign.list_tags",
  input: {},
});