# Persistiq

PersistIQ is a sales automation platform that streamlines outbound sales processes with personalized email campaigns and task management.

- **Category:** crm
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 14
- **Triggers:** 0
- **Slug:** `PERSISTIQ`
- **Version:** 20260223_00

## Tools

### Add Lead To Campaign

**Slug:** `PERSISTIQ_ADD_LEAD_TO_CAMPAIGN`

Tool to add a lead to a specified campaign. Use when you have lead details and a campaign ID to enroll the lead into the campaign.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead` | object | Yes | Details of the lead to add to a campaign. |
| `campaign_id` | string | Yes | The unique identifier of the campaign to which the lead will be added. |

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

**Slug:** `PERSISTIQ_CREATE_CAMPAIGN`

Tool to create a new campaign in PersistIQ. Use when you need to set up a new outreach campaign with a specific owner.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | Yes | The ID of the user who will own this campaign. Can be obtained from GET /v1/users endpoint |
| `campaign_name` | string | Yes | The name of the campaign 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 Do Not Contact Domain

**Slug:** `PERSISTIQ_CREATE_DNC_DOMAIN`

Tool to create a Do Not Contact domain. Use when you need to block emails from being sent to addresses at a specific domain without manual approval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Do Not Contact domain name (e.g., example.com) |

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

**Slug:** `PERSISTIQ_CREATE_LEADS`

Tool to bulk create up to 10 leads. Use when you have multiple new contacts and need optional duplicate-handling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `leads` | array | Yes | List of up to 10 leads to create |
| `duplicate_lead_action` | string ("error" | "update" | "ignore") | No | Behavior when a duplicate email is found: 'error', 'update', or 'ignore' |

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

**Slug:** `PERSISTIQ_LIST_CAMPAIGNS`

Tool to list campaigns. Use when you need to fetch multiple campaigns with optional filters and pagination after setting up your filter criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter campaigns by campaign name (partial, case-insensitive match) |
| `page` | integer | No | Page number for pagination (starting at 1) |
| `limit` | integer | No | Number of records per page (max 100) |
| `lead_id` | string | No | Filter campaigns by associated lead ID |
| `owner_id` | string | No | Filter campaigns by owner user ID |

#### 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 Do Not Contact Domains

**Slug:** `PERSISTIQ_LIST_DNC_DOMAINS`

Tool to list Do Not Contact domains. Use when you need to retrieve all domains marked as DNC.

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

**Slug:** `PERSISTIQ_LIST_EVENTS`

Tool to retrieve a list of PersistIQ events. Use when you need to fetch events filtered by group, campaign, lead, user, or time range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead` | string | No | Only return events related to this lead (UUID) |
| `page` | integer | No | Page of results to return |
| `user` | string | No | Only return events performed by this user (UUID) |
| `group` | string | No | Only return events belonging to this group (UUID) |
| `limit` | integer | No | Number of results per page (max 100) |
| `end_at` | integer | No | Only return events before this Unix timestamp (seconds since epoch) |
| `campaign` | string | No | Only return events from this campaign (UUID) |
| `start_at` | integer | No | Only return events after this Unix timestamp (seconds since epoch) |

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

**Slug:** `PERSISTIQ_LIST_LEAD_FIELDS`

Tool to list all lead fields for your company. Use when you need to retrieve available custom lead fields.

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

**Slug:** `PERSISTIQ_LIST_LEADS`

Tool to list leads from PersistIQ. Use when you need to fetch a paginated list of leads, optionally filtering by status or updated_after.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve. |
| `limit` | integer | No | Max number of leads per page (1-100). |
| `status` | string ("active" | "archived") | No | Filter leads by status; valid values are 'active' or 'archived'. |
| `updated_after` | string | No | Return leads updated after this datetime (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 lead statuses

**Slug:** `PERSISTIQ_LIST_LEAD_STATUSES`

Tool to retrieve all lead statuses for your company. Use when you need to list available lead statuses after confirming authentication with PersistIQ.

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

**Slug:** `PERSISTIQ_LIST_USERS`

Tool to list all non-archived users in your company. Use when you need to retrieve user information including id, name, email, activated status, default_mailbox_id, and salesforce_id.

#### 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 Lead From Campaign

**Slug:** `PERSISTIQ_REMOVE_LEAD_FROM_CAMPAIGN`

Tool to remove a lead from a specified campaign. Use when you need to detach a lead from an existing campaign after confirming both IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead_id` | string | Yes | The unique identifier of the lead to be removed from the campaign. |
| `campaign_id` | string | Yes | The unique identifier of the campaign from which the lead will be removed. |

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

**Slug:** `PERSISTIQ_UPDATE_LEAD`

Tool to update a lead's information. Use when you need to modify fields (status, tags, or custom attributes) of an existing lead. Call after confirming the lead_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Lead's email address |
| `phone` | string | No | Lead's phone number |
| `title` | string | No | Lead's job title |
| `lead_id` | string | Yes | ID of the lead to update |
| `last_name` | string | No | Lead's last name |
| `first_name` | string | No | Lead's first name |
| `company_name` | string | No | Lead's company name |

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

### View Lead

**Slug:** `PERSISTIQ_VIEW_LEAD`

Tool to retrieve a lead by its ID. Use when you have the lead ID and need its detailed information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead_id` | string | Yes | Unique identifier of the lead 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 |
