AACFlow

Loops

Manage contacts and send emails with Loops

Usage Instructions

Integrate Loops into the workflow. Create and manage contacts, send transactional emails, and trigger event-based automations.

Tools

loops_create_contact

Create a new contact in your Loops audience with an email address and optional properties like name, user group, and mailing list subscriptions.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
emailstringYesNo description
firstNamestringNoNo description
lastNamestringNoNo description
sourcestringNoCustom source value replacing the default "API"
subscribedbooleanNoNo description
userGroupstringNoNo description
userIdstringNoNo description
mailingListsjsonNoMailing list IDs mapped to boolean values (true to subscribe, false to unsubscribe)
customPropertiesjsonNoCustom contact properties as key-value pairs (string, number, boolean, or date values)

Output

ParameterTypeDescription
successbooleanWhether the contact was created successfully
idstringThe Loops-assigned ID of the created contact

loops_update_contact

Update an existing contact in Loops by email or userId. Creates a new contact if no match is found (upsert). Can update name, subscription status, user group, mailing lists, and custom properties.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
emailstringNoNo description
userIdstringNoNo description
firstNamestringNoNo description
lastNamestringNoNo description
sourcestringNoCustom source value replacing the default "API"
subscribedbooleanNoWhether the contact receives campaign emails (sending true re-subscribes unsubscribed contacts)
userGroupstringNoNo description
mailingListsjsonNoMailing list IDs mapped to boolean values (true to subscribe, false to unsubscribe)
customPropertiesjsonNoNo description

Output

ParameterTypeDescription
successbooleanWhether the contact was updated successfully
idstringThe Loops-assigned ID of the updated or created contact

loops_find_contact

Find a contact in Loops by email address or userId. Returns an array of matching contacts with all their properties including name, subscription status, user group, and mailing lists.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
emailstringNoThe contact email address to search for (at least one of email or userId is required)
userIdstringNoNo description

Output

ParameterTypeDescription
contactsarrayArray of matching contact objects (empty array if no match found)
idstringLoops-assigned contact ID
emailstringContact email address
firstNamestringContact first name
lastNamestringContact last name
sourcestringSource the contact was created from
subscribedbooleanWhether the contact receives campaign emails
userGroupstringContact user group
userIdstringExternal user identifier
mailingListsobjectMailing list IDs mapped to subscription status
optInStatusstringDouble opt-in status: pending, accepted, rejected, or null

loops_delete_contact

Delete a contact from Loops by email address or userId. At least one identifier must be provided.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
emailstringNoThe email address of the contact to delete (at least one of email or userId is required)
userIdstringNoThe userId of the contact to delete (at least one of email or userId is required)

Output

ParameterTypeDescription
successbooleanWhether the contact was deleted successfully
messagestringStatus message from the API

loops_send_transactional_email

Send a transactional email to a recipient using a Loops template. Supports dynamic data variables for personalization and optionally adds the recipient to your audience.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
emailstringYesNo description
transactionalIdstringYesNo description
dataVariablesjsonNoNo description
addToAudiencebooleanNoWhether to create the recipient as a contact if they do not already exist (default: false)
attachmentsjsonNoArray of file attachments. Each object must have filename (string), contentType (MIME type string), and data (base64-encoded string).

Output

ParameterTypeDescription
successbooleanWhether the transactional email was sent successfully

loops_send_event

Send an event to Loops to trigger automated email sequences for a contact. Identify the contact by email or userId and include optional event properties and mailing list changes.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
emailstringNoNo description
userIdstringNoNo description
eventNamestringYesNo description
eventPropertiesjsonNoNo description
mailingListsjsonNoMailing list IDs mapped to boolean values (true to subscribe, false to unsubscribe)

Output

ParameterTypeDescription
successbooleanWhether the event was sent successfully

loops_list_mailing_lists

Retrieve all mailing lists from your Loops account. Returns each list with its ID, name, description, and public/private status.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description

Output

ParameterTypeDescription
mailingListsarrayArray of mailing list objects
idstringThe mailing list ID
namestringThe mailing list name
descriptionstringThe mailing list description (null if not set)
isPublicbooleanWhether the list is public or private

loops_list_transactional_emails

Retrieve a list of published transactional email templates from your Loops account. Returns each template with its ID, name, last updated timestamp, and data variables.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
perPagestringNoNo description
cursorstringNoNo description

Output

ParameterTypeDescription
transactionalEmailsarrayArray of published transactional email templates
idstringThe transactional email template ID
namestringThe template name
lastUpdatedstringLast updated timestamp
dataVariablesarrayTemplate data variable names
paginationobjectPagination information
totalResultsnumberTotal number of results
returnedResultsnumberNumber of results returned
perPagenumberResults per page
totalPagesnumberTotal number of pages
nextCursorstringCursor for next page (null if no more pages)
nextPagestringURL for next page (null if no more pages)

loops_create_contact_property

Create a new custom contact property in your Loops account. The property name must be in camelCase format.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
namestringYesThe property name in camelCase format (e.g., "favoriteColor")
typestringYesThe property data type (e.g., "string", "number", "boolean", "date")

Output

ParameterTypeDescription
successbooleanWhether the contact property was created successfully

loops_list_contact_properties

Retrieve a list of contact properties from your Loops account. Returns each property with its key, label, and data type. Can filter to show all properties or only custom ones.

Input

ParameterTypeRequiredDescription
apiKeystringYesNo description
liststringNoFilter type: "all" for all properties (default) or "custom" for custom properties only

Output

ParameterTypeDescription
propertiesarrayArray of contact property objects
keystringThe property key (camelCase identifier)
labelstringThe property display label
typestringThe property data type (string, number, boolean, date)

On this page

Start building today
Trusted by over 100,000 builders.
The SaaS platform to build AI agents and run your agentic workforce.
Get started