Esputnik

Learn how to use Esputnik with Composio

Overview

SLUG: ESPUTNIK

Description

eSputnik is a marketing automation platform that enables businesses to manage and automate their communication channels, including email, SMS, web push, and mobile push notifications.

Authentication Details

generic_api_key
stringRequired

Connecting to Esputnik

Create an auth config

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

1

Select App

Navigate to Esputnik.

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

Tools

Executing tools

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

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Add Domain

Description

Register a domain with eSputnik for web tracking, widgets, or web push notifications. This tool is used to add a new domain to your eSputnik account, enabling: - Website behavior tracking for personalization - Widget integration (pop-ups, subscription forms) - Web push notification configuration Prerequisites: - Valid eSputnik API credentials with appropriate permissions - Domain ownership or administrative access to configure tracking Returns the registered domain and associated site identifier.

Action Parameters

domain
stringRequired
siteId

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Add Orders Bulk

Description

Tool to transfer orders in bulk to eSputnik. Use when you need to import up to 1000 orders at once.

Action Parameters

orders
arrayRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Bulk Add or Update Contacts

Description

Bulk add or update up to 3000 contacts in eSputnik asynchronously. Use this action to import multiple contacts at once or synchronize your CRM contact list. Contacts are matched by the channel specified in dedupeOn (email, sms, or mobilepush). If a contact exists, it is updated; otherwise, a new contact is created. Returns an asyncSessionId that can be used with the Get Contact Import Status action to monitor import progress. Note: New contacts created via this method are treated as confirmed (double opt-in assumed).

Action Parameters

contacts
arrayRequired
customFieldsIDs
dedupeOn
stringRequired
eventKeyForNewContacts
groupNames
groupNamesExclude
restoreDeleted

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Change Mobile Push Token Activity

Description

Activate or deactivate a mobile push notification token in eSputnik. Use this action to control whether a specific device token can receive push notifications. When a token is deactivated, the device will not receive push notifications until reactivated. Common use cases: - Temporarily disable notifications for a user's device - Reactivate a previously disabled token - Manage notification preferences at the device level Note: The app_uuid and token_id must correspond to a token that has been previously registered in eSputnik via the mobile SDK or API.

Action Parameters

active
booleanRequired
app_uuid
stringRequired
token_id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Contact

Description

Tool to delete a contact by its Yespo ID. Use when you need to remove a contact with no pending interactions.

Action Parameters

erase
id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Contact by External ID

Description

Delete a contact from eSputnik using their external customer ID. Use this tool when you need to remove a contact identified by the externalCustomerId (the unique ID from your external system, e.g., CRM or database). This is useful when you don't have the eSputnik internal contact ID but do have the external reference. For GDPR compliance, set erase=true to permanently remove all contact data including activity history and tracking data.

Action Parameters

erase
externalCustomerId
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete SMS Message

Description

Delete a base SMS message template by its ID from eSputnik. Use this action to permanently remove an SMS message template that is no longer needed. This is a destructive operation - the template will be permanently deleted and cannot be recovered. Prerequisites: - The SMS message template must exist - Valid eSputnik API credentials with write permissions Example usage: "Delete SMS template 12345", "Remove SMS message with ID 67890"

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get App Inbox Message

Description

Retrieves an App Inbox message by its unique identifier from eSputnik. Use this tool to fetch message content, metadata, and localized translations before sending, editing, or reviewing an App Inbox notification. Returns complete message details including title, text, images, links, and custom data for all configured language versions. Rate limit: 500 requests per hour.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Broadcasts

Description

Retrieve a paginated list of broadcast campaigns from eSputnik. Use this tool to: - List all scheduled or sent broadcast campaigns - Check broadcast details including target segments and scheduling - Navigate through broadcasts using pagination (startindex + maxrows) Returns broadcast details including IDs, titles, message templates, target segments, and scheduling information. Results are paginated - use startindex and maxrows to navigate through large lists. No filtering parameters supported - returns all broadcasts sorted by the API's default order.

Action Parameters

maxrows
integerDefaults to 10
startindex
integerDefaults to 1

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Contact Import Status

Description

Tool to retrieve the status of a contact import session. Use this to poll the asynchronous processing status of a previously submitted bulk contacts import.

Action Parameters

sessionId
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Contact Subscriptions

Description

Tool to retrieve subscription categories for a contact. Use when you need to get all subscription categories that a contact is enrolled in.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Organization Balance

Description

Retrieve the current eSputnik organization balance. Use this tool to check the account's available funds and currency before sending email or SMS campaigns. Returns the balance amount and currency code. No parameters required - uses the authenticated account credentials.

Action Parameters

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Organization Billing History

Description

Retrieve the organization's billing history from eSputnik, broken down by day and media channel. Use this tool to: - View costs per messaging channel (email, SMS, Viber, push notifications, etc.) - Track message volumes and spending over time - Analyze bonus credits usage and fund withdrawals - Generate billing reports for specific date ranges Returns daily breakdowns including messages sent, funds spent, and bonuses used per channel.

Action Parameters

date_from
date_to

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Preprocessor File Status

Description

Retrieve the status of a preprocessor file upload session. Use this tool to poll for the asynchronous processing status of a previously submitted preprocessor file. The ID parameter is the asyncSessionId returned by the 'Upload file for preprocessor' endpoint. Common status values: PENDING, PROCESSING, COMPLETED, ERROR.

Action Parameters

id
stringRequired

Action Response

data
error
file_id
file_name
id
stringRequired
message
raw_text
stringRequired
status
status_code
integerRequired
successful
booleanRequired
valid