Moosend

Learn how to use Moosend with Composio

Overview

SLUG: MOOSEND

Description

Moosend is a cloud-based, AI-powered email marketing solution that allows you to target your audience at scale.

Authentication Details

generic_api_key
stringRequired

Connecting to Moosend

Create an auth config

Use the dashboard to create an auth config for the Moosend toolkit. This allows you to connect multiple Moosend accounts to Composio for agents to use.

1

Select App

Navigate to the Moosend toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5moosend_auth_config_id = "ac_YOUR_MOOSEND_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Moosend for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, moosend_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["MOOSEND"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Add or Update Subscriber

Description

Tool to add or update a subscriber in a mailing list. use after obtaining the mailing list id to manage subscribers.

Action Parameters

CustomFields
array
HasExternalDoubleOptIn
boolean
Name
string
Preferences
array
Tags
array
email
Required
format
stringDefaults to json
mailingListID
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create custom field

Description

Tool to create a custom field in a mailing list. use when you need to define a new custom field for subscriber data.

Action Parameters

custom_field_type
stringDefaults to Text
format
stringDefaults to json
is_hidden
boolean
is_required
boolean
mailing_list_id
stringRequired
name
stringRequired
options
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Mailing List

Description

Tool to create a new empty mailing list in moosend. use after obtaining api key.

Action Parameters

ConfirmationPage
string
Name
stringRequired
PreferencePageId
string
Preferences
objectRequired
RedirectAfterUnsubscribePage
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Campaign

Description

Tool to delete a campaign. use when you need to permanently remove a draft or sent campaign from your moosend account after confirming its id. deletion is irreversible.

Action Parameters

campaign_id
stringRequired
format
stringDefaults to json

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete custom field

Description

Tool to remove a custom field definition from a mailing list. use when you have confirmed the custom field id to delete.

Action Parameters

custom_field_id
stringRequired
format
stringDefaults to json
mailing_list_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Mailing List

Description

Tool to delete a mailing list. use when you need to permanently remove a mailing list from your moosend account after confirming its id. deletion is irreversible.

Action Parameters

format
stringDefaults to json
mailing_list_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get all campaigns

Description

Tool to retrieve a list of all campaigns in your account. use after acquiring valid api credentials to explore campaign data.

Action Parameters

format
stringDefaults to json
page
integerDefaults to 1

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get All Subscribers

Description

Tool to retrieve subscribers in a specified mailing list by status. use when you need to paginate subscribers after confirming list id and status.

Action Parameters

Page
integer
PageSize
integer
format
stringDefaults to json
mailingListID
stringRequired
status
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Campaign Details

Description

Tool to retrieve detailed properties of a specific campaign. use when you need to inspect a campaign's full configuration after creation or scheduling.

Action Parameters

campaign_id
stringRequired
format
stringDefaults to json

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Subscriber By Email

Description

Tool to search for a subscriber by email in a mailing list. use when you need subscriber details after confirming the list exists. example: "get subscriber details for jane.doe@example.com in list 04fad8e2-..."

Action Parameters

Email
Required
format
stringDefaults to json
mailingListID
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Schedule Campaign

Description

Tool to schedule a campaign. use when you want to set a specific date and time for campaign delivery after confirming its id.

Action Parameters

ScheduledDateTime
stringRequired
TimeZone
string
campaign_id
stringRequired
format
stringDefaults to json

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send Campaign

Description

Tool to send an existing draft campaign immediately. use when you want to dispatch a campaign to all recipients after final review.

Action Parameters

CampaignID
stringRequired
Format
stringDefaults to json

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Campaign

Description

Tool to update a draft campaign. use when you want to modify properties of an existing draft campaign before sending.

Action Parameters

ABCampaignType
string
ABWinnerSelectionType
string
CampaignID
stringRequired
ConfirmationToEmail
string
HTMLContentB
string
HoursToTest
integer
IsAB
boolean
ListPercentage
integer
MailingLists
array
Name
stringRequired
ReplyToEmail
string
SenderEmail
string
SenderEmailB
string
Subject
string
SubjectB
string
TrackInGoogleAnalytics
boolean
WebLocation
string
WebLocationB
string
format
stringDefaults to json

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update custom field

Description

Tool to update properties of an existing custom field in a mailing list. use after confirming mailing list and custom field ids.

Action Parameters

custom_field_id
stringRequired
custom_field_type
string
format
stringDefaults to json
is_hidden
boolean
is_required
boolean
mailing_list_id
stringRequired
name
stringRequired
options
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Mailing List

Description

Tool to update the properties of an existing mailing list. use when you need to change list metadata after confirming the list id.

Action Parameters

description
string
format
stringDefaults to json
mailing_list_id
stringRequired
name
string
reply_to_email
string
sender_email
string
sender_name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired