Open Connector
All tools

Loops

Use Loops APIs to manage contacts, contact properties, mailing lists, campaigns, workflows, events, transactional emails, uploads, themes, components, and audience segments.

loopsv1.0.051 tools

Authentication

MethodKindStatusDetails
API Keyapi_keyavailable

Call a tool

import { createClient } from "@open-connector/sdk";const oc = createClient({  baseUrl: "https://api.openconnector.dev",  apiKey: process.env.OPEN_CONNECTOR_API_KEY!,});const result = await oc.executeTool({  slug: "LOOPS_DELETE_V1_CONTACTS_SUPPRESSION",  connectedAccountId: "conn_...",  arguments: { /* match this tool's input schema */ },});
import Composio from "@composio/client";const composio = new Composio({  baseURL: "https://api.openconnector.dev/composio",  apiKey: process.env.OPEN_CONNECTOR_API_KEY!,});const result = await composio.tools.execute("LOOPS_DELETE_V1_CONTACTS_SUPPRESSION", {  connected_account_id: "conn_...",  arguments: { /* match this tool's input schema */ },});
oc tools execute LOOPS_DELETE_V1_CONTACTS_SUPPRESSION --data '{ }'

Tool catalog

Available tools

51 callable operations

Remove a contact from suppression listLOOPS_DELETE_V1_CONTACTS_SUPPRESSIONRemove a suppressed contact from the suppression list by `email` or `userId`. Include only one query parameter.

Remove a suppressed contact from the suppression list by `email` or `userId`. Include only one query parameter.

Authentication

Connected account required

Tags

Contacts
Test your API keyLOOPS_GET_V1_API_KEYTest your API key

Test your API key

Authentication

Connected account required

Tags

API key
List audience segmentsLOOPS_GET_V1_AUDIENCE_SEGMENTSRetrieve a paginated list of audience segments, most recently created first.

Retrieve a paginated list of audience segments, most recently created first.

Authentication

Connected account required

Tags

Audience segments
Get an audience segmentLOOPS_GET_V1_AUDIENCE_SEGMENTS_AUDIENCE_SEGMENT_IDRetrieve a single audience segment by ID.

Retrieve a single audience segment by ID.

Authentication

Connected account required

Tags

Audience segments
List campaign groupsLOOPS_GET_V1_CAMPAIGN_GROUPSRetrieve a paginated list of campaign groups, most recently created first.

Retrieve a paginated list of campaign groups, most recently created first.

Authentication

Connected account required

Tags

Campaign groups
Get a campaign groupLOOPS_GET_V1_CAMPAIGN_GROUPS_CAMPAIGN_GROUP_IDRetrieve a single campaign group by ID.

Retrieve a single campaign group by ID.

Authentication

Connected account required

Tags

Campaign groups
List campaignsLOOPS_GET_V1_CAMPAIGNSRetrieve a paginated list of campaigns.

Retrieve a paginated list of campaigns.

Authentication

Connected account required

Tags

Campaigns
Get a campaignLOOPS_GET_V1_CAMPAIGNS_CAMPAIGN_IDRetrieve a single campaign by ID.

Retrieve a single campaign by ID.

Authentication

Connected account required

Tags

Campaigns
List componentsLOOPS_GET_V1_COMPONENTSRetrieve a paginated list of email components.

Retrieve a paginated list of email components.

Authentication

Connected account required

Tags

Components
Get a componentLOOPS_GET_V1_COMPONENTS_COMPONENT_IDRetrieve a single component by ID.

Retrieve a single component by ID.

Authentication

Connected account required

Tags

Components
Find a contactLOOPS_GET_V1_CONTACTS_FINDSearch for a contact by `email` or `userId`. Only one parameter is allowed.

Search for a contact by `email` or `userId`. Only one parameter is allowed.

Authentication

Connected account required

Tags

Contacts
Get a list of contact propertiesLOOPS_GET_V1_CONTACTS_PROPERTIESRetrieve a list of your account's contact properties.<br>Use the `list` parameter to query "all" or "custom" properties.

Retrieve a list of your account's contact properties.<br>Use the `list` parameter to query "all" or "custom" properties.

Authentication

Connected account required

Tags

Contact properties
Get suppression status for a contactLOOPS_GET_V1_CONTACTS_SUPPRESSIONRetrieve suppression status and removal quota for a contact by `email` or `userId`. Include only one query parameter.

Retrieve suppression status and removal quota for a contact by `email` or `userId`. Include only one query parameter.

Authentication

