# Unisender

UniSender is a simple and easy-to-use service for email and SMS marketing campaigns

- **Category:** marketing
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 33
- **Triggers:** 0
- **Slug:** `UNISENDER`
- **Version:** 00000000_00

## Tools

### Check Email Status

**Slug:** `UNISENDER_CHECK_EMAIL`

Tool to check the delivery status of emails sent via sendEmail method. Use when you need to verify email delivery status by email IDs. Statuses are stored for approximately one month. Rate limited to 300 requests per 60 seconds.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email_id` | array | Yes | One or more email IDs to check delivery status for. These are the email_id values returned by the sendEmail method. Provide as a list of integers. |

#### 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 Template

**Slug:** `UNISENDER_CREATE_EMAIL_TEMPLATE`

Tool to create a new email template for mass campaigns in UniSender. Use when you need to create a reusable email template with customizable title, subject, body content, and sender information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | No | Tags for organizing and categorizing templates. Optional parameter. |
| `body` | string | No | HTML body content of the email template. Supports HTML markup and template variables like {{to_name}}. |
| `lang` | string | No | Language code for the template (e.g., 'en', 'ru', 'de'). Affects system messages. |
| `title` | string | Yes | The title/name of the email template. Required parameter. |
| `subject` | string | No | Email subject line for the template. Optional parameter. |
| `text_body` | string | No | Plain text version of the email body. Optional parameter. |
| `sender_name` | string | No | Name of the sender that will appear in the email. Optional parameter. |
| `sender_email` | string | No | Email address of the sender. Optional parameter. |
| `generate_text` | integer | No | Auto-generate plain text version from HTML body. Set to 1 to enable, 0 to disable. |

#### 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 Field

**Slug:** `UNISENDER_CREATE_FIELD`

Tool to create a new custom field for contact data in UniSender. Use when you need to add a custom field that can store additional contact information and be used in email message substitutions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The internal name of the field. This is the identifier used in API calls and must be unique. |
| `field_type` | string ("string" | "text" | "number" | "date" | "bool") | Yes | The data type of the field. Possible values: 'string' (short text), 'text' (long text), 'number' (numeric), 'date' (date), 'bool' (boolean). |

#### 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 List

**Slug:** `UNISENDER_CREATE_LIST`

Tool to create a new contact list for organizing thematic email campaigns in UniSender. Use when you need to create a new mailing list with a unique title. The list title must be unique within the account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | The name/title of the contact list. Must be unique within the account. |
| `after_subscribe_url` | string | No | URL to redirect subscribers after successful subscription. Shows a message that the subscription has been completed successfully. |
| `before_subscribe_url` | string | No | URL to redirect subscribers before subscription confirmation. Shows a message that the contact should follow the confirmation link to activate the subscription. |

#### 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 Subscriber Note

**Slug:** `UNISENDER_CREATE_SUBSCRIBER_NOTE`

Tool to create a note for a subscriber contact in UniSender. Use when you need to add a new note to a subscriber's profile. Notes created via API have an 'origin' field set to 'api'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | The text content of the note to be created. This will be stored as a note associated with the subscriber. |
| `subscriber_id` | integer | Yes | The ID of the subscriber/contact to attach the note to. This is the unique identifier of the subscriber in UniSender. |

#### 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 Field

**Slug:** `UNISENDER_DELETE_FIELD`

Tool to remove a custom field from the Unisender system. Use when you need to permanently delete a custom field and all its associated contact data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the custom field to be deleted. This will remove the field and all associated contact data. |

#### 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 List

**Slug:** `UNISENDER_DELETE_LIST`

Tool to permanently delete a contact list from your UniSender account. Use when you need to remove a mailing list by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | integer | Yes | The unique identifier of the contact list to be deleted. This will permanently remove the list from your UniSender 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 |

### Delete Subscriber Note

**Slug:** `UNISENDER_DELETE_SUBSCRIBER_NOTE`

Tool to delete a subscriber note from UniSender by its ID. Use when you need to remove a note associated with a subscriber/contact from the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the note to be deleted. |

#### 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 Tag

**Slug:** `UNISENDER_DELETE_TAG`

Tool to delete a tag by its ID and remove it from all associated contacts. Use when you need to remove a tag from your UniSender account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The numeric identifier of the tag to be deleted. Once deleted, the tag will be removed from all associated 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 |

### Delete Template

**Slug:** `UNISENDER_DELETE_TEMPLATE`

Tool to remove a template from the UniSender account. Use when you need to permanently delete a template by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | integer | Yes | The unique identifier of the template to be deleted. Once deleted, the template cannot be recovered. |

#### 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 |

### Exclude Contact from Lists

**Slug:** `UNISENDER_EXCLUDE`

Tool to remove contacts from specified lists or all lists in UniSender. Use when you need to exclude a contact (email or phone) from mailing lists. Unlike unsubscribe, exclude actually removes the contact from lists, allowing them to be re-added later using the subscribe method. Recommended when subscription management is performed by sender's initiative.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact` | string | Yes | Email address or phone number of the contact to exclude from lists. |
| `list_ids` | string | No | Comma-separated list IDs from which the contact will be excluded. If not provided, the contact will be excluded from all lists. |
| `contact_type` | string ("email" | "phone") | No | Type of contact being excluded. Must be either 'email' or 'phone'. Defaults to 'email' 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 |

