# Esputnik

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.

- **Category:** marketing automation
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 89
- **Triggers:** 0
- **Slug:** `ESPUTNIK`
- **Version:** 20260312_00

## Tools

### Add Contact

**Slug:** `ESPUTNIK_ADD_CONTACT`

Tool to create or update a single contact in eSputnik in real-time. Use when you need to add a new contact or update an existing one by matching on channels. If a contact with the same channel (email, sms, etc.) already exists, it will be updated. Otherwise, a new contact is created. New contacts are treated as confirmed (double opt-in assumed). For bulk operations with 2+ contacts, use the Bulk Add or Update Contacts action instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | array | No | Additional custom fields to set for the contact |
| `address` | object | No | Postal address for a contact. |
| `channels` | array | Yes | List of one or more contact channels (email, sms, mobilepush, webpush, telegram, viber). Required field. |
| `lastName` | string | No | Contact's last name. Max 40 characters. Letters from any alphabet allowed. |
| `timeZone` | string | No | Contact's time zone (TZ database name, e.g., 'Europe/London') |
| `firstName` | string | No | Contact's first name. Max 40 characters. Letters from any alphabet allowed. |
| `contactKey` | string | No | Contact's key identifier |
| `languageCode` | string | No | Language code for the contact (e.g., 'en', 'fr') |
| `addressBookId` | integer | No | Address book ID to add the contact to |
| `externalCustomerId` | string | No | External customer ID for deduplication and matching with your system |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Domain

**Slug:** `ESPUTNIK_ADD_DOMAIN`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | The domain name to register for web tracking or widget integration. Should be a valid domain name without protocol (e.g., 'example.com' not 'https://example.com'). Subdomains are supported (e.g., 'shop.example.com'). |
| `siteId` | string | No | Optional site identifier (UUID format) to associate the domain with a specific site. If not provided, a new site may be created or a default association will be used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Orders Bulk

**Slug:** `ESPUTNIK_ADD_ORDERS`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orders` | array | Yes | Array of order objects (up to 1000) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Unsubscribed Emails

**Slug:** `ESPUTNIK_ADD_UNSUBSCRIBED_EMAILS`

Tool to add email addresses to the list of unsubscribed contacts. Use when you need to unsubscribe contacts from receiving emails.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | Yes | List of email addresses to add to the unsubscribed contacts list. Each email should be a valid email address format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Web Push Domain

**Slug:** `ESPUTNIK_ADD_WEBPUSH_DOMAIN`

Tool to add a domain for web push notifications in eSputnik. Use when you need to register a new domain to enable web push notification functionality. The domain must be reachable and not already registered in your account. This operation configures the service worker settings required for web push notifications to function. Prerequisites: - Valid eSputnik API credentials with appropriate permissions - Domain ownership or administrative access - Service worker JavaScript file prepared for deployment

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | Site domain for web push integration. Must be a reachable, valid domain that is not already registered in your eSputnik account. Should not include protocol (e.g., 'example.com' not 'https://example.com'). |
| `serviceWorkerName` | string | Yes | Web push service worker file name in *.js format. This JavaScript file will handle push notifications on the client side. |
| `serviceWorkerPath` | string | Yes | Relative path on site where service worker will be stored. Must start and end with a slash (e.g., '/', '/static/'). |
| `serviceWorkerScope` | string | Yes | Relative path on site where service worker will work. Usually is the same as serviceWorkerPath. Must start and end with a slash (e.g., '/', '/app/'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Attach Contacts to Segment

**Slug:** `ESPUTNIK_ATTACH_CONTACTS_TO_SEGMENT`

Tool to attach contacts to a static segment (group) by contact IDs or external customer IDs. Use this action to add contacts to a static segment for organizing and targeting your contact lists. You can specify contacts using either eSputnik internal contact IDs or your own external customer IDs. Maximum 500 contacts per request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the static segment (group) to attach contacts to. Use the Search Segments action to find segment IDs. |
| `contactIds` | array | No | List of eSputnik internal contact IDs to attach to the segment. Maximum 500 contact IDs per request. At least one of contactIds or externalCustomerIds must be provided. |
| `externalCustomerIds` | array | No | List of external customer IDs to attach to the segment. Maximum 500 external IDs per request. At least one of contactIds or externalCustomerIds must be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Add or Update Contacts

**Slug:** `ESPUTNIK_BULK_ADD_OR_UPDATE_CONTACTS`

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).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contacts` | array | Yes | List of 1 to 3000 contacts to add or update in this batch |
| `dedupeOn` | string ("email" | "sms" | "push") | Yes | Channel type used for uniqueness check when searching existing contacts (use 'push' for mobilepush channels) |
| `groupNames` | array | No | Segment names to which all contacts will be added |
| `restoreDeleted` | boolean | No | If true, previously deleted contacts are restored; if false, deleted contacts are skipped |
| `customFieldsIDs` | array | No | List of custom field IDs; when provided, only these fields are updated |
| `groupNamesExclude` | array | No | Segment names from which all contacts will be removed |
| `eventKeyForNewContacts` | string | No | Event key (Latin letters and digits only, no spaces) to trigger workflows for new contacts |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Change Mobile Push Token Activity

**Slug:** `ESPUTNIK_CHANGE_TOKEN_ACTIVITY`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `active` | boolean | Yes | The desired activity state for the token. Set to true to activate the token (enable push notifications), or false to deactivate it (disable push notifications). |
| `app_uuid` | string | Yes | The UUID of the mobile application registered in eSputnik. This is obtained from the eSputnik dashboard when connecting your mobile app (e.g., '83b77a49-fc28-409b-aeaa-68c9d544ab9d'). |
| `token_id` | string | Yes | The mobile push token identifier (device token) generated by FCM/APN and registered for a contact in eSputnik (e.g., '0373a4ab1c37447eb0b30bc47a4f492c426af47cdc81be43a1e8455355ea87b0'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create API Token

**Slug:** `ESPUTNIK_CREATE_API_TOKEN`

Generate a new API token for authentication. Use this action to create an API token using your eSputnik account credentials. The token can be used for authenticating subsequent API requests. This action requires basic authentication (username and password) which is automatically provided from your configured credentials. Returns a string token that should be used in the Authorization header for future API calls. This is particularly useful when you need to generate fresh tokens or when integrating eSputnik API with other systems.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create App Inbox Message

**Slug:** `ESPUTNIK_CREATE_APP_INBOX_MESSAGE`

Tool to create a basic App Inbox message in eSputnik. Use when you need to create a new in-app notification message. App Inbox messages are displayed within mobile apps or websites as notifications to users. Requires at minimum a name, title, and text. Optionally supports images, links, custom data, translations for multiple languages, tags, and subscription categories.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | No | Message ID. Used for updating an existing message. Leave empty for creating a new message. |
| `link` | string | No | The link that will open after the click on the message body |
| `name` | string | Yes | Message name for internal identification |
| `tags` | array | No | List of tags for categorizing the message |
| `text` | string | Yes | Message text content displayed to the user |
| `title` | string | Yes | Message title displayed to the user |
| `ttlSec` | integer | No | Time-to-live for the message, in seconds |
| `customData` | string | No | Additional parameters in JSON format to be used in the message |
| `imageSource` | string | No | The logo image in JPEG, PNG or GIF format |
| `languageCode` | string | No | Language code for the message (e.g., 'en', 'fr', 'de') |
| `translations` | array | No | Array of language versions for multilingual messages |
| `subscriptionsKeys` | array | No | Subscription categories keys, assigned to a message |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Contacts from File

**Slug:** `ESPUTNIK_CREATE_CONTACTS_FILE`

Import or update contacts from an external file in eSputnik. Creates new contacts and updates existing ones based on dedupeOn field. Use this action to bulk import contacts from a CSV file hosted at a publicly accessible URL. The file must use comma delimiters and follow eSputnik's column naming requirements (firstName, lastName, email, sms, etc.). The import is asynchronous - use the returned asyncSessionId with Get Contact Import Status to monitor progress.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link` | string | Yes | The link to a file in an external repository. File must be CSV format with comma delimiter, not empty, max 100 MB. Column naming requirements apply for firstName, lastName, email, sms, etc. |
| `dedupeOn` | string ("email" | "sms" | "email_or_sms" | "id") | Yes | The property for determining the contact uniqueness. Valid values: 'email', 'sms', 'email_or_sms', or 'id'. |
| `groupNames` | array | No | The list of segment names where new/updated contacts will be added to. |
| `restoreDeleted` | boolean | No | If true, previously deleted contacts will be restored. If false or not provided, deleted contacts are skipped. |
| `groupNamesExclude` | array | No | The list of segment names where new/updated contacts will be excluded from. |
| `eventKeyForNewContacts` | string | No | Event type identification key for new contacts. If the system does not have an event type with such a key, a new event type is created. Max length: 100 symbols. Allowed characters: all except < ; ' \ / \| " ` ' ^ ? ! , > |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Email Message

**Slug:** `ESPUTNIK_CREATE_EMAIL_MESSAGE`

Tool to create or update an email message in eSputnik. Use when you need to add a new email template or update an existing one, including support for multilingual message versions. When 'id' is provided in the request, the action updates the existing message with that ID. When 'id' is omitted, a new email message is created. The 'languageCode' parameter allows adding or updating specific language versions for multilingual campaigns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | No | Message ID. When provided, updates the existing message with this ID. When omitted, creates a new message. |
| `css` | string | No | CSS styles for the email message. Can be used to separate styling from HTML content. |
| `from` | string | Yes | Required. Sender name and email address in the format: '"Sender Name" <email@example.com>'. Example: '"John Smith" <john.smith@example.com>' |
| `name` | string | Yes | Required. Internal name of the message for identification within eSputnik. |
| `tags` | array | No | List of tags for organizing and categorizing messages. |
| `ampHtml` | string | No | AMP HTML code for AMP-enabled email clients. Provides interactive email features. |
| `rawHtml` | string | No | Message HTML code without styles. Used when CSS is provided separately. |
| `subject` | string | Yes | Required. Email subject line that will be displayed to recipients. |
| `htmlText` | string | Yes | Required. HTML content of the email message. Can include full HTML structure with body tags or just the content to be displayed in the email. |
| `languageCode` | string | No | Language code for multilingual messages (e.g., 'en', 'es', 'fr'). Used to add or update a language version of a message. |
| `subscriptionsKeys` | array | No | List of subscription category keys to assign to this message. Used for subscription management. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Mobile Push Message

**Slug:** `ESPUTNIK_CREATE_MOBILE_PUSH_MESSAGE`

Tool to create a new mobile push notification message in eSputnik. Use when you need to set up a push notification campaign for mobile app users. The created message can include title, body text, images, action buttons, and custom data. Supports multilingual messages through the translations field. After creation, use the returned message ID to send the notification to specific contacts or segments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link` | string | No | URL to open when the notification is clicked. Can be external link (opens in browser) or deep link (opens app section). |
| `name` | string | Yes | Internal name for the mobile push message. Used to identify the message in eSputnik dashboard. |
| `tags` | array | No | List of tags to categorize and organize the message. |
| `text` | string | Yes | Main body text of the push notification. |
| `title` | string | Yes | Notification title displayed to the user. |
| `images` | array | No | Array of image URLs to create an image carousel. Maximum 10 images. |
| `ttlSec` | integer | No | Time-to-live for the message in seconds. Message expires after this time if not delivered. |
| `buttons` | array | No | Action buttons for the notification. iOS supports up to 4 buttons, Android up to 3. |
| `subtitle` | string | No | Message subtitle. Only visible to iOS users. |
| `badgeCount` | integer | No | Number of unread messages to display as a badge on the app icon. |
| `customData` | string | No | Additional parameters in JSON format to include with the push message for custom processing. |
| `imageSource` | string | No | URL of a single image to include in the message. For multiple images, use the 'images' field instead. |
| `soundEnabled` | boolean | No | Enable sound notification when the user receives the push message. |
| `translations` | array | No | Array of language-specific versions for multilingual push messages. |
| `subscriptionsKeys` | array | No | Subscription category keys assigned to this message for targeting specific subscriber groups. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SMS Message

**Slug:** `ESPUTNIK_CREATE_SMS_MESSAGE`

Tool to create a basic SMS message template in eSputnik. Use when you need to create a new SMS message template for sending campaigns. The created template can be used later for sending SMS messages to contacts. Before creating an SMS message, ensure you have configured SMS interfaces (sender names) in your eSputnik account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | No | Optional message ID. If provided, it updates an existing message with this ID. If not provided, a new message is created and a new ID is assigned. |
| `from` | string | Yes | Sender name (alpha name) displayed to recipients. This must be a pre-configured SMS interface in your eSputnik account. Use the 'Get SMS Interfaces' action to retrieve available sender names. |
| `name` | string | Yes | Internal name or title for the SMS message template. This name is used for identification and organization within eSputnik and is not visible to recipients. |
| `tags` | array | No | List of tags for organizing and categorizing SMS message templates. Tags help with searching and filtering messages in eSputnik. |
| `text` | string | Yes | The text content of the SMS message. This is the actual message that will be sent to recipients. Keep in mind SMS length limits and character encoding. |
| `trackUrls` | boolean | No | Whether to track URLs in the SMS message. When enabled, links are replaced with trackable shortened URLs. Default is false. |
| `languageCode` | string | No | Language code for the message (e.g., 'en', 'ru', 'fr'). This helps with organization and filtering of multilingual message templates. |
| `subscriptionsKeys` | array | No | List of subscription category keys assigned to this message. Recipients must be subscribed to at least one of these categories to receive the message. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Telegram Message

**Slug:** `ESPUTNIK_CREATE_TELEGRAM_MESSAGE`

Create a basic Telegram bot message in eSputnik. Use when you need to create a new message template that can be sent to contacts via Telegram. The message is saved as a template in eSputnik and can later be sent to contacts using the Send Message API. The message ID returned in the response is required for sending operations. Prerequisites: - Valid eSputnik API credentials with write permissions - Telegram bot configured in your eSputnik account Example usage: "Create a Telegram message with name 'Welcome Message' and text 'Hello!'"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Internal name for the message template. Used to identify the message in the eSputnik interface. |
| `tags` | array | No | List of tags to categorize and organize the message. Useful for filtering and searching. |
| `text` | string | Yes | Message text content that will be sent to users. Required field. |
| `buttons` | array | No | List of buttons to add to the message. Use buttons to implement various actions like callbacks or external links. |
| `imageSource` | string | No | Image URL for a single image to include in the message. |
| `languageCode` | string | No | Language code for the message (e.g., 'en', 'ru', 'uk'). Used for multilingual campaigns. |
| `subscriptionsKeys` | array | No | Subscription category keys assigned to this message. Used for managing unsubscribe preferences. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete App Inbox Message

**Slug:** `ESPUTNIK_DELETE_APP_INBOX_MESSAGE`

Tool to delete an App Inbox message by its ID from eSputnik. Use when you need to permanently remove an App Inbox message that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the App Inbox message to delete. This is the internal ID assigned by eSputnik when the message was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete App Inbox Translation

**Slug:** `ESPUTNIK_DELETE_APPINBOX_TRANSLATION`

Delete a language translation of an App Inbox message from eSputnik. Use this action to remove a specific language version of an App Inbox message while keeping the base message and other translations intact. This is useful when you no longer need to support a particular language or need to clean up outdated translations. Prerequisites: - The App Inbox message must exist - The specified language translation must exist for the message - Valid eSputnik API credentials with write permissions

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the App Inbox message. This ID is assigned by eSputnik when the message is created. |
| `language` | string | Yes | The language code of the translation to delete (e.g., 'en' for English, 'es' for Spanish, 'fr' for French). Must be a valid ISO 639-1 two-letter language code. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Broadcast

**Slug:** `ESPUTNIK_DELETE_BROADCAST`

Tool to cancel a scheduled broadcast campaign. Use when you need to stop a broadcast from being sent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `broadcast_id` | string | Yes | Unique identifier of the broadcast campaign to cancel. This is the ID assigned by eSputnik when the broadcast was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact

**Slug:** `ESPUTNIK_DELETE_CONTACT`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Yespo/eSputnik contact ID to delete. This is the internal ID assigned by the system when the contact was created. |
| `erase` | boolean | No | If True, permanently erases all contact data including profile attributes, activity, and tracking data. This action is IRREVERSIBLE. If False or not specified, the contact is soft-deleted and can potentially be restored. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact by External ID

**Slug:** `ESPUTNIK_DELETE_CONTACT_BY_EXTERNAL_ID`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `erase` | boolean | No | When true, performs GDPR-compliant full erasure of all contact data including profile attributes, activity history, and web/mobile tracking. This action is irreversible. When false or omitted, performs a regular (soft) deletion. |
| `externalCustomerId` | string | Yes | The unique external customer ID assigned to the contact in your system. This is the identifier you provided when creating/importing the contact via the externalCustomerId field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Email Message

**Slug:** `ESPUTNIK_DELETE_EMAIL_MESSAGE`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the email message to delete. This is the unique ID assigned by eSputnik when the message was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Email Translation

**Slug:** `ESPUTNIK_DELETE_EMAIL_TRANSLATION`

Delete a translation of a base email message from eSputnik. Use this action to remove a specific language translation of an email message template. This does not delete the base email message, only the specified translation. The operation is permanent and the translation cannot be recovered once deleted. Prerequisites: - The email message must exist - The specified language translation must exist - Valid eSputnik API credentials with write permissions Example usage: "Delete Spanish translation of email 4404258", "Remove French translation for email message 12345"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the email message. This is the unique ID assigned by eSputnik when the message was created. |
| `language` | string | Yes | Language code of the translation to delete, in compliance with ISO 639-1 standard. Common examples: 'en' (English), 'es' (Spanish), 'fr' (French), 'de' (German), 'ru' (Russian), 'uk' (Ukrainian). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Mobile Push Message

**Slug:** `ESPUTNIK_DELETE_MOBILEPUSH_MESSAGE`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the Mobile Push message to delete. This is the unique ID assigned by eSputnik when the message was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Mobile Push Translation

**Slug:** `ESPUTNIK_DELETE_MOBILEPUSH_TRANSLATION`

Delete a language version of a base Mobile Push message from eSputnik. Use this tool to remove a specific language translation from a mobile push message while keeping the base message and other translations intact. This is useful when managing multilingual campaigns and needing to remove or update specific language versions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Mobile push message ID. This is the unique identifier of the base mobile push message from which you want to delete a specific language translation. |
| `language` | string | Yes | Language code for the translation to delete. Use standard language codes such as 'en' (English), 'es' (Spanish), 'fr' (French), 'de' (German), etc. This will remove the specified language version while keeping the base message intact. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Orders

**Slug:** `ESPUTNIK_DELETE_ORDERS`

Tool to schedule asynchronous deletion of orders in eSputnik. Use when you need to delete orders by external ID or by date range. Deletion can be performed by: - Specific order: Provide externalOrderId to delete a single order - Date range: Provide both 'from' and 'to' parameters to delete all orders within the specified period The deletion is asynchronous - the API accepts the request and processes it in the background.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | End date (inclusively) for the deletion period in ISO 8601 format (e.g., '2023-10-12T12:33'). Must be used together with 'from' parameter. The date range cannot exceed 24 hours. |
| `from` | string | No | Start date (inclusively) for the deletion period in ISO 8601 format (e.g., '2023-08-14T10:25'). Must be used together with 'to' parameter. The date range cannot exceed 24 hours. |
| `externalOrderId` | string | No | ID of an order in the external system. Use this to delete a specific order by its external identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SMS Message

**Slug:** `ESPUTNIK_DELETE_SMS_MESSAGE`

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"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the SMS message template to delete. This is the unique ID assigned by eSputnik when the message was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SMS Translation

**Slug:** `ESPUTNIK_DELETE_SMS_TRANSLATION`

Delete a language version of a base SMS message from eSputnik. Use this action to remove a specific language translation of an SMS message while keeping the base message and other translations intact. This is useful for removing outdated or incorrect translations. Prerequisites: - The base SMS message must exist - The specified language translation must exist for that message - Valid eSputnik API credentials with write permissions Example usage: "Delete Spanish translation of SMS message 4404242", "Remove French version of SMS 12345"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the base SMS message. This is the unique ID assigned by eSputnik when the message was created. |
| `language` | string | Yes | Language code of the SMS message translation to delete (e.g., 'en', 'es', 'fr'). Must be a valid ISO 639-1 two-letter language code. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Telegram Message

**Slug:** `ESPUTNIK_DELETE_TELEGRAM_MESSAGE`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the Telegram bot message to delete. This is the unique ID assigned by eSputnik when the message was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Telegram Translation

**Slug:** `ESPUTNIK_DELETE_TELEGRAM_TRANSLATION`

Delete a language version of a Telegram bot message from eSputnik. Use this action to remove a specific language translation of a Telegram bot message while keeping the base message and other translations intact. This is useful for managing multilingual bot messages when a translation is no longer needed or needs to be recreated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the base Telegram bot message. This is the unique ID assigned by eSputnik when the message was created. |
| `language` | string | Yes | Language code of the translation to delete (e.g., 'en' for English, 'ru' for Russian, 'es' for Spanish). This should be a valid ISO 639-1 two-letter language code. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Detach Contacts from Segment

**Slug:** `ESPUTNIK_DETACH_CONTACTS_FROM_SEGMENT`

Tool to delete contacts from a static segment by contact IDs or external customer IDs. Use when you need to remove specific contacts from a segment or clear an entire segment. IMPORTANT: If neither contactIds nor externalCustomerIds are specified, ALL contacts will be deleted from the segment. Maximum 500 IDs per request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the static segment from which contacts will be detached. Use the 'Search Segments' action to find segment IDs. |
| `contactIds` | array | No | List of internal contact IDs to detach from the segment (max 500). If both contactIds and externalCustomerIds are omitted, ALL contacts will be removed from the segment. |
| `externalCustomerIds` | array | No | List of external customer IDs to detach from the segment (max 500). If both contactIds and externalCustomerIds are omitted, ALL contacts will be removed from the segment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Event V2

**Slug:** `ESPUTNIK_GENERATE_EVENT_V2`

Tool to send backend events from websites and mobile apps to eSputnik. Use when tracking user actions, page views, or custom events for marketing automation and analytics. Secure for sensitive data with maximum 20 KB event data limit.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `params` | array | No | Array of event parameters containing contact identifiers (required) and event-specific data (optional). Use to pass contact information like email, firstName, lastName, and any custom event data. |
| `keyValue` | string | Yes | Contact identifier value used to match the event to a contact (e.g., email address, phone number, or external customer ID). This is required to associate the event with a specific contact in the system. |
| `eventTypeKey` | string | Yes | Unique identifier for the event type (e.g., 'PageViewed', 'TestEvent'). This key must be created in your eSputnik account before sending events. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Event V3

**Slug:** `ESPUTNIK_GENERATE_EVENT_V3`

Tool to generate events in eSputnik v3 API. Use when you need to track custom events for contacts (e.g., purchase, cart abandoned, page viewed). Events can be used to trigger automated campaigns and for creating dynamic content in messages. Each event must have an eventTypeKey identifier. Contact identification must be provided in the params object using standard contact identifiers (email, phone, or externalCustomerId). Additional event parameters can also be included in params. Note: This is the v3 API endpoint. For legacy integrations, v1 is available but deprecated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `params` | object | Yes | Object containing key-value pairs for contact identifiers (required: email, phone, or externalCustomerId) and event-specific parameters (optional). Values can be strings, numbers, booleans, objects, or arrays. Used in campaigns and for creating dynamic content in messages. |
| `eventTypeKey` | string | Yes | Unique identifier for the event type (e.g., 'purchase', 'cart_abandoned', 'PageViewed'). All characters are allowed except < ; ' \ / \| " ` ' ^ ? ! , >. Max length: 100 symbols. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Past Events V2

**Slug:** `ESPUTNIK_GENERATE_PAST_EVENTS_V2`

Tool to transfer past event data from your CRM or data store to eSputnik using v2 API. Use when you need to import historical events that should not trigger workflows. This method allows sending up to 500 events per request with a maximum content size of 20KB. Version 2 API methods do not require escaping in nested JSON, making it easier to work with complex event parameters. Workflows are not launched for these historical events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `events` | array | Yes | The list of past events to transfer. Maximum 500 events per request. Maximum content size is 20KB. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Past Events V3

**Slug:** `ESPUTNIK_GENERATE_PAST_EVENTS_V3`

Tool to generate past events in eSputnik v3 API. Use when you need to create historical events for contacts with specific timestamps. This action allows you to import past events with their original occurrence timestamps. Events can be used to trigger automated campaigns and for creating dynamic content in messages. Each event must have an eventTypeKey identifier and a keyValue for contact identification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `events` | array | Yes | The list of past events to be generated. Each event must have an eventTypeKey and keyValue. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account Info

**Slug:** `ESPUTNIK_GET_ACCOUNT_INFO`

Retrieve basic eSputnik account information. Use this tool to verify API authentication and get account details including the username/email and organization name. This is useful for confirming that API credentials are valid and retrieving account identifiers. Returns: - User email or username associated with the API key - Organization name for the authenticated account No parameters required - uses the authenticated account credentials automatically. This is a read-only, idempotent operation that can be called multiple times safely.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get App Inbox Message

**Slug:** `ESPUTNIK_GET_APP_INBOX_MESSAGE`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the App Inbox message to retrieve. This ID is assigned by eSputnik when the message is created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Broadcasts

**Slug:** `ESPUTNIK_GET_BROADCASTS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `maxrows` | integer | No | Maximum number of broadcasts to return per request (1-500). Defaults to 10. |
| `startindex` | integer | No | 1-based index of the first broadcast to return. Use for pagination (e.g., startindex=11 to get page 2 with maxrows=10). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact

**Slug:** `ESPUTNIK_GET_CONTACT`

Retrieve complete information about a contact by their ID. This action returns all available information about a specific contact identified by their internal eSputnik contact ID. The response includes communication channels (email, SMS, mobilepush), profile information (name, address), and any custom fields. Use this action when you need to: - Fetch current contact details for verification or display - Check contact profile information before updating - Retrieve custom field values for a specific contact - Verify contact existence in the system Returns a 404 error if the contact ID does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique internal contact ID in eSputnik system. Obtain this ID by creating contacts via Bulk Add or Update Contacts action, then checking the import status to retrieve the contactId from the mapping field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact Emails

**Slug:** `ESPUTNIK_GET_CONTACT_EMAILS`

Tool to retrieve email addresses of contacts by their contact IDs. Use when you need to fetch email addresses for specific contacts using their internal eSputnik identifiers. The API returns email addresses for all valid contact IDs provided. If a contact ID doesn't exist, it will be omitted from the results (no error raised).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | string | Yes | Comma-separated list of contact IDs to retrieve email addresses for. Contact IDs are internal eSputnik identifiers obtained when creating contacts via Bulk Add or Update Contacts action. Example: '1234567890,2345678901,3456789012' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact Import Status

**Slug:** `ESPUTNIK_GET_CONTACT_IMPORT_STATUS`

Retrieve the status of a contact import session in eSputnik. Use this action to check the progress of an asynchronous bulk contact import operation. After calling Bulk Add or Update Contacts, use the returned asyncSessionId with this action to monitor the import status. The status field indicates the current state: - STARTED: Import has been initiated - IMPORTING: Import is in progress - FINISHED: Import completed successfully - ERROR: Import failed When finished, the mapping field contains the dedupeValue-to-contactId mappings for all successfully imported contacts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sessionId` | string | Yes | Asynchronous session identifier returned by bulk import. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact Message History

**Slug:** `ESPUTNIK_GET_CONTACT_MESSAGE_HISTORY`

Retrieve a contact's message history across multiple channels from eSputnik. This action returns message history for a specific contact, supporting multiple media types: Email, SMS, Viber, Mobile Push, Web Push, App Inbox, and Telegram. Use this when you need to: - Review all messages sent to a contact within a date range - Track message delivery status and engagement metrics - Audit communication history for compliance or support purposes - Filter messages by specific channel types At least one contact identifier (contactId, externalCustomerId, email, or phone) must be provided. Results are paginated using offset and maxrows parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Contact's email address. Either contactId, externalCustomerId, email, or phone must be specified. |
| `phone` | string | No | Contact's phone number. Either contactId, externalCustomerId, email, or phone must be specified. |
| `dateTo` | string | Yes | End date or datetime for the history period in ISO 8601 format. Supports date format (YYYY-MM-DD) or datetime format (YYYY-MM-DDTHH:mm). |
| `offset` | integer | No | Offset from the first item for pagination purposes. Default is 0. |
| `maxrows` | integer | No | Maximum number of items in the response. Default is 10, maximum is 100. |
| `dateFrom` | string | Yes | Start date or datetime for the history period in ISO 8601 format. Supports date format (YYYY-MM-DD) or datetime format (YYYY-MM-DDTHH:mm). |
| `contactId` | integer | No | Contact ID number in eSputnik system. Either contactId, externalCustomerId, email, or phone must be specified. |
| `channelTypes` | string | No | Comma-separated list of message channel types to include in the response. Supported types: email, sms, viber, mobilepush, webpush, appinbox, telegram. |
| `externalCustomerId` | string | No | External Customer ID from your system. Either contactId, externalCustomerId, email, or phone must be specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contacts

**Slug:** `ESPUTNIK_GET_CONTACTS`

Search for contacts in eSputnik using various filter criteria. Use this action to find contacts by email, phone number, name, external ID, or retrieve all contacts with pagination. Returns up to 500 contacts per request. The response includes contact details such as contactId, channels, custom fields, and segment membership. Use this when you need to: - Find a contact by email or phone number - Retrieve contacts by your external system ID - List all contacts with pagination (use startindex and maxrows) - Get contact details including their segments and custom fields For searches without filter conditions, use sortBy='contactId' for faster results. Check the total_count field to determine if there are more results beyond the 500 limit.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sms` | string | No | Contact's phone number. Search for contacts by their phone number. |
| `email` | string | No | Contact's email address. Search for contacts by their email. |
| `sortBy` | string | No | Possible value is 'contactId'. Only applicable for searches without filter conditions. By default, the date of contact update is used for sorting. If this parameter is set to 'contactId', sorting is done by contactId, which allows faster upload of contacts. |
| `maxrows` | integer | No | Maximum number of returned contacts (max 500). Default is 500. |
| `lastname` | string | No | Contact last name. Search for contacts by their last name. |
| `firstname` | string | No | Contact first name. Search for contacts by their first name. |
| `startindex` | integer | No | The number of the first contact returned in the search results. Numbering starts at 1. Use for pagination. |
| `externalCustomerId` | string | No | External contact ID from your system used to match contacts. Use this to find contacts by your own unique identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact Subscriptions

**Slug:** `ESPUTNIK_GET_CONTACT_SUBSCRIPTIONS`

Retrieve all subscription categories a contact is enrolled in. This action returns the list of subscription categories (communication types) that a specific contact has opted into within your eSputnik account. Subscription categories typically represent different types of communications like newsletters, promotions, transactional emails, etc. Use this action when you need to: - Check which communication types a contact has subscribed to - Verify a contact's subscription preferences before sending campaigns - Audit contact subscription status for compliance purposes - Build conditional logic based on subscription preferences Returns an empty array if the contact exists but has no active subscriptions. Returns a 404 error if the contact ID does not exist in the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique internal contact ID in eSputnik system. Obtain this ID by creating contacts via Bulk Add or Update Contacts action, then checking the import status to retrieve the contactId from the mapping field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email Interfaces

**Slug:** `ESPUTNIK_GET_EMAIL_INTERFACES`

Tool to retrieve all configured email interfaces (sender names) from eSputnik. Use when you need to list available email sender addresses/names before sending campaigns or messages. Returns a list of all email sender interfaces configured for the organization, including sender names, email addresses, and their active status. This information is useful when setting up email campaigns to ensure valid sender interfaces are used.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email Message

**Slug:** `ESPUTNIK_GET_EMAIL_MESSAGE`

Retrieves an email message by its unique identifier from eSputnik. Use this tool to fetch message content, title, and sender details before sending, editing, or reviewing an email. Returns complete message details including HTML content, CSS styles, subject line, and sender information with html and css separated for easy manipulation. Rate limit: 500 requests per hour.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the email message to retrieve. This ID is assigned by eSputnik when the message is created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email View Link

**Slug:** `ESPUTNIK_GET_EMAIL_VIEW_LINK`

Get a link to view an email message in browser from eSputnik. Use this action to retrieve a public URL that displays the email message content in a web browser. This is useful for sharing email previews, testing message rendering, or providing a web version of the email to recipients. Rate limit: 500 requests per hour (default).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the email message to get the view link for. This is the unique ID assigned by eSputnik when the message was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Message Status

**Slug:** `ESPUTNIK_GET_MESSAGE_STATUS`

Retrieve delivery status for sent messages across all channels (email, SMS, Viber, push). Use this tool to track message delivery after sending messages via eSputnik API. Provide comma-separated message IDs returned from send operations to check their current delivery status, including whether messages were delivered, failed, or are still pending. This is useful for: - Verifying message delivery success or failure - Tracking message lifecycle through the delivery pipeline - Debugging failed message deliveries with error codes - Monitoring campaign message status in real-time Returns detailed status for each requested message ID, including delivery state, timestamps, and error information if applicable.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | string | Yes | Comma-separated list of requestId values to check status for. RequestIds are UUIDs returned when sending messages via eSputnik API. Example: '3ff28330-f8ef-4636-92ac-86345c16995e,ce278fe0-0957-11f1-aa04-bbad2c227839' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Mobile Push Message

**Slug:** `ESPUTNIK_GET_MOBILE_PUSH_MESSAGE`

Retrieves a mobile push message by its unique identifier from eSputnik. Use this tool to fetch message content, metadata, and language versions before sending, editing, or reviewing a mobile push notification. Returns complete message details including title, text, time-to-live settings, and sound preferences. Rate limit: 500 requests per hour.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the mobile push message to retrieve. This ID is assigned by eSputnik when the message is created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Organization Balance

**Slug:** `ESPUTNIK_GET_ORGANIZATION_BALANCE`

Retrieve the current eSputnik organization balance. Use this tool to check the account's available funds, credit limit, and bonus resources (emails and SMS) before planning or sending campaigns. This helps ensure sufficient balance is available for marketing activities. Returns: - Current balance amount and currency (ISO 4217 format like USD, EUR, UAH) - Credit limit available - Number of bonus emails available - Number of bonus SMS messages available No parameters required - uses the authenticated account credentials automatically. This is a read-only, idempotent operation that can be called multiple times safely.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Organization Billing History

**Slug:** `ESPUTNIK_GET_ORGANIZATION_BILLING_HISTORY`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date_to` | string | No | End date for billing history period in YYYY-MM-DD format (e.g., '2024-12-31'). If omitted, returns history up to the current date. Must be greater than or equal to date_from if both are provided. |
| `date_from` | string | No | Start date for billing history period in YYYY-MM-DD format (e.g., '2024-01-01'). If omitted, returns history from the earliest available date. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Preprocessor File Status

**Slug:** `ESPUTNIK_GET_PREPROCESSOR_FILE_STATUS`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The asynchronous preprocessor session identifier returned by the upload endpoint (asyncSessionId). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Product Feeds Configuration

**Slug:** `ESPUTNIK_GET_PRODUCT_FEEDS`

Tool to retrieve product feeds configuration from eSputnik. Use when you need to check current product feed settings including feed type, update frequency, and other configuration parameters. This is a read-only operation that returns the complete product feeds configuration.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Promocodes Count

**Slug:** `ESPUTNIK_GET_PROMOCODES_COUNT`

Get the number of available promotional codes in eSputnik. Use this action to check how many promo codes are available, optionally filtering by type, active due days, or discount amount.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Filter by promo code type to count only codes of a specific type |
| `discount` | integer | No | Filter by promo code discount amount to count only codes with a specific discount value |
| `activeDueDays` | integer | No | Filter by number of days left for the promo codes to remain active. For example, activeDueDays=7 means count only promo codes that remain active during the next 7 days, starting from tomorrow. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Site Domain

**Slug:** `ESPUTNIK_GET_SITE_DOMAIN`

Retrieve the organization's domain configuration from eSputnik. Use this tool to check the configured domain for your organization, which is used for web tracking, widgets, and web push notifications. The response will be empty if no domain has been configured for your account. Returns domain details including the domain name, internal identifier, and status. No parameters required - uses the authenticated account credentials automatically. This is a read-only, idempotent operation that can be called multiple times safely.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Site Tracking Script

**Slug:** `ESPUTNIK_GET_SITE_SCRIPT`

Retrieve the site tracking script for your eSputnik account. Use this tool to obtain the tracking script code that can be embedded on websites to enable eSputnik tracking and functionality. The domain must be configured in your organization before requesting the script. This is particularly useful for plugins that automatically install scripts and need programmatic access to the tracking code. Returns the complete tracking script as plain text ready for website integration. No parameters required - uses the authenticated account credentials automatically. This is a read-only, idempotent operation that can be called multiple times safely.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SMS Interfaces

**Slug:** `ESPUTNIK_GET_SMS_INTERFACES`

Retrieve all SMS interfaces (alpha names) configured for the organization. Use this tool to get the list of available SMS sender identifiers (alpha names) that can be used when sending SMS messages through eSputnik. Alpha names are pre-configured sender IDs that recipients see as the message sender. This is useful when: - You need to select a specific sender ID for SMS campaigns - You want to list all available SMS sending options - You need to verify which alpha names are configured and active No parameters required - returns all SMS interfaces for the authenticated account.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Subscription Categories

**Slug:** `ESPUTNIK_GET_SUBSCRIPTION_CATEGORIES`

Retrieve all subscription categories for the organization. This action returns the complete list of subscription categories (communication types) configured in your eSputnik account. Subscription categories typically represent different types of communications like newsletters, promotions, transactional emails, etc. Use this action when you need to: - List all available subscription types in your eSputnik account - Get category IDs and keys for use in other API calls - Understand the structure of subscription options available to contacts - Build subscription management interfaces Returns an empty array if no subscription categories are configured. This is a read-only, idempotent operation that can be called multiple times safely.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Telegram Message

**Slug:** `ESPUTNIK_GET_TELEGRAM_MESSAGE`

Retrieve a Telegram bot message by its unique identifier from eSputnik. Use this tool to fetch Telegram bot message content, configuration, and metadata before sending, editing, or reviewing a notification. Returns complete message details including text, formatting, keyboard markup, and notification settings. Rate limit: 500 requests per hour.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the Telegram bot message to retrieve. This ID is assigned by eSputnik when the message is created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Promotional Codes

**Slug:** `ESPUTNIK_LIST_PROMOCODES`

Retrieve a list of promotional codes from eSputnik. Use this tool to view all available promo codes, filter by type, usage status, expiration, or discount value. Useful for campaign planning and promo code management.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Filter by promo code type (e.g., 'Free Gift with Purchase', 'Discount', etc.). Case-sensitive string matching the exact type name configured in your eSputnik account. |
| `inUse` | boolean | No | Filter by usage status. When true, returns only promo codes that have been used; when false, returns only unused promo codes. Omit to get all codes regardless of usage status. |
| `discount` | integer | No | Filter by discount amount associated with the promo code (percentage or absolute value depending on your configuration). Returns promo codes with this exact discount value. |
| `activeDueDays` | integer | No | Filter by days remaining until expiration. For example, activeDueDays=7 returns promo codes that remain active for the next 7 days (starting from tomorrow). Use this to identify codes expiring soon. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Web Push Domains

**Slug:** `ESPUTNIK_LIST_WEBPUSH_DOMAINS`

Retrieve the list of domains registered for web push notifications. Use this tool to get all domains configured in your eSputnik account for web push notification functionality. This is useful for verifying domain registration status and managing web push notification configurations. Returns a list of domain names that have been registered. No parameters required - uses the authenticated account credentials automatically. This is a read-only, idempotent operation that can be called multiple times safely.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove From Unsubscribed

**Slug:** `ESPUTNIK_REMOVE_FROM_UNSUBSCRIBED`

Tool to remove email addresses from the unsubscribed contacts list in eSputnik. Use when you need to re-enable email addresses that were previously unsubscribed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | Yes | List of email addresses to remove from the unsubscribed contacts list. Each email will be re-enabled for receiving campaigns. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search App Inbox Messages

**Slug:** `ESPUTNIK_SEARCH_APP_INBOX_MESSAGES`

Search for mobile App Inbox messages using a part of the name or a tag. Returns a maximum of 500 messages per request with pagination support. Use this tool to find App Inbox messages by name or tag, list all available messages, or navigate through large message lists using pagination. The TotalCount header indicates the number of messages returned by the search query.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Search condition - a part of the message name or a tag to filter messages by. If not provided, returns all messages. |
| `maxrows` | integer | No | Maximum number of messages to return per request (1-500). The API returns 500 messages maximum. |
| `startindex` | integer | No | 1-based index of the first message to return from the search result. Use for pagination (e.g., startindex=11 to get page 2 with maxrows=10). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Contacts

**Slug:** `ESPUTNIK_SEARCH_CONTACTS`

Search for all contacts in a segment (group). Use this action to: - Retrieve contacts from a specific segment by segment ID - Paginate through large contact lists using startindex and maxrows - Sort contacts by addition time to the segment or by default order - Export contact lists from segments for analysis or sync purposes The API returns a list of contact objects with their channels, names, addresses, and custom fields. Results can be paginated using startindex and maxrows parameters. Maximum 500 contacts per request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Segment ID to search contacts in. Use this to retrieve contacts from a specific segment/group in your eSputnik account. |
| `asc` | boolean | No | Sort in ascending (ASC) or descending (DESC) order. When true, results are sorted in ascending order. |
| `maxrows` | integer | No | Maximum number of contacts to return (1-500). Defaults to 500. |
| `orderByTs` | boolean | No | Order by the time of addition to the segment. When true, contacts are sorted by when they were added to the segment. |
| `startindex` | integer | No | The index of the first contact returned from the search result. Numbering starts at 1. Use for pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Email Messages

**Slug:** `ESPUTNIK_SEARCH_EMAIL_MESSAGES`

Search for email messages using a part of their name or a tag. Use this tool to: - Find email messages by name or tag - List all available email message templates - Navigate through messages using pagination (startindex + maxrows) The method returns a maximum of 500 messages per request. The TotalCount header contains the total number of messages returned to the query. By default, a rate limit of 500 requests per hour applies.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Search condition - a part of the message name or a tag to filter messages. Leave empty to return all messages. |
| `maxrows` | integer | No | Maximum number of messages to return per request (1-500). Defaults to 500. |
| `startindex` | integer | No | The index of the first message to return from the search result. Numbering starts at 1. Use for pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Mobile Push Messages

**Slug:** `ESPUTNIK_SEARCH_MOBILEPUSH_MESSAGES`

Search for mobile push messages using part of the name or a tag. Use this tool to: - Find mobile push messages by searching for keywords in message names - Filter messages by tags assigned to them - Retrieve all mobile push messages when no search criteria provided - Navigate through large result sets using pagination (startindex + maxrows) Returns up to 500 messages per request. The TotalCount header indicates the total number of messages matching your query. Rate limit: 500 requests per hour.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Search condition to filter messages by part of the message name or a tag (e.g., 'cart', 'promo', 'welcome'). Leave empty to retrieve all messages. |
| `maxrows` | integer | No | Maximum number of messages to return per request (1-500). Defaults to 500. |
| `startindex` | integer | No | Index of the first message to return from the search results. Numbering starts at 1. Use for pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Segments

**Slug:** `ESPUTNIK_SEARCH_SEGMENTS`

Search for and retrieve available segments (groups) in eSputnik. Use this action to: - List all segments/groups in your eSputnik account - Search for segments by name (supports partial matching) - Paginate through large segment lists using startindex and maxrows - Get segment IDs for use in other API calls (e.g., adding contacts to segments) Segments are groups of contacts that can be static (manually managed), dynamic (rule-based), or combined (mix of both). The API returns segment details including ID, name, and type. Maximum 500 segments per request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Search condition to filter segments by name. Partial matches are supported. Leave empty to retrieve all segments. |
| `maxrows` | integer | No | Maximum number of segments to return (1-500). Defaults to 500. |
| `startindex` | integer | No | The index of the first segment returned from the search result. Numbering starts at 1. Use for pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search SMS Messages

**Slug:** `ESPUTNIK_SEARCH_SMS_MESSAGES`

Search for SMS messages using part of their names or tags in eSputnik. Use this tool to find SMS message templates by searching through message names or associated tags. Returns up to 500 messages per request with pagination support. The API returns the total count of matching messages in the TotalCount response header. Rate limit: 500 requests per hour by default.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Search condition: a part of the message name or a tag to filter results by |
| `maxrows` | integer | No | Maximum number of messages to return per request (1-500). API returns no more than 500 messages per request. |
| `startindex` | integer | No | 1-based index of the first message to return. Use for pagination (e.g., startindex=11 to get page 2 with maxrows=10). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Telegram Messages

**Slug:** `ESPUTNIK_SEARCH_TELEGRAM_MESSAGES`

Search for Telegram bot messages using a part of name or a tag. Use this tool to: - Find Telegram bot messages by name or tag - List all Telegram bot messages in the account - Navigate through messages using pagination (startindex + maxrows) Returns message details including IDs, names, tags, and status information. Results are paginated - use startindex and maxrows to navigate through large lists. A maximum of 500 messages can be returned per request. The TotalCount header contains the total number of messages matching the query. Rate limit: 500 requests per hour by default.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Search condition - part of the message name or a tag to filter results. Leave empty to retrieve all messages. |
| `maxrows` | integer | No | Maximum number of messages to return (not more than 500). Defaults to 500. |
| `startindex` | integer | No | Index of the first returned message from the search results. Numbering starts at 1. Use for pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Viber Messages

**Slug:** `ESPUTNIK_SEARCH_VIBER_MESSAGES`

Search for Viber messages using part of the name or a tag. Use this tool to: - Find Viber messages by searching for keywords in message names - Filter messages by tags assigned to them - Retrieve all Viber messages when no search criteria provided - Navigate through large result sets using pagination (startindex + maxrows) Returns up to 500 messages per request. The TotalCount header indicates the total number of messages matching your query. Rate limit: 500 requests per hour.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Search condition to filter messages by part of the message name or a tag (e.g., 'welcome', 'promo', 'cart'). Leave empty to retrieve all messages. |
| `maxrows` | integer | No | Maximum number of messages to return per request (1-500). Defaults to 500. |
| `startindex` | integer | No | Index of the first message to return from the search results. Numbering starts at 1. Use for pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Workflows

**Slug:** `ESPUTNIK_SEARCH_WORKFLOWS`

Search for and retrieve available workflows from eSputnik. Use this tool to list all workflows in your eSputnik account, with optional filtering by workflow name. Returns workflow details including IDs, names, statuses, and timestamps. Results are paginated - use startindex and maxrows to navigate through large lists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter workflows by name. Supports partial matching. |
| `maxrows` | integer | No | Maximum number of workflows to be returned (max. 500). Defaults to 500. |
| `startindex` | integer | No | The index of the first workflow returned from the search result. Numbering starts at 1. Use for pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Email

**Slug:** `ESPUTNIK_SEND_EMAIL`

Send an email message to one or more contacts via eSputnik API. Use this action to send transactional or marketing emails. If no contact exists with the recipient email address, a new contact will be automatically created. Supports HTML content, plain text fallback, AMP emails, and URL tracking. Prerequisites: - Valid eSputnik API credentials - Verified sender email address in your eSputnik account - At least one recipient email address Example: "Send welcome email to new@user.com with subject 'Welcome' and HTML content"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `from` | string | Yes | Sender email address. Must be one of your valid sender addresses. Format: "\"name\" <email@example.com>" or "email@example.com". |
| `tags` | array | No | The list of tags assigned to the message for categorization and filtering. |
| `emails` | array | Yes | Array of recipient email addresses. A new contact is created if no contact with such email address exists. |
| `subject` | string | Yes | Email subject line. |
| `htmlText` | string | Yes | HTML content of the email message. This is the message body in HTML format. |
| `plainText` | string | No | Plain text version of the message. Fallback for email clients that don't support HTML. |
| `trackUrls` | boolean | No | Whether to track links in the message. The default value is true. |
| `ampHtmlText` | string | No | AMP HTML code for interactive email content (Google AMP for Email). |
| `externalRequestId` | string | No | External request ID that is the same for all recipients. Used for tracking and deduplication. |
| `subscriptionsKeys` | array | No | Array of subscription category keys added to the message. |
| `skipPersonalisation` | boolean | No | Skip the application of personalization to the message. Set to true to send message as-is without variable substitution. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Prepared Message

**Slug:** `ESPUTNIK_SEND_PREPARED_MESSAGE`

Tool to send a prepared message to one or many contacts. Use when you need to send broadcasts for Email, SMS, Mobile Push, Web Push, Viber, or Telegram bot channels using pre-created message templates. The method allows sending to up to 1,000 recipients in a single request. You can parametrize the message for each contact individually using jsonParam field for personalization. Recipients can be identified by contactId (eSputnik internal ID) or locator (email/phone).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the prepared message to send. This is the message template ID created in eSputnik system. |
| `email` | boolean | No | Message type. Set to true for email messages, false for other media channels (SMS, Mobile Push, Web Push, Viber, Telegram). |
| `fromName` | string | No | Sender name. For email, indicate the sender name only without an email address. For SMS, use the alphanumeric sender ID. If not indicated, the sender name selected in the message is used. |
| `recipients` | array | Yes | List of recipients to send the message to. Maximum 1000 recipients per request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Subscribe Contact

**Slug:** `ESPUTNIK_SUBSCRIBE_CONTACT`

Tool to subscribe a contact for double opt-in implementation. Use when integrating subscription forms on your website or app. This method is designed for double opt-in implementation: - If a contact does not exist, it is created with a non-confirmed email status - If a contact exists, the contact fields are updated (except existing media channels) - New contacts are created with a not confirmed status and cannot receive bulk emails until they confirm their subscription - However, unconfirmed contacts are available for receiving important trigger messages - An event is automatically generated after this method is called, which can be used to send confirmation emails via campaigns - When clicking the confirmation link, a contact becomes confirmed and available for bulk emails Note: This differs from bulk contact import - contacts created here are unconfirmed by default.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `groups` | array | No | The list of segment names where a new/updated contact will be added. |
| `contact` | object | Yes | Contact details for subscription |
| `formType` | string | No | The subscription form name. It allows you to use several independent subscription forms. All characters are acceptable, except: < ; ' \ / \| " ` ' ^ ? ! , > |
| `subscriptions` | array | No | Subscription categories added for a contact. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update App Inbox Message

**Slug:** `ESPUTNIK_UPDATE_APP_INBOX_MESSAGE`

Tool to update the base App Inbox message in eSputnik. Use when you need to modify message content, title, link, or settings. This method updates an existing App Inbox message by its ID. All required fields (name, title, text) must be provided even if unchanged. Optional fields like link, image, and TTL can be updated as needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | App inbox message ID to update |
| `link` | string | No | The link that will open after the click on the message body |
| `name` | string | Yes | Message name |
| `tags` | array | No | List of tags |
| `text` | string | Yes | Message text |
| `title` | string | Yes | Message title |
| `ttlSec` | integer | No | Time-to-live for the message, in seconds |
| `customData` | string | No | Additional parameters in JSON format to be used in the message |
| `imageSource` | string | No | The logo image in JPEG, PNG or GIF format |
| `languageCode` | string | No | Language code |
| `subscriptionsKeys` | array | No | Subscription categories keys, assigned to a message |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update App Inbox Translation

**Slug:** `ESPUTNIK_UPDATE_APPINBOX_TRANSLATION`

Tool to update or add a language version for an App Inbox message in eSputnik. Use when you need to add multilingual support or update existing translations for App Inbox notifications. This action allows updating the title, text, link, image, and other properties for a specific language version of an App Inbox message. If the language version doesn't exist, it will be created; if it exists, it will be updated with the new content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique numeric identifier of the App Inbox message. This ID is assigned by eSputnik when the message is created. |
| `link` | string | No | The URL that will open when the user clicks on the message body. Must be a valid URL. |
| `name` | string | Yes | Internal name of the message for identification within eSputnik. Used for organizing and searching messages. |
| `tags` | array | No | List of tags for organizing and categorizing messages. |
| `text` | string | Yes | Message body text displayed to users. This is the main content of the notification. |
| `title` | string | Yes | Message title displayed to users in the App Inbox. This is the headline of the notification. |
| `ttlSec` | integer | No | Time-to-live for the message in seconds. Defines how long the message remains visible in the App Inbox. |
| `language` | string | Yes | The language code for the translation (e.g., 'en' for English, 'uk' for Ukrainian, 'es' for Spanish). Must be a valid ISO 639-1 two-letter language code. |
| `customData` | string | No | Additional parameters in JSON format to be used in the message. Must be a valid JSON string. |
| `imageSource` | string | No | The logo image URL in JPEG, PNG or GIF format. Must be a publicly accessible image URL. |
| `subscriptionsKeys` | array | No | Subscription category keys assigned to this message. Used for subscription management. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contact

**Slug:** `ESPUTNIK_UPDATE_CONTACT`

Tool to update contact information by contact ID. Use when you need to modify an existing contact's details. This action updates an existing contact identified by their eSputnik contact ID. You can update any combination of contact fields including name, channels, address, and custom fields. Only the fields you provide will be updated; other fields remain unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Contact ID to update. Must be a valid existing contact ID in eSputnik system. |
| `fields` | array | No | Additional custom fields to set for the contact |
| `address` | object | No | Postal address for a contact. |
| `channels` | array | No | List of contact channels (email, sms, mobilepush, webpush, telegram, viber). You can add maximum two channels of the same type. |
| `lastName` | string | No | Contact's last name. Max 40 characters. Letters from any alphabet allowed. |
| `timeZone` | string | No | Contact's time zone (TZ database name, e.g., 'Europe/London') |
| `firstName` | string | No | Contact's first name. Max 40 characters. Letters from any alphabet allowed. |
| `contactKey` | string | No | Contact's key identifier |
| `languageCode` | string | No | Language code for the contact (e.g., 'en', 'fr') |
| `addressBookId` | integer | No | Address book ID to associate the contact with |
| `externalCustomerId` | string | No | External customer ID for deduplication and matching with your system |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contact Subscriptions

**Slug:** `ESPUTNIK_UPDATE_CONTACT_SUBSCRIPTIONS`

Tool to update the subscription categories a contact is enrolled in. Use when you need to modify which communication types a contact receives. This action replaces the contact's current subscription list with the provided categories. Pass an empty array to unsubscribe from all categories. Returns success if the contact exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique internal contact ID in eSputnik system. Obtain this ID by creating contacts via Bulk Add or Update Contacts action, then checking the import status to retrieve the contactId from the mapping field. |
| `subscriptions` | array | Yes | List of subscription category keys to assign to this contact. Pass an empty array to unsubscribe the contact from all categories. Category keys can be obtained from the Get Subscription Categories action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Email Message

**Slug:** `ESPUTNIK_UPDATE_EMAIL_MESSAGE`

Tool to update an existing email message in eSputnik. Use when you need to modify the content, subject, sender, or other properties of an existing email template. This action updates the basic email message properties including HTML content, subject line, sender information, and optional fields like AMP HTML, CSS styles, and subscription categories. The 'languageCode' parameter allows updating specific language versions for multilingual campaigns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Email message ID to update. This is the unique identifier assigned by eSputnik when the message was created. |
| `css` | string | No | CSS styles for the email message. Can be used to separate styling from HTML content. |
| `from` | string | Yes | Required. Sender name and email address in the format: '"Sender Name" <email@example.com>'. Example: '"John Smith" <john.smith@example.com>' |
| `name` | string | Yes | Required. Internal name of the message for identification within eSputnik. |
| `tags` | array | No | List of tags for organizing and categorizing messages. |
| `ampHtml` | string | No | AMP HTML code for AMP-enabled email clients. Provides interactive email features. |
| `rawHtml` | string | No | Message HTML code without styles. Used when CSS is provided separately. |
| `subject` | string | Yes | Required. Email subject line that will be displayed to recipients. |
| `htmlText` | string | Yes | Required. HTML content of the email message. Can include full HTML structure with body tags or just the content to be displayed in the email. |
| `languageCode` | string | No | Language code for multilingual messages (e.g., 'en', 'es', 'fr'). Used to update a specific language version of a message. |
| `subscriptionsKeys` | array | No | List of subscription category keys to assign to this message. Used for subscription management. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Email Translation

**Slug:** `ESPUTNIK_UPDATE_EMAIL_TRANSLATION`

Tool to update or add a language version for a base email message in eSputnik. Use when you need to add multilingual support to an existing email template or update an existing translation. This action updates the translation for a specific language of an existing email message. If the translation for the specified language doesn't exist, it will be created. The base message must already exist in eSputnik.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Email message ID. This is the unique identifier of the base email message to which the translation will be added or updated. |
| `css` | string | No | CSS styles for the email message. Can be used to separate styling from HTML content. |
| `from` | string | Yes | Required. Sender name and email address in the format: '"Sender Name" <email@example.com>'. Example: '"John Smith" <john.smith@example.com>' |
| `name` | string | Yes | Required. Internal name of the message for identification within eSputnik. |
| `tags` | array | No | List of tags for organizing and categorizing messages. |
| `ampHtml` | string | No | AMP HTML code for AMP-enabled email clients. Provides interactive email features. |
| `rawHtml` | string | No | Message HTML code without styles. Used when CSS is provided separately. |
| `subject` | string | Yes | Required. Email subject line that will be displayed to recipients. |
| `htmlText` | string | Yes | Required. HTML content of the email message. Can include full HTML structure with body tags or just the content to be displayed in the email. |
| `language` | string | Yes | Email message language code in compliance with ISO 639-1 standard. Common examples: 'en' (English), 'es' (Spanish), 'fr' (French), 'de' (German), 'ru' (Russian), 'uk' (Ukrainian). |
| `subscriptionsKeys` | array | No | List of subscription category keys to assign to this message translation. Used for subscription management. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Interaction Status

**Slug:** `ESPUTNIK_UPDATE_INTERACTION_STATUS`

Tool to update the status of a message interaction using interaction_id. Use when you need to report message delivery, open, click, or undelivery events. The interaction_id is sent along with message data (e.g., in Mobile Push as 'es_interaction_id'). This action allows you to report back to eSputnik when a message is delivered, opened, clicked, or fails to deliver, enabling accurate tracking and analytics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `time` | string | Yes | The status change date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ or with timezone offset). Example: '2026-02-14T10:35:00Z' or '2023-09-15T14:30:00+02:00' |
| `token` | string | No | Device token for the interaction. Optional identifier for the device receiving the message. |
| `status` | string ("DELIVERED" | "OPENED" | "CLICKED" | "UNDELIVERED") | Yes | Message status to update. One of: DELIVERED (message successfully delivered), OPENED (message opened by recipient), CLICKED (link in message clicked), UNDELIVERED (message failed to deliver) |
| `interaction_id` | string | Yes | Interaction ID sent along with data in a message. This ID is unique for each message interaction. Example for Mobile Push: '2E2E831C-486C-41F9-8E8D-BCD6B7A51A7A' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Mobile Push Message

**Slug:** `ESPUTNIK_UPDATE_MOBILEPUSH_MESSAGE`

Tool to update an existing mobile push notification message in eSputnik. Use when you need to modify a previously created push notification campaign. Updates message content including title, body text, images, action buttons, and custom data. Supports multilingual messages through the translations field. Requires the message ID and all required fields (name, title, text) must be provided even if not changing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Mobile push message ID to update. This is the unique identifier assigned by eSputnik when the message was created. |
| `link` | string | No | URL to open when the notification is clicked. Can be external link (opens in browser) or deep link (opens app section). |
| `name` | string | Yes | Internal name for the mobile push message. Used to identify the message in eSputnik dashboard. |
| `tags` | array | No | List of tags to categorize and organize the message. |
| `text` | string | Yes | Main body text of the push notification. |
| `title` | string | Yes | Notification title displayed to the user. |
| `images` | array | No | Array of image URLs to create an image carousel. Maximum 10 images. |
| `ttlSec` | integer | No | Time-to-live for the message in seconds. Message expires after this time if not delivered. |
| `buttons` | array | No | Action buttons for the notification. iOS supports up to 4 buttons, Android up to 3. |
| `subtitle` | string | No | Message subtitle. Only visible to iOS users. |
| `badgeCount` | integer | No | Number of unread messages to display as a badge on the app icon. |
| `customData` | string | No | Additional parameters in JSON format to include with the push message for custom processing. |
| `imageSource` | string | No | URL of a single image to include in the message. For multiple images, use the 'images' field instead. |
| `soundEnabled` | boolean | No | Enable sound notification when the user receives the push message. |
| `translations` | array | No | Array of language-specific versions for multilingual push messages. |
| `subscriptionsKeys` | array | No | Subscription category keys assigned to this message for targeting specific subscriber groups. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Mobile Push Translation

**Slug:** `ESPUTNIK_UPDATE_MOBILEPUSH_TRANSLATION`

Tool to update or add a language version for a mobile push message in eSputnik. Use when you need to create or modify translations for multilingual push notification campaigns. This action allows you to manage language-specific versions of a base mobile push message, enabling targeted communication with users in their preferred language. The translation can include localized title, text, images, buttons, and other notification settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the mobile push message to update. This ID is assigned by eSputnik when the message is created. |
| `link` | string | No | URL to open when the notification is clicked. Can be external link (opens in browser) or deep link (opens app section). |
| `name` | string | Yes | Internal name for this language version of the mobile push message. Used to identify the message in eSputnik dashboard. |
| `tags` | array | No | List of tags to categorize and organize the message in this language. |
| `text` | string | Yes | Main body text of the push notification in the specified language. |
| `title` | string | Yes | Notification title displayed to the user in the specified language. |
| `images` | array | No | Array of image URLs to create an image carousel for this language version. Maximum 10 images. |
| `ttlSec` | integer | No | Time-to-live for the message in seconds. Message expires after this time if not delivered. |
| `buttons` | array | No | Action buttons for the notification in this language. iOS supports up to 4 buttons, Android up to 3. |
| `language` | string | Yes | Language code for the translation to update or create. Use standard language codes such as 'en' (English), 'uk' (Ukrainian), 'es' (Spanish), 'fr' (French), etc. |
| `subtitle` | string | No | Message subtitle for this language version. Only visible to iOS users. |
| `badgeCount` | integer | No | Number of unread messages to display as a badge on the app icon for this language version. |
| `customData` | string | No | Additional parameters in JSON format to include with the push message for custom processing in this language. |
| `imageSource` | string | No | URL of a single image to include in the message for this language. For multiple images, use the 'images' field instead. |
| `soundEnabled` | boolean | No | Enable sound notification when the user receives the push message in this language. |
| `subscriptionsKeys` | array | No | Subscription category keys assigned to this message for targeting specific subscriber groups. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Preprocessor File By ID

