# Mailsoftly

Mailsoftly is an intuitive email marketing platform designed to simplify and enhance how businesses communicate with their audiences. Built with user-friendly features and advanced automation tools, Mailsoftly helps organizations to create, schedule, and manage email campaigns easily.

- **Category:** email newsletters
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 20
- **Triggers:** 0
- **Slug:** `MAILSOFTLY`
- **Version:** 20260312_00

## Tools

### Add Contact to Contact List

**Slug:** `MAILSOFTLY_ADD_CONTACT_TO_CONTACT_LIST`

Tool to add an existing contact to a specific contact list. Use when you need to add a contact to a contact list in Mailsoftly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | ID of the existing contact to add to the contact list. |
| `contact_list_id` | integer | Yes | ID of the contact list to add the contact to. |

#### 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 Custom Field to Contact

**Slug:** `MAILSOFTLY_ADD_CUSTOM_FIELD_TO_CONTACT`

Tool to add a custom field value to an existing contact. Use when you need to store additional custom data on a contact record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | ID of the contact to which the custom field will be added. |
| `custom_field_name` | string | Yes | Name of the custom field to add. |
| `custom_field_value` | string | Yes | Value of the custom field to add. |

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

### Assign Tags to Contact

**Slug:** `MAILSOFTLY_ASSIGN_TAGS_TO_CONTACT`

Tool to assign multiple tags to an existing contact at once. Skips tags if they are already assigned to the contact. Use when you need to categorize or label a contact with one or more tags in Mailsoftly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | Yes | Array of tags to assign to the contact. Each tag must have a tag_name and tag_color. |
| `contact_id` | integer | Yes | ID of the contact to assign tags to. |

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

### Authenticate Firm

**Slug:** `MAILSOFTLY_AUTHENTICATE_FIRM`

Tool to validate the API key and retrieve firm details. Use when confirming credentials before making other Mailsoftly API calls.

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

**Slug:** `MAILSOFTLY_CREATE_CONTACT`

Tool to create a new contact for the authenticated firm with email, first name, and last name. Use when adding new contacts to the firm's contact list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the contact. This is required to create a contact. |
| `last_name` | string | No | Last name of the contact. |
| `first_name` | string | No | First name of the 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 |

### Create Contact List

**Slug:** `MAILSOFTLY_CREATE_CONTACT_LIST`

Tool to create a new contact list for the authenticated firm. Use when organizing contacts into separate lists for targeted campaigns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the contact list to create. |

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

**Slug:** `MAILSOFTLY_CREATE_EMAILS`

Tool to create one or more email drafts in Mailsoftly. Use when drafting emails for campaigns or communications. If contact_list_id is not provided, the system automatically creates a contact list from the provided recipients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | No | HTML content of the email body (required if not using mailLists). |
| `name` | string | No | Custom name for the email draft. |
| `subject` | string | No | Subject line of the email draft (required if not using mailLists). |
| `attaches` | array | No | Array of attachment objects (maximum 5 attachments per email). |
| `reply_to` | string | No | Email address for replies. |
| `mailLists` | array | No | Array of email draft objects for creating multiple drafts at once. If provided, this takes precedence over individual subject/body/recipients fields. |
| `sender_id` | integer | No | ID of an active employee user to use as sender. |
| `recipients` | array | No | Array of recipient objects. Either this or contact_list_id must be provided when creating a single email. If not provided, a contact list will be created automatically. |
| `contact_list_id` | integer | No | ID of an existing contact list. Either this or recipients must be provided when creating a single email. |

#### 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 or Update Contact

**Slug:** `MAILSOFTLY_CREATE_OR_UPDATE_CONTACT`

Tool to create a new contact or update an existing contact in Mailsoftly. Use when you need to add a new contact to the system or update an existing contact's information. If contact_id is provided, the existing contact will be updated; otherwise, a new contact will be created.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the contact. Required field. |
| `last_name` | string | No | Last name of the contact. |
| `contact_id` | integer | No | ID of the contact to update. If provided, updates the existing contact; otherwise creates a new one. |
| `first_name` | string | No | First name of the 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 |

### Get Contact

**Slug:** `MAILSOFTLY_GET_CONTACT`

Tool to retrieve a specific contact by ID from Mailsoftly. Use when you need to fetch details about a specific contact. You can choose between basic or detailed view using the type parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Set to 'detailed' for detailed information, omit or leave empty for basic information. |
| `contact_id` | integer | Yes | ID of the contact to fetch. |

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

**Slug:** `MAILSOFTLY_GET_CONTACT_FIELDS`

Tool to fetch all contact fields available for a firm, excluding hidden columns. Use when you need to retrieve the list of available contact field names and their data types.

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

**Slug:** `MAILSOFTLY_GET_CONTACT_LIST`

Tool to retrieve details of a specific contact list by ID. Use when you need to fetch information about a contact list including its name and contact count.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_list_id` | integer | Yes | ID of the contact list to fetch |

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

**Slug:** `MAILSOFTLY_GET_CONTACT_LIST_CONTACTS`

Tool to retrieve all contacts within a specific contact list. Use when you need to fetch the members of a particular contact list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_list_id` | integer | Yes | ID of the contact list to fetch contacts from. |

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

**Slug:** `MAILSOFTLY_GET_CONTACT_LISTS`

Tool to retrieve all contact lists for the authenticated firm. Use when you need to view all available contact lists and their details.

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

Tool to retrieve all contacts associated with a firm. Use when you need to fetch the complete list of contacts from Mailsoftly.

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

**Slug:** `MAILSOFTLY_GET_CUSTOM_FIELDS`

Tool to retrieve all custom fields defined for the authenticated firm. Use when you need to understand what custom field options are available for contacts in Mailsoftly.

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

**Slug:** `MAILSOFTLY_GET_EMAIL_STATUS`

Tool to fetch the status of a specific email draft by its ID. Use when checking if a draft is ready to send or to get its current status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the email draft to check status for. |

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

Tool to retrieve all tags associated with the authenticated firm. Use when you need to list available tags for organizing contacts or 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 Contacts

**Slug:** `MAILSOFTLY_SEARCH_CONTACTS`

Tool to search for contacts matching specified criteria in Mailsoftly. Use when you need to find contacts by email, first name, or last name. At least one search parameter should be provided for meaningful results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address of the contact to search. Use for exact email matches. |
| `last_name` | string | No | Last name of the contact to search. Partial matches may be supported. |
| `first_name` | string | No | First name of the contact to search. Partial matches may be supported. |

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

Tool to send an existing email draft that is marked as ready. Use when you need to send a prepared email draft via Mailsoftly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | ID of the email draft to send. The draft must be marked as ready before it can be sent. |

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

Tool to update an existing contact's information in Mailsoftly. Use when you need to modify contact details such as name or email address.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address of the contact. |
| `last_name` | string | No | Last name of the contact. |
| `contact_id` | integer | Yes | ID of the contact to update. |
| `first_name` | string | No | First name of the 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 |