### Export Contacts

**Slug:** `UNISENDER_EXPORT_CONTACTS`

Tool to export contact data from UniSender lists for synchronization. Use when you need to export email addresses, phone numbers, and custom fields from lists. This method works asynchronously - the response contains a task_uuid for tracking export status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | No | Filter contacts by tag. |
| `email` | string | No | Email address. If specified, result will contain only one contact with this email. |
| `limit` | integer | No | Maximum number of contacts to return. Defaults to 1000. |
| `phone` | string | No | Phone number. If specified, result will contain only one contact with this phone. |
| `offset` | integer | No | Pagination offset. Defaults to 0. |
| `list_id` | integer | No | Export list code. If not specified, all lists will be exported. Codes can be obtained via getLists method. |
| `notify_url` | string | No | URL to which the response will be sent after the report is generated. |
| `field_names` | array | No | Array of field names to export. Defaults to ['email']. If absent, all possible fields are exported. |
| `email_status` | string | No | Filter by email status. Options: 'active', 'activation_requested', 'blocked'. |
| `phone_status` | string | No | Filter by phone status. Options: 'active', 'blocked', 'inactive'. |

#### 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 Campaigns

**Slug:** `UNISENDER_GET_CAMPAIGNS`

Tool to retrieve list of campaigns from Unisender within a specified date range. Use when you need to fetch email campaign information with optional filtering by date and pagination support. Returns up to 10,000 campaigns per request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | End time of the campaign until which campaigns are to be displayed. Format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS or Unix timestamp. |
| `from` | string | No | Start time of the campaign from which campaigns are to be displayed. Format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS or Unix timestamp. |
| `limit` | integer | No | Number of records to return in the response. Maximum 10,000. |
| `offset` | integer | No | Offset from which position the selection is to be started 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 |

### Get Campaign Status

**Slug:** `UNISENDER_GET_CAMPAIGN_STATUS`