Connected account required

Tags

Contacts
Get dedicated sending IP addressesLOOPS_GET_V1_DEDICATED_SENDING_IPSRetrieve a list of Loops' dedicated sending IP addresses.

Retrieve a list of Loops' dedicated sending IP addresses.

Authentication

Connected account required

Tags

Dedicated sending IPs
Get an email messageLOOPS_GET_V1_EMAIL_MESSAGES_EMAIL_MESSAGE_IDRetrieve an email message, including its compiled LMX content.

Retrieve an email message, including its compiled LMX content.

Authentication

Connected account required

Tags

Email messages
Run Guardian checks on an email messageLOOPS_GET_V1_EMAIL_MESSAGES_EMAIL_MESSAGE_ID_GUARDIANValidate an email message's content against Guardian rules and return any errors and warnings. Errors must be resolved before the email can be published, warnings are advisory.

Validate an email message's content against Guardian rules and return any errors and warnings. Errors must be resolved before the email can be published, warnings are advisory.

Authentication

Connected account required

Tags

Email messages
Get a list of mailing listsLOOPS_GET_V1_LISTSRetrieve a list of your account's mailing lists.

Retrieve a list of your account's mailing lists.

Authentication

Connected account required

Tags

Mailing lists
List themesLOOPS_GET_V1_THEMESRetrieve a paginated list of email themes, most recently created first.

Retrieve a paginated list of email themes, most recently created first.

Authentication

Connected account required

Tags

Themes
Get a themeLOOPS_GET_V1_THEMES_THEME_IDRetrieve a single theme by ID.

Retrieve a single theme by ID.

Authentication

Connected account required

Tags

Themes
List transactional emailsLOOPS_GET_V1_TRANSACTIONALGet a list of published transactional emails.

Get a list of published transactional emails.

Authentication

Connected account required

Tags

Transactional emails
List transactional emailsLOOPS_GET_V1_TRANSACTIONAL_EMAILSRetrieve a paginated list of transactional emails, most recently created first.

Retrieve a paginated list of transactional emails, most recently created first.

Authentication

Connected account required

Tags

Transactional emails
Get a transactional emailLOOPS_GET_V1_TRANSACTIONAL_EMAILS_TRANSACTIONAL_IDRetrieve a single transactional email by ID.

Retrieve a single transactional email by ID.

Authentication

Connected account required

Tags

Transactional emails
List transactional groupsLOOPS_GET_V1_TRANSACTIONAL_GROUPSRetrieve a paginated list of transactional groups, most recently created first.

Retrieve a paginated list of transactional groups, most recently created first.

Authentication

Connected account required

Tags

Transactional groups
Get a transactional groupLOOPS_GET_V1_TRANSACTIONAL_GROUPS_TRANSACTIONAL_GROUP_IDRetrieve a single transactional group by ID.

Retrieve a single transactional group by ID.

Authentication

Connected account required

Tags

Transactional groups
Get a simplified workflowLOOPS_GET_WORKFLOWRetrieve a workflow graph with node type names, connections, and selected display fields.

Retrieve a workflow graph with node type names, connections, and selected display fields.

Authentication

Connected account required

Tags

Workflows
Get workflow node detailsLOOPS_GET_WORKFLOW_NODERetrieve detailed data for a single workflow node.

Retrieve detailed data for a single workflow node.

Authentication

Connected account required

Tags

Workflows
List workflowsLOOPS_LIST_WORKFLOWSRetrieve a paginated list of workflows.

Retrieve a paginated list of workflows.

Authentication

Connected account required

Tags

Workflows
Create a campaign groupLOOPS_POST_V1_CAMPAIGN_GROUPSCreate a new campaign group.

Create a new campaign group.

Authentication

Connected account required

Tags

Campaign groups
Update a campaign groupLOOPS_POST_V1_CAMPAIGN_GROUPS_CAMPAIGN_GROUP_IDUpdate a campaign group's name or description. At least one field must be provided. The reserved "Unsorted" group cannot be edited.

Update a campaign group's name or description. At least one field must be provided. The reserved "Unsorted" group cannot be edited.

Authentication

Connected account required

Tags

Campaign groups
Create a campaignLOOPS_POST_V1_CAMPAIGNSCreate a new draft campaign. An empty email message is created automatically and its `emailMessageId` is returned. Use the `/email-messages/{emailMessageId}` endpoint to set subject, sender, preview text, and LMX content. The audience (mailing list, segment, or filter), group, and scheduling can be set on create or later via update.

