Skip to content

Mailchimp

Mailchimp

Mailchimp is an email marketing and automation platform providing campaign templates, audience segmentation, and performance analytics to drive engagement and conversions. With the Mailchimp integration in SquadOS, your agents can create and send campaigns, manage contacts, add or remove tags, build segments, and much more — all programmatically and without manual intervention.

This tool uses OAuth 2.0 (OAUTH2) to connect.

You will need the following fields:

FieldRequiredDescription
access_tokenYesOAuth 2.0 access token generated after authorizing SquadOS to access your Mailchimp account.

Mailchimp authentication via Composio uses a managed OAuth 2.0 flow — you don’t need to create credentials manually. When you click Connect, you are redirected to the Mailchimp authorization page where you log in and grant access. The token is automatically generated and stored by Composio.

  1. Go to Tools in the side menu (/admin/tools).
  2. Open the Available tab and search for Mailchimp.
  3. Click the card to open the details modal and hit Connect.
  4. You’re taken to the secure connection page hosted by Composio, where you authorize access to your Mailchimp account via OAuth.
  5. Once done, you’re sent back to SquadOS with the account connected and the tool available for your agents. (Connection-flow details in Organization Tools.)

MAILCHIMP_ADD_CAMPAIGN

Create a new Mailchimp campaign. Supports regular, plaintext, RSS, and variate (multivariate A/B) types.

NameTypeRequiredDescription
typestring ("regular" | "plaintext" | "absplit" | "rss" | "variate")YesThe campaign type. A/B Split campaigns have been deprecated; use variate instead.
settings__subject__linestringNoThe subject line for the campaign.
settings__titlestringNoThe internal title of the campaign.
settings__from__namestringNoThe sender name displayed in the “From” field. Not an email address.
settings__reply__tostringNoThe reply-to email address. Required for sending.
recipients__list__idstringNoThe unique ID of the target audience/list.
settings__template__idintegerNoThe ID of the template to use.
content_typestring ("template" | "multichannel")NoHow the campaign’s content is put together. Defaults to template.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_ADD_LIST

Create a new audience (list) in your Mailchimp account. Free accounts are limited to 1 audience; paid plans allow multiple audiences.

NameTypeRequiredDescription
namestringYesThe name of the audience. Must be unique within the account.
contact__companystringYesThe company name for the list contact.
contact__address1stringYesThe street address for the list contact.
contact__citystringYesThe city for the list contact.
contact__countrystringYesA two-character ISO 3166 country code (e.g., 'US', 'BR').
permission_reminderstringYesThe permission reminder explaining why contacts are receiving emails from this list.
campaign__defaults__from__namestringYesThe default “From” name for campaigns sent to this list.
campaign__defaults__from__emailstringYesThe default “From” email address for campaigns sent to this list.
campaign__defaults__subjectstringYesThe default subject line for campaigns sent to this list.
campaign__defaults__languagestringYesThe default language for this list’s forms (e.g., 'en').
double_optinbooleanNoRequire email confirmation (double opt-in). Recommended for GDPR compliance.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER

Add or update a list member (subscriber) in a Mailchimp audience. This is an upsert operation: if the subscriber exists, they will be updated; if not, they will be created. The subscriber_hash parameter should be the MD5 hash of the lowercase email address.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
email_addressstringYesEmail address for a subscriber. Required if the email is not already on the list.
subscriber_hashstringYesThe MD5 hash of the lowercase version of the list member’s email address, the email address itself, or the contact_id.
status_if_newstring ("subscribed" | "unsubscribed" | "cleaned" | "pending" | "transactional")YesSubscriber’s status when creating a new member.
statusstring ("subscribed" | "unsubscribed" | "cleaned" | "pending" | "transactional")NoSubscriber’s current status when updating.
merge_fieldsobjectNoA dictionary of merge fields (e.g., FNAME, LNAME).
skip_merge_validationbooleanNoIf true, accepts data without required merge field values. Defaults to false.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_BATCH_SUBSCRIBE_OR_UNSUBSCRIBE

Batch subscribe or unsubscribe list members. Supports up to 500 members per API call.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
membersarrayYesAn array of member objects. Each must contain email_address (string) and status (one of: subscribed, unsubscribed, cleaned, pending, transactional). Up to 500 members per call.
update_existingbooleanNoWhether to update existing members. Defaults to false.
sync_tagsbooleanNoWhether to replace all existing tags with the tags in the request.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_GET_CAMPAIGN_INFO

Get information about a specific campaign.

NameTypeRequiredDescription
campaign_idstringYesThe unique id for the campaign.
fieldsarrayNoA list of fields to return. Reference parameters of sub-objects with dot notation.
exclude_fieldsarrayNoA list of fields to exclude from the response. Cannot be used together with fields.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_GET_LIST_INFO