Tool to check the current status of a campaign in UniSender. Use when you need to verify campaign progress or completion status. Returns detailed status information including creation time and start time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_id` | integer | Yes | The ID of the campaign whose status you want to check. This ID is obtained when creating a campaign. |

#### 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:** `UNISENDER_GET_CONTACT`

Tool to get information about a single contact from UniSender. Use when you need to retrieve detailed contact data including email/phone status, custom fields, list memberships, and engagement statistics. Either email or contact_id must be provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | The contact's email address to search for. Either email or contact_id must be provided. |
| `contact_id` | integer | No | The contact's unique ID in UniSender. Either email or contact_id must be provided. |
| `include_lists` | integer | No | Set to 1 to include list membership information with subscription status. |
| `include_fields` | integer | No | Set to 1 to include custom field values for the contact. |
| `include_details` | integer | No | Set to 1 to include additional detailed contact statistics. |

#### 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 Field Values

**Slug:** `UNISENDER_GET_CONTACT_FIELD_VALUES`

Tool to retrieve custom field values for a specific contact identified by email address. Use when you need to get additional field data associated with a contact. You can optionally specify which fields to retrieve by providing field IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address of the contact whose field values you want to retrieve. |
| `field_ids` | string | Yes | Comma-separated list of field IDs to retrieve values for (e.g., '1,2,5'). This parameter is required. |

#### 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 Fields

**Slug:** `UNISENDER_GET_FIELDS`

Tool to retrieve all custom user-defined fields for contact personalization and data management. Use when creating integrations to map fields between systems or to retrieve available custom fields for 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 |

### Get Lists

**Slug:** `UNISENDER_GET_LISTS`

Tool to retrieve all existing mailing lists associated with the account. Use when you need to get list IDs and titles before sending emails or SMS to a list, or to display available contact lists.

#### 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 Messages

**Slug:** `UNISENDER_GET_MESSAGES`

Tool to retrieve list of all messages with body and attachments. Use when you need complete message information including content and attachments, unlike listMessages which returns only metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of messages to return. Default is 30. Used for pagination. |
| `offset` | integer | No | Number of messages to skip for pagination. Must be non-negative. Default is 0. |
| `date_to` | string | Yes | End date/time for filtering messages by creation date. Format: YYYY-MM-DD HH:MM or ISO 8601. |
| `date_from` | string | Yes | Start date/time for filtering messages by creation date. Format: YYYY-MM-DD HH:MM or ISO 8601. |

#### 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 Sender Domain List

**Slug:** `UNISENDER_GET_SENDER_DOMAIN_LIST`

Tool to retrieve information about sender domains and their DKIM status. Use when you need to check which domains are registered for sending emails and their verification status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `username` | string | Yes | Username for which to retrieve sender domain information. |

#### 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 Tags

**Slug:** `UNISENDER_GET_TAGS`

Tool to retrieve all custom tags/labels for contact segmentation. Use when you need to list all available tags in the Unisender 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 Template

**Slug:** `UNISENDER_GET_TEMPLATE`

Tool to retrieve detailed information about a specific email template by its ID. Use when you need to fetch template details including metadata, content, creation details, and formatting information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | integer | Yes | The unique identifier of the template to retrieve. |

#### 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 Templates

**Slug:** `UNISENDER_GET_TEMPLATES`

Tool to retrieve list of all templates with full content including body. Use when you need complete template information including raw_body and body fields, unlike listTemplates which returns templates without body content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Template type filter. Use 'system' for system templates, 'user' for user-created templates. |
| `limit` | integer | No | Number of templates to display in one request. |
| `offset` | integer | No | Position from which the list of templates will be displayed for this request. |
| `date_to` | string | No | End date/time for filtering templates. Format: YYYY-MM-DD HH:MM (e.g., '2015-12-14 12:00'). |
| `date_from` | string | No | Start date/time for filtering templates. Format: YYYY-MM-DD HH:MM (e.g., '2015-12-14 12:00'). |

#### 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 |

### Import Contacts (Bulk)

**Slug:** `UNISENDER_IMPORT_CONTACTS`

Tool to bulk import contacts to UniSender with maximum 500 contacts per call. Use when you need to import multiple contacts at once with their fields, list subscriptions, and tags. Supports creating new contacts, updating existing ones, and managing list subscriptions. UniSender automatically validates emails and filters spam-traps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | array | Yes | Multidimensional array of contact data. Each inner array represents one contact, with values corresponding to field_names array. Maximum 500 contacts per call. For email_list_ids field, use comma-separated list IDs (e.g., '123,456'). For tags field, use comma-separated tags. |
| `field_names` | array | Yes | Array of field names for the data being imported. Standard fields: 'email', 'phone', 'email_list_ids', 'tags'. Custom fields can be any user-defined field names (max 50 fields). The order must match the order of values in each data row. |
| `overwrite_tags` | integer ("0" | "1") | No | Controls how to handle existing tags. 0 = add to existing tags (default), 1 = replace all existing tags with new ones. |
| `overwrite_lists` | integer ("0" | "1") | No | Controls how to handle existing list subscriptions. 0 = add to existing lists (default), 1 = replace all existing list subscriptions with new ones. |

#### 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 |

### Check if Contact is in Lists

**Slug:** `UNISENDER_IS_CONTACT_IN_LISTS`

Tool to check if a contact exists in specified mailing lists based on and/or conditions. Use when you need to verify whether a contact is a member of specific lists. The condition parameter allows checking if the contact is in all lists (and) or at least one list (or).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address of the contact to check. This is used to identify the contact in the system. |
| `list_ids` | string | Yes | Comma-separated list of mailing list IDs to check the contact against (e.g., '1,3,4'). The contact will be checked for membership in these lists. |
| `condition` | string ("and" | "or") | No | Logic condition for checking multiple lists. Use 'or' if the contact must be in at least one list, or 'and' if the contact must be in all specified lists. Defaults to 'or'. |

#### 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 Messages

**Slug:** `UNISENDER_LIST_MESSAGES`

Tool to list all messages without body and attachments. Use when you need to browse available messages created via API or web interface.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of messages to return. Default is 30. |
| `offset` | integer | No | Number of messages to skip for pagination. Must be non-negative. Default is 0. |
| `date_to` | string | No | End date for filtering messages by creation date. Format: YYYY-MM-DD HH:MM:SS or ISO 8601. |
| `date_from` | string | No | Start date for filtering messages by creation date. Format: YYYY-MM-DD HH:MM:SS or ISO 8601. |

#### 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 Templates

**Slug:** `UNISENDER_LIST_TEMPLATES`

Tool to list email templates without body content. Use when you need to browse available templates created via API or web interface.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | End date for filtering templates by creation date (ISO format, e.g., '2024-12-31'). |
| `from` | string | No | Start date for filtering templates by creation date (ISO format, e.g., '2024-01-01'). |
| `type` | string | No | Filter by template type (e.g., 'system' for system templates). |
| `limit` | integer | No | Maximum number of templates to return. Default is 50. |
| `offset` | integer | No | Number of templates to skip for pagination. Default is 0. |

#### 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 to Lists

**Slug:** `UNISENDER_SUBSCRIBE`

Tool to add contacts to one or multiple mailing lists with optional tags and field values. Use when you need to subscribe a contact (email and/or phone) to Unisender lists. This method adds contacts individually and can override existing contact data based on the overwrite parameter. Contacts previously excluded can be re-added using this action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Contact's name. This will be stored in the Name field of the contact. |
| `tags` | string | No | Comma-separated tags to assign to the contact for segmentation purposes (e.g., 'newsletter,premium'). Tags help organize and filter contacts. |
| `email` | string | Yes | Contact's email address. This is the primary identifier for the contact. |
| `phone` | string | No | Contact's phone number. Can be mobile or landline. |
| `list_ids` | string | Yes | Comma-separated list of mailing list IDs to subscribe the contact to (e.g., '123,456'). The contact will be added to all specified lists. |
| `overwrite` | integer ("0" | "1" | "2") | No | Controls how existing contact data should be handled. 0: do not overwrite existing fields, 1: overwrite all existing fields with new values, 2: overwrite only empty fields. |
| `confirm_ip` | string | No | IP address from which the subscription was confirmed. Used for tracking purposes. |
| `request_ip` | string | No | IP address from which the subscription request originated. Used for tracking purposes. |
| `confirm_time` | string | No | Timestamp when the subscription was confirmed. Format: YYYY-MM-DD HH:MM:SS or Unix timestamp. |
| `double_optin` | integer ("3" | "4") | No | Controls subscription confirmation behavior. If not specified, sends confirmation email. Use 3 to bypass email verification (add without confirmation), or 4 to send confirmation only for new contacts. |
| `request_time` | string | No | Timestamp when the subscription request was made. Format: YYYY-MM-DD HH:MM:SS or Unix timestamp. |

#### 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 |

### Unsubscribe Contact

**Slug:** `UNISENDER_UNSUBSCRIBE`

Tool to unsubscribe contacts from mailing lists in UniSender. Use when a contact initiates opt-out from campaigns. This marks contacts as 'unsubscribed' rather than excluding them - the active status can only be restored by the contact clicking an activation link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact` | string | Yes | Email address or phone number that needs to be unsubscribed from campaigns. |
| `list_ids` | string | No | Comma-separated list IDs from which the contact will be unsubscribed. If not provided, the contact will be unsubscribed from all lists. |
| `contact_type` | string ("email" | "phone") | Yes | Type of contact being unsubscribed. Must be either 'email' or 'phone'. |