Create a new draft campaign. An empty email message is created automatically and its `emailMessageId` is returned. Use the `/email-messages/{emailMessageId}` endpoint to set subject, sender, preview text, and LMX content. The audience (mailing list, segment, or filter), group, and scheduling can be set on create or later via update.

Authentication

Connected account required

Tags

Campaigns
Update a campaignLOOPS_POST_V1_CAMPAIGNS_CAMPAIGN_IDUpdate a draft campaign's name, group, audience (mailing list, segment, or filter), or scheduling. At least one field must be provided. Campaigns can only be updated while in draft status.

Update a draft campaign's name, group, audience (mailing list, segment, or filter), or scheduling. At least one field must be provided. Campaigns can only be updated while in draft status.

Authentication

Connected account required

Tags

Campaigns
Create a componentLOOPS_POST_V1_COMPONENTSCreate a new email component from an LMX body.

Create a new email component from an LMX body.

Authentication

Connected account required

Tags

Components
Update a componentLOOPS_POST_V1_COMPONENTS_COMPONENT_IDUpdate a component's name and/or body. When the `lmx` body changes, the update cascades to every email using this component, and `affectedEmailCount` reports how many were affected. A change that would introduce a dynamic variable an email using the component cannot use is rejected.

Update a component's name and/or body. When the `lmx` body changes, the update cascades to every email using this component, and `affectedEmailCount` reports how many were affected. A change that would introduce a dynamic variable an email using the component cannot use is rejected.

Authentication

Connected account required

Tags

Components
Create a contactLOOPS_POST_V1_CONTACTS_CREATEAdd a contact to your audience.

Add a contact to your audience.

Authentication

Connected account required

Tags

Contacts
Delete a contactLOOPS_POST_V1_CONTACTS_DELETEDelete a contact by `email` or `userId`.

Delete a contact by `email` or `userId`.

Authentication

Connected account required

Tags

Contacts
Create a contact propertyLOOPS_POST_V1_CONTACTS_PROPERTIESAdd a contact property to your team.

Add a contact property to your team.

Authentication

Connected account required

Tags

Contact properties
Update an email messageLOOPS_POST_V1_EMAIL_MESSAGES_EMAIL_MESSAGE_IDUpdate fields on an email message (subject, preview text, sender, LMX content). The campaign must be in draft status. Supply `expectedRevisionId` matching the current `contentRevisionId` — the server rejects mismatched revisions with 409.

Update fields on an email message (subject, preview text, sender, LMX content). The campaign must be in draft status. Supply `expectedRevisionId` matching the current `contentRevisionId` — the server rejects mismatched revisions with 409.

Authentication

Connected account required

Tags

Email messages
Send a preview of an email messageLOOPS_POST_V1_EMAIL_MESSAGES_EMAIL_MESSAGE_ID_PREVIEWSend a test preview of an email message to one or more addresses. The accepted variable fields depend on the parent's type - campaign previews accept `contactProperties`, workflow previews accept `contactProperties` and `eventProperties`, and transactional previews accept `dataVariables`. Supplying a field the parent cannot reference is rejected with 400.

Send a test preview of an email message to one or more addresses. The accepted variable fields depend on the parent's type - campaign previews accept `contactProperties`, workflow previews accept `contactProperties` and `eventProperties`, and transactional previews accept `dataVariables`. Supplying a field the parent cannot reference is rejected with 400.

Authentication

Connected account required

Tags

Email messages
Send an eventLOOPS_POST_V1_EVENTS_SENDSend events to trigger emails in Loops.

Send events to trigger emails in Loops.

Authentication

Connected account required

Tags

Events
Create a themeLOOPS_POST_V1_THEMESCreate a new email theme.

Create a new email theme.

Authentication

Connected account required

Tags

Themes
Update a themeLOOPS_POST_V1_THEMES_THEME_IDUpdate a theme's name and/or styles. When `styles` change, the update cascades to every email using this theme, and `affectedEmailCount` in the response reports how many emails were affected. Manual style edits made on individual emails are preserved: the cascade only changes properties an email has not overridden. A per-email override is removed only when it becomes identical to the theme's new value, after which that email follows the theme for that property.

Update a theme's name and/or styles. When `styles` change, the update cascades to every email using this theme, and `affectedEmailCount` in the response reports how many emails were affected. Manual style edits made on individual emails are preserved: the cascade only changes properties an email has not overridden. A per-email override is removed only when it becomes identical to the theme's new value, after which that email follows the theme for that property.