**Slug:** `ESPUTNIK_UPDATE_PREPROCESSOR_FILE_BY_ID`

Tool to update a preprocessor file's data by providing a new external link. Use when you need to refresh or change the data source for an already uploaded preprocessor file. The file ID must be obtained from a previous Upload file for preprocessor operation. This method updates the file metadata including the external data link and time-to-live.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The file ID returned by the Upload file for preprocessor method (fileId value). This identifies the preprocessor file to update. |
| `link` | string | Yes | The link to the preprocessor data file in an external repository. Must be a valid URL pointing to the file data. |
| `ttlHours` | integer | No | File time to live in the system in hours. The default value is one month (720 hours) if not specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update SMS Message

**Slug:** `ESPUTNIK_UPDATE_SMS_MESSAGE`

Tool to update an existing base SMS message template in eSputnik. Use when you need to modify the sender name, message text, or other properties of an existing SMS template. The SMS message must already exist with the provided ID. All three required fields (from, name, text) must be provided even if only updating some properties. The action supports multilingual messages through the languageCode parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | SMS message ID. The unique identifier of the SMS message template to update. |
| `from` | string | Yes | Sender name (alpha name) that will be displayed to SMS recipients. |
| `name` | string | Yes | Internal name of the SMS message for identification within eSputnik. |
| `tags` | array | No | List of tags for organizing and categorizing the SMS message. |
| `text` | string | Yes | Text content of the SMS message to be sent to recipients. |
| `trackUrls` | boolean | No | Whether to track links in the SMS message. Default is false. |
| `languageCode` | string | No | Language code for the message (e.g., 'en', 'ru', 'es'). Used for multilingual messages. |
| `subscriptionsKeys` | array | No | Subscription category keys to assign to this message. Used for subscription management. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update SMS Translation