#### 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 Template

**Slug:** `UNISENDER_UPDATE_EMAIL_TEMPLATE`

Tool to update an existing email template for mass campaigns. Use when you need to modify template properties like title, subject, body content, sender information, or language settings. Only the fields you specify will be updated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | No | HTML body content of the email template. Only updated if provided. |
| `lang` | string | No | Language code for the template (e.g., 'en', 'de', 'fr', 'it', 'ru'). Only updated if provided. |
| `title` | string | No | New title/name for the template. Only updated if provided. |
| `list_id` | integer | No | ID of the mailing list associated with template. Only updated if provided. |
| `subject` | string | No | Email subject line. Only updated if provided. |
| `text_body` | string | No | Plain text version of the email body. Only updated if provided. |
| `wrap_type` | string | No | Text wrapping type for the template. Only updated if provided. |
| `categories` | string | No | Template categories/tags. Only updated if provided. |
| `sender_name` | string | No | Name of the sender. Only updated if provided. |
| `template_id` | integer | Yes | The ID of the template to update. Required parameter. |
| `sender_email` | string | No | Email address of the sender. Only updated if provided. |
| `generate_text` | integer | No | Auto-generate text version from HTML body. Set to 1 to enable, 0 to disable. Only applied if 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 |

### Update Field

**Slug:** `UNISENDER_UPDATE_FIELD`