Authentication

Connected account required

Tags

Themes
Send a transactional emailLOOPS_POST_V1_TRANSACTIONALSend a transactional email to a contact.<br>Please [email us](mailto:[email protected]) to enable attachments on your account before using them with the API.

Send a transactional email to a contact.<br>Please [email us](mailto:[email protected]) to enable attachments on your account before using them with the API.

Authentication

Connected account required

Tags

Transactional emails
Create a transactional emailLOOPS_POST_V1_TRANSACTIONAL_EMAILSCreate a new transactional email. An empty draft email message is created automatically and its `draftEmailMessageId` is returned. Use the `/api/v1/email-messages/{emailMessageId}` endpoint to set subject, sender, preview text, and LMX content, then call `/api/v1/transactional-emails/{transactionalId}/publish` to publish.

Create a new transactional email. An empty draft email message is created automatically and its `draftEmailMessageId` is returned. Use the `/api/v1/email-messages/{emailMessageId}` endpoint to set subject, sender, preview text, and LMX content, then call `/api/v1/transactional-emails/{transactionalId}/publish` to publish.

Authentication

Connected account required

Tags

Transactional emails
Update a transactional emailLOOPS_POST_V1_TRANSACTIONAL_EMAILS_TRANSACTIONAL_IDUpdate a transactional email by ID.

Update a transactional email by ID.

Authentication

Connected account required

Tags

Transactional emails
Ensure a draft email messageLOOPS_POST_V1_TRANSACTIONAL_EMAILS_TRANSACTIONAL_ID_DRAFTEnsure the transactional email has a draft email message. If a draft already exists it is returned unchanged; otherwise a new empty draft is created (seeded from the most recent published version when present). Use `/v1/email-messages/{emailMessageId}` to edit the draft's content.

Ensure the transactional email has a draft email message. If a draft already exists it is returned unchanged; otherwise a new empty draft is created (seeded from the most recent published version when present). Use `/v1/email-messages/{emailMessageId}` to edit the draft's content.

Authentication

Connected account required

Tags

Transactional emails
Publish a transactional email draftLOOPS_POST_V1_TRANSACTIONAL_EMAILS_TRANSACTIONAL_ID_PUBLISHPublish the transactional email's current draft email message. The draft becomes the published version and the draft is cleared.

Publish the transactional email's current draft email message. The draft becomes the published version and the draft is cleared.

Authentication

Connected account required

Tags

Transactional emails
Create a transactional groupLOOPS_POST_V1_TRANSACTIONAL_GROUPSCreate a new transactional group.

Create a new transactional group.

Authentication

Connected account required

Tags

Transactional groups
Update a transactional groupLOOPS_POST_V1_TRANSACTIONAL_GROUPS_TRANSACTIONAL_GROUP_IDUpdate a transactional group's name or description. At least one field must be provided. The reserved "Unsorted" group cannot be edited.

Update a transactional group's name or description. At least one field must be provided. The reserved "Unsorted" group cannot be edited.

Authentication

Connected account required

Tags

Transactional groups
Create an uploadLOOPS_POST_V1_UPLOADSRequest a pre-signed URL to upload an image asset. Upload the file with an HTTP `PUT` to the returned `presignedUrl` (sending the same `Content-Type` and `Content-Length`), then call `/uploads/{id}/complete` to finalize the asset.

Request a pre-signed URL to upload an image asset. Upload the file with an HTTP `PUT` to the returned `presignedUrl` (sending the same `Content-Type` and `Content-Length`), then call `/uploads/{id}/complete` to finalize the asset.

Authentication

Connected account required

Tags

Uploads
Complete an uploadLOOPS_POST_V1_UPLOADS_ID_COMPLETEFinalize an asset after the file has been uploaded to the pre-signed URL. Returns the public URL of the uploaded asset.

Finalize an asset after the file has been uploaded to the pre-signed URL. Returns the public URL of the uploaded asset.

Authentication

Connected account required

Tags

Uploads
Update a contactLOOPS_PUT_V1_CONTACTS_UPDATEUpdate a contact by `email` or `userId`. You must provide one of these parameters.<br>If you want to update a contact’s email address, the contact will first need a `userId` value. You can then make a request containing the userId field along with an updated email address.

Update a contact by `email` or `userId`. You must provide one of these parameters.<br>If you want to update a contact’s email address, the contact will first need a `userId` value. You can then make a request containing the userId field along with an updated email address.

Authentication

Connected account required

Tags

Contacts

Provider resources