Get information about a specific list in your Mailchimp account. Results include list members who have signed up but haven’t confirmed their subscription yet and unsubscribed or cleaned.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
fieldsarrayNoA comma-separated list of fields to return.
exclude_fieldsarrayNoA comma-separated list of fields to exclude.
include_total_contactsbooleanNoReturn the total_contacts field with an approximate count of all contacts in any state.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_GET_LISTS_INFO

Get information about all lists in the account.

NameTypeRequiredDescription
countintegerNoThe number of records to return. Default: 10. Maximum: 1000.
offsetintegerNoNumber of records to skip for pagination. Default: 0.
emailstringNoRestrict results to lists that include a specific subscriber’s email address.
sort_fieldstring ("date_created")NoReturns lists sorted by the specified field.
sort_dirstring ("ASC" | "DESC")NoDetermines the order direction for sorted results.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_GET_MEMBER_INFO

Get information about a specific list member, including a currently subscribed, unsubscribed, or bounced member.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
subscriber_hashstringYesThe MD5 hash of the lowercase version of the list member’s email address, the email address directly, or the contact_id.
fieldsstringNoFields to return. Use field names for top-level fields or dot notation for nested fields.
exclude_fieldsstringNoFields to exclude.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_LIST_MEMBERS_INFO

Get information about members in a specific Mailchimp list, with support for status, date, and interest filters.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
countintegerNoThe number of records to return. Default: 10. Maximum: 1000.
offsetintegerNoNumber of records to skip. Default: 0.
statusstring ("subscribed" | "unsubscribed" | "cleaned" | "pending" | "transactional" | "archived")NoFilter members by subscription status.
sort_fieldstring ("timestamp_opt" | "timestamp_signup" | "last_changed")NoReturns files sorted by the specified field.
sort_dirstring ("ASC" | "DESC")NoDetermines the order direction for sorted results.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_LIST_CAMPAIGNS

Get all campaigns in an account, with support for filters by type, status, list, and time period.

NameTypeRequiredDescription
countintegerNoThe number of records to return. Default: 10. Maximum: 1000.
offsetintegerNoNumber of records to skip. Default: 0.
typestring ("regular" | "plaintext" | "absplit" | "rss" | "variate")NoThe campaign type.
statusstring ("save" | "paused" | "schedule" | "sending" | "sent")NoThe status of the campaign.
list_idstringNoFilter campaigns for the specified list.
sort_fieldstring ("create_time" | "send_time")NoReturns files sorted by the specified field.
sort_dirstring ("ASC" | "DESC")NoDetermines the order direction for sorted results.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_LIST_SEGMENTS

Get information about all available segments for a specific list.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
countintegerNoThe number of records to return. Default: 10. Maximum: 1000.
offsetintegerNoNumber of records to skip. Default: 0.
typestringNoLimit results based on segment type.
since_created_atstringNoRestrict results to segments created after the set time (ISO 8601).
before_created_atstringNoRestrict results to segments created before the set time (ISO 8601).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_ADD_SEGMENT

Create a new segment in a specific Mailchimp list/audience. Segments can be static (based on a list of specific email addresses) or saved (based on matching conditions). The static_segment and options fields are mutually exclusive.

NameTypeRequiredDescription
namestringYesThe name of the segment. Must be unique within the list.
list_idstringYesThe unique ID for the list where the segment will be created.
static_segmentarrayNoAn array of email addresses of existing list members for a static segment. Pass [] to create an empty static segment.
options__matchstring ("any" | "all")NoMatch type for dynamic segment conditions: any (OR) or all (AND). Required when using options__conditions.
options__conditionsarrayNoArray of condition objects for dynamic segments (e.g., by email, merge field, etc.).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_SET_CAMPAIGN_CONTENT

Set the content for a campaign. Accepts raw HTML, plain text, a template ID, or an archive file.

NameTypeRequiredDescription
campaign_idstringYesThe unique id for the campaign.
htmlstringNoThe raw HTML for the campaign.
plain_textstringNoThe plain-text portion of the campaign. If left unspecified, it is generated automatically.
template__idintegerNoThe id of the template to use.
urlstringNoWhen importing a campaign, the URL where the HTML lives.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_SCHEDULE_CAMPAIGN

Schedule a campaign for delivery at a specific date and time. The campaign must be in save (draft) status and pass all send checklist items. The schedule time must be in the future and on the quarter-hour (:00, :15, :30, :45). Requires a paid Mailchimp plan.

NameTypeRequiredDescription
campaign_idstringYesThe unique ID for the campaign to schedule.
schedule_timestringYesThe UTC date and time to schedule the campaign in ISO 8601 format (e.g., '2026-01-26T12:00:00+00:00'). Must be at least 15 minutes in the future.
timewarpbooleanNoUse Timewarp to send based on each recipient’s local time zone. Cannot be used with Batch Delivery.
batch__delivery__batch__countintegerNoThe number of batches for Batch Delivery.
batch__delivery__batch__delayintegerNoThe delay in minutes between batches for Batch Delivery.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_SEND_CAMPAIGN