Tool to modify parameters of an existing custom field in UniSender. Use when you need to change field properties like name, display name, type, visibility, or display position.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the field to update. This identifies which custom field should be modified. |
| `name` | string | Yes | The new name for the field. This is the internal identifier used in API calls. |
| `view_pos` | integer | No | Controls the position/order where the field appears in views. Default is 1. |
| `field_type` | string | No | The data type of the field. Valid values: string, number, date, text, bool. |
| `is_visible` | integer | No | Controls field visibility. Set to 1 for visible (default) or 0 to hide the field. |
| `public_name` | string | No | The public display name for the field that will be shown in the user interface. |

#### 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 List

**Slug:** `UNISENDER_UPDATE_LIST`

Tool to update the parameters of an existing contact list in UniSender. Use when you need to change the title, pre-subscription URL, or post-subscription URL of an existing mailing list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | The new title/name for the mailing list. This will replace the existing list name. |
| `list_id` | integer | Yes | The ID of the list to update. This identifies which contact list should be modified. |
| `after_subscribe_url` | string | No | The URL for redirect to the post-subscription page. Usually this page shows a message that the subscription has been completed successfully. You can add substitution fields to this URL (e.g., email address or contact code). |
| `before_subscribe_url` | string | No | The URL for redirect to the pre-subscription page. Usually this page shows a message that the contact should follow the confirmation link to activate the subscription. You can add substitution fields to this URL (e.g., email address or contact 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 |

### Update Subscriber Note

**Slug:** `UNISENDER_UPDATE_SUBSCRIBER_NOTE`

Tool to update the content of an existing subscriber note in UniSender. Use when you need to edit or modify the content of a previously created note attached to a subscriber.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The identifier of the note to be edited. This is the unique ID of the subscriber note you want to update. |
| `content` | string | Yes | The new content for the note. This will replace the existing note content. |

#### 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 |