**Slug:** `ESPUTNIK_UPDATE_SMS_TRANSLATION`

Tool to update a language version of an SMS message in eSputnik. Use when you need to modify the content, sender name, or other properties of a specific language translation of an SMS message. This action updates an existing translation while keeping other language versions intact. The SMS message must already exist, and you're updating the specified language version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Internal numeric identifier of the SMS message to update. This is the unique ID assigned by eSputnik when the message was created. |
| `from` | string | Yes | Sender name (alpha name) displayed to recipients. This is the identifier shown as the SMS sender. |
| `name` | string | Yes | Internal name of the SMS message for identification within eSputnik. This is used for organizing and finding messages in the platform. |
| `tags` | array | No | List of tags for organizing and categorizing messages. |
| `text` | string | Yes | Text content of the SMS message to be sent. This is the actual message that will be delivered to recipients. |
| `language` | string | Yes | Language code of the SMS message translation to update (e.g., 'en', 'uk', 'es'). Must be a valid ISO 639-1 two-letter language code. |
| `trackUrls` | boolean | No | Determines whether to track links in the message. Default is false. |
| `subscriptionsKeys` | array | No | List of subscription category keys assigned to this message. Used for subscription management. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Telegram Message

**Slug:** `ESPUTNIK_UPDATE_TELEGRAM_MESSAGE`

