Loops.so connects to a Nagent workspace with an API key. Once it is connected, agents can call 12 Loops.so actions, such as "Create Contact", "Create Contact Property" and "Find Contact". Nothing is enabled on connect: each action is allowed one at a time, and an action with side effects runs or waits for a person according to the agent's level.
Every operation an agent can call against Loops.so, with input parameters and output schema.
LOOPS_SO_CREATE_CONTACTTool to add a new contact to your Loops audience. Use when you need to create a contact with email and optional properties like name, subscription status, or custom attributes. Returns 409 if contact already exists.
Input parameters
The contact's email address. This is the unique identifier for the contact.
Custom source value to replace the default 'API' source attribution.
Unique user ID from your external application for linking contacts.
The contact's last name.
The contact's first name.
Segment users into groups. A contact can only be in one user group at a time.
Whether the contact should receive campaign and loops emails. Defaults to true if not specified.
Key-value pairs mapping mailing list IDs to boolean subscription status. Keys are mailing list IDs, values indicate subscription status.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_CREATE_CONTACT_PROPERTYTool to add a custom contact property to your Loops team. Use when you need to store additional contact data beyond default fields. Properties must have unique names in camelCase format and a specified data type (string, number, boolean, or date).
Input parameters
The name of the property in camelCase format (e.g., planName, favoriteColor). This will be used to identify the property in your contact data.
The property's data type. Must be one of: string, number, boolean, or date.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_DELETE_CONTACTTool to delete a contact by email address or user ID. Use when you need to remove a contact from Loops. Either email or userId must be provided to identify the contact.
Input parameters
The contact's email address to identify which contact to delete
The contact's userId value to identify which contact to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_FIND_CONTACTTool to search for a contact by email or userId. Use when you need to find a specific contact's details including subscription status and custom properties. Exactly one of email or userId must be provided per request.
Input parameters
The contact's email address to search for. Must be URI-encoded. Only one of email or userId is allowed per request.
The contact's unique user ID to search for. Only one of email or userId is allowed per request.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_GET_CONTACT_PROPERTIESTool to retrieve a list of your account's contact properties from Loops.so. Use when you need to view all available contact properties or filter to only custom properties created by your team.
Input parameters
Use 'custom' to filter results to only custom properties created by your team. Omit this parameter to retrieve all properties (both standard and custom).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_GET_DEDICATED_SENDING_IPSTool to retrieve a list of Loops' dedicated sending IP addresses. Use when you need to get IP addresses for whitelisting purposes.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_GET_MAILING_LISTSTool to retrieve all mailing lists associated with your Loops account. Use when you need to browse or manage mailing list information.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_LIST_CUSTOM_FIELDSTool to retrieve a list of custom contact properties. Use when you need to view available custom fields for contacts. Note: This endpoint is deprecated in favor of 'List contact properties'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_LIST_TRANSACTIONAL_EMAILSTool to retrieve a list of published transactional emails. Use when you need to view all available transactional email templates. Supports pagination with perPage and cursor parameters.
Input parameters
A cursor to return a specific page of results. Cursors can be found from the pagination.nextCursor value in each response.
How many results to return in each request. Must be between 10 and 50. Default: 20
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_SEND_EVENTTool to send events to trigger emails in Loops. Use when you need to track user actions and trigger automated email workflows based on those events.
Input parameters
The contact's email address. Required if userId is not provided.
The contact's unique user ID. Required if email is not provided.
The name of the event to trigger.
Mailing list subscriptions as key-value pairs. Keys are list IDs, values are boolean (true to add, false to remove).
Optional idempotency key (up to 100 characters) to avoid duplicate requests within 24 hours.
Event property data as key-value pairs. Values can be string, number, boolean, or date.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_TEST_API_KEYTool to test API key validity and retrieve team information. Use to verify API credentials are working correctly.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
LOOPS_SO_UPDATE_CONTACTTool to update an existing contact by email or userId. Use when you need to modify contact properties or re-subscribe contacts. Creates a new contact if no matching record exists.
Input parameters
Contact's email address. Creates new contact if none exists. Required if userId is not provided.
Custom source value replacing default 'API'
Unique user identifier from external applications. Required if email is not provided.
Contact's last name
Contact's first name
Single group for user segmentation
Determines campaign/loop email eligibility. Setting to true will re-subscribe previously unsubscribed contacts.
Key-value pairs of list IDs with boolean subscription status
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
Agents can call 12 Loops.so actions on Nagent, including "Create Contact", "Create Contact Property" and "Find Contact". Create Contact: Add a new contact to your Loops audience. Each action is listed on this page with its input parameters and its output.
Loops.so connects with an API key, under your workspace's own connection. Nothing is enabled on connect: each action is allowed one at a time and can be scoped to the agents that need it.
Create Contact takes 1 required input: email. It also takes 7 optional inputs: source, userId, lastName, firstName, userGroup, subscribed and mailingLists. It returns data, error and successful.