Send a Mailchimp campaign immediately. The campaign must be in save (draft) status, have a valid audience, subject line, from name, verified from email, and content set. Returns HTTP 204 on success.

NameTypeRequiredDescription
campaign_idstringYesThe unique id for the campaign to send. Must be in save status and pass all send-checklist requirements.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_SEND_TEST_EMAIL

Send a test email for a campaign to preview it before sending to your audience. The campaign must have content set. Free accounts can send to up to 6 addresses; paid accounts up to 20.

NameTypeRequiredDescription
campaign_idstringYesThe unique ID of the campaign to send a test email for.
test_emailsarrayYesList of email addresses to receive the test email (e.g., ['user@example.com']).
send_typestring ("html" | "plaintext")NoThe format of the test email. Defaults to html.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_UPDATE_LIST_MEMBER

Update information for a specific list member, including status, merge fields, tags, and language preferences.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
subscriber_hashstringYesThe MD5 hash of the lowercase version of the list member’s email address, the email address directly, or the contact_id.
statusstring ("subscribed" | "unsubscribed" | "cleaned" | "pending")NoSubscriber’s current status.
merge_fieldsobjectNoA dictionary of merge fields with updated values.
languagestringNoThe subscriber’s language code (e.g., 'en', 'es').
vipbooleanNoVIP status for the subscriber.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_ADD_OR_REMOVE_MEMBER_TAGS

Add or remove tags from a list member. Use status: 'active' to add a tag or status: 'inactive' to remove it. If a tag doesn’t exist and status is active, a new tag will be created. Returns HTTP 204 on success.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
subscriber_hashstringYesThe MD5 hash of the lowercase version of the list member’s email address, the email address directly, or the contact_id.
tagsarrayYesA list of tag objects, each with name (string) and status ('active' or 'inactive').
is_syncingbooleanNoWhen true, automations based on the tags in the request will not fire. Useful for bulk imports.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_ARCHIVE_LIST_MEMBER

Archive (soft delete) a list member from a Mailchimp audience. Archived members are removed from the active list but their data is preserved and they can be re-subscribed later. For permanent deletion, use the delete-permanent endpoint instead. Returns HTTP 204 on success.

NameTypeRequiredDescription
list_idstringYesThe unique ID for the list.
subscriber_hashstringYesThe MD5 hash of the lowercase version of the list member’s email address, the email address directly, or the contact_id.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_SEARCH_MEMBERS

Search for list members. This search can be restricted to a specific list, or can be used to search across all lists in an account.

NameTypeRequiredDescription
querystringYesThe search query used to filter results. Should be a valid email, or a string representing a contact’s first or last name.
list_idstringNoThe unique id for the list. If omitted, search will be performed across all lists in the account.
fieldsarrayNoA comma-separated list of fields to return.
exclude_fieldsarrayNoA comma-separated list of fields to exclude.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_SEARCH_CAMPAIGNS

Search all campaigns for the specified query terms. Searches across campaign titles, subject lines, and content.

NameTypeRequiredDescription
querystringYesThe search query used to filter campaigns. Searches across campaign titles, subject lines, and other campaign content.
fieldsarrayNoA list of fields to return. Use dot notation to reference nested fields.
exclude_fieldsarrayNoA list of fields to exclude from the response.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_REPLICATE_CAMPAIGN

Replicate a campaign in saved or sent status, creating a draft copy for reuse.

NameTypeRequiredDescription
campaign_idstringYesThe unique id for the campaign to replicate.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_ADD_TEMPLATE

Create a new email template in the Mailchimp account. Only Classic (HTML) templates are supported through this API endpoint. The template HTML can include Mailchimp merge tags (e.g., *|FNAME|*) for personalization.

NameTypeRequiredDescription
namestringYesThe name of the template. Must be unique within the account.
htmlstringYesThe raw HTML content for the template. Supports Mailchimp Template Language for dynamic content. Must be valid HTML.
folder_idstringNoThe ID of the folder to store the template in.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_LIST_TEMPLATES

Get a list of an account’s available templates, with support for filters by type, category, folder, and creation date.

NameTypeRequiredDescription
countintegerNoThe number of records to return. Default: 10. Maximum: 1000.
offsetintegerNoNumber of records to skip. Default: 0.
typestringNoLimit results based on template type.
categorystringNoLimit results based on category.
folder_idstringNoThe unique folder id.
content_typestring ("html" | "template" | "multichannel")NoLimit results based on how the template’s content is put together.
sort_fieldstring ("date_created" | "date_edited" | "name")NoReturns user templates sorted by the specified field.
sort_dirstring ("ASC" | "DESC")NoDetermines the order direction for sorted results.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

MAILCHIMP_PING

A health check for the API that won’t return any account-specific information. Useful to confirm the connection is working.

NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.