Campayn

Learn how to use Campayn with Composio

Overview

SLUG: CAMPAYN

Description

Campayn is an email marketing platform that allows users to create, send, and manage email campaigns.

Authentication Details

generic_api_key
stringRequired

Connecting to Campayn

Create an auth config

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

1

Select App

Navigate to the Campayn 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
5campayn_auth_config_id = "ac_YOUR_CAMPAYN_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 Campayn 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, campayn_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

To prototype you can execute some tools to see the responses and working on the Campayn toolkit’s playground

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=["CAMPAYN"])
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: Create Contact

Description

Tool to create a new contact in a specific list. use when you need to add a contact after gathering details.

Action Parameters

address
string
city
string
company
string
country
string
custom_fields
array
email
stringRequired
failOnDuplicate
boolean
first_name
string
last_name
string
list_id
integerRequired
phones
array
sites
array
social
array
state
string
title
string
zip
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Contact

Description

Tool to delete a specific contact. use when you need to remove a contact permanently after confirming it should be deleted. example: "delete contact 123".

Action Parameters

contact_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete List

Description

Tool to delete a specific contact list. use when cleaning up unused lists after confirming they are no longer needed. example: "delete list 123".

Action Parameters

list_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete webform

Description

Tool to delete a specific webform. use when removing outdated or unnecessary webforms after confirming they are no longer needed. example: "delete webform 123".

Action Parameters

list_id
integerRequired
webform_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Contact

Description

Tool to retrieve a specific contact by id. use when you need to fetch full contact details after confirming the contact id.

Action Parameters

contact_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Contacts

Description

Tool to retrieve all contacts in a specified list. use when you need to fetch list contacts after confirming list id.

Action Parameters

filter[contact]
string
list_id
integerRequired

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Get List

Description

Tool to retrieve a specific contact list by id. use when you need to fetch list details like name, tags, and contact count after knowing the list id.

Action Parameters

list_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Lists

Description

Tool to retrieve all contact lists. use when you need to fetch available lists before performing list-specific actions. example prompt: "list all my contact lists".

Action Parameters

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Get Message

Description

Tool to retrieve details of a specific message by id. use when you need to fetch full message details after confirming the message id.

Action Parameters

message_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Messages

Description

Tool to retrieve all email messages. use when you need to list all messages visible to the authenticated user.

Action Parameters

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Get Reports

Description

Tool to retrieve report urls and metadata for sent and scheduled emails. use when you need to fetch email delivery data, optionally filtered by a date range (unix timestamp in seconds, utc). note: scheduled emails will have report url set to null.

Action Parameters

from_time
integer
to
integer

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Get Webform

Description

Tool to retrieve details of a specific webform by id. use after confirming the webform id when you need to fetch form details like title, type, html, and signup count. example: "get webform 1550".

Action Parameters

list_id
integerRequired
webform_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Webforms

Description

Tool to retrieve all webforms for a specific contact list. use when you need to list forms after confirming the list id. example prompt: "list all webforms in list 123".

Action Parameters

filter[form_type]
string
list_id
integerRequired

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Update List

Description

Tool to update a contact list. use after confirming list id and desired changes. example: update list 123 name to 'newsletter subscribers'.

Action Parameters

list_id
integerRequired
list_name
string
tags
string

Action Response

data
objectRequired
error
string
successful
booleanRequired