Update a base Telegram bot message in eSputnik. Use when you need to modify an existing message template's content, buttons, or metadata. The message template is updated in eSputnik and can later be sent to contacts using the Send Message API. Only the fields provided in the request will be updated. Prerequisites: - Valid eSputnik API credentials with write permissions - Telegram bot configured in your eSputnik account - Valid message ID for an existing Telegram message Example usage: "Update Telegram message 4404257 with new text 'Updated content'"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Telegram bot message ID to update. This is the unique identifier assigned by eSputnik when the message was created. |
| `name` | string | Yes | Internal name for the message template. Used to identify the message in the eSputnik interface. |
| `tags` | array | No | List of tags to categorize and organize the message. Useful for filtering and searching. |
| `text` | string | No | Message text content that will be sent to users. |
| `buttons` | array | No | List of buttons to add to the message. Use buttons to implement various actions like callbacks or external links. |
| `imageSource` | string | No | Image URL for a single image to include in the message. |
| `languageCode` | string | No | Language code for the message (e.g., 'en', 'ru', 'uk'). Used for multilingual campaigns. |
| `subscriptionsKeys` | array | No | Subscription category keys assigned to this message. Used for managing unsubscribe preferences. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Telegram Translation

**Slug:** `ESPUTNIK_UPDATE_TELEGRAM_TRANSLATION`

Update a translated telegram bot message in eSputnik. Use when you need to modify an existing translation of a Telegram bot message. This action allows you to update the content, buttons, image, and metadata of a specific language version of a Telegram bot message. The message must already exist in eSputnik, and you must specify both the message ID and the language code to update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Telegram bot message ID to update. This is the unique numeric identifier assigned by eSputnik when the message was created. |
| `name` | string | Yes | Message name for this translation. Used to identify the message in the eSputnik interface. |
| `tags` | array | No | List of tags to categorize and organize the message. Useful for filtering and searching. |
| `text` | string | Yes | Message text content in the specified language that will be sent to users. |
| `buttons` | array | No | List of buttons to add to the message. Use buttons to implement various actions like callbacks or external links. |
| `language` | string | Yes | Language code of the translation to update (e.g., 'en' for English, 'ru' for Russian, 'uk' for Ukrainian). This should be a valid ISO 639-1 two-letter language code. |
| `imageSource` | string | No | Image URL for a single image to include in the message. |
| `languageCode` | string | Yes | Language code for the message content. Should match the 'language' path parameter. Used for internal validation and consistency. |
| `subscriptionsKeys` | array | No | Subscription category keys assigned to this message. Used for managing unsubscribe preferences. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Preprocessor File

**Slug:** `ESPUTNIK_UPLOAD_PREPROCESSOR_FILE`

Tool to upload a file for the preprocessor from an external repository. Use when you need to import preprocessor data from an external URL. The file is uploaded asynchronously - this endpoint returns immediately with a session ID that can be used to poll for completion status using the GetPreprocessorFileStatus action. The file will remain in the system for the specified TTL period (default: 1 month).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link` | string | Yes | The link to the PreProcessor data file in an external repository. Must be a valid HTTP/HTTPS URL. |
| `ttlHours` | integer | No | File time to live in the system in hours. The default value is 1 month (720 hours). Must be a positive integer. |
| `preprocessorType` | string ("Random" | "Key") | Yes | PreProcessor data type. Must be either 'Random' or 'Key'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Promotional Codes

**Slug:** `ESPUTNIK_UPLOAD_PROMOCODES`

Tool to upload promotional codes to eSputnik in bulk. Use this action to create new promo codes or update existing ones. Existing promotional codes with the same string value will be updated with the new discount, expiration date, type, and usage status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Promo code type/category for organizational purposes (e.g., 'Free Gift with Purchase', 'Discount', 'Seasonal'). If not specified, codes will be created without a type. |
| `inUse` | boolean | No | Indicates whether the promo codes are already in use. Defaults to false (codes are available for use). |
| `discount` | integer | Yes | Discount value associated with these promo codes (integer percentage or absolute value depending on your configuration). |
| `promocodes` | array | Yes | List of promotional code strings to upload. Each code will be created or updated if it already exists. |
| `expirationDate` | string | Yes | Expiration date and time for the promo codes in ISO 8601 format (e.g., '2026-12-31T23:59:59' or '2026-12-31T23:59:59Z'). After this date/time, the codes will no longer be valid. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
