# Bulk Edit Assistants
Source: https://docs.replify.ai/account-management/bulk-edits
Update settings for multiple assistants at once so you can save time and keep your assistants consistent
## Overview
With **Bulk Edit**, you can update the same setting across many assistants in one go - so you don't have to open each assistant and make the same change over and over.
## How to Get Started
Bulk Edit lives on your Manage Assistants page.
1. Go to Manage Assistants.
2. Check the box next to each assistant you want to update (you can select as many as you need).
3. Click **Edit**. The Bulk Edit window opens with your selected assistants.
From the same selection you can also **Activate** or **Deactivate** assistants; use **Edit** when you want to change their settings (name, personality, rules, channels, notifications, and so on).
## Choosing Which Assistants to Edit
* **Selecting:** Check the box on the left of each assistant's row to include them. When you have at least one selected, a bar appears above the list showing how many are selected.
* **Changing your list in Bulk Edit:** At the top of the Bulk Edit window you'll see how many assistants are selected. Click that number to open the full list of names. You can remove someone from the group by clicking the **X** next to their name; the window stays open and the count updates. Closing the window doesn't change which assistants are selected on Manage Assistants.
You can only bulk edit **active** assistants. If an assistant is turned off or locked, activate it first from Manage Assistants if you want to include it in Bulk Edit.
## What the Bulk Edit Window Looks Like
When you open Bulk Edit you'll see:
* **At the top** - The title "Bulk Edit Assistants," how many assistants are selected (click to see the list), and a close button.
* **A note** that your changes will **replace existing settings** for the assistants you selected.
* **A tip** that you can use the business name placeholder in text so each assistant uses its own business name.
* **A search box** - Type to quickly find a setting instead of scrolling.
* **Tabs** - **Core Behavior**, **Chatbot**, **Phone**, and **Notifications**. Switch tabs to work on different kinds of settings.
* **At the bottom** - A reminder that some values will be overwritten, plus **Cancel**, **Preview Changes**, and **Apply Changes** (the button shows how many assistants you're updating).
Only the settings you actually change will be updated. Leave a setting blank or unchanged and it stays as it is for each assistant. When it's helpful, you may see current values for your selection so you can decide what to set.
## Core Behavior
In the **Core Behavior** tab you can update the same kinds of things you'd set for a single assistant:
* **Business Name**
* **Service**
* **Assistant Name**
* **Assistant Personality**
* **Timezone**
* **Main Call-to-Action** (e.g. Schedule an Appointment or Custom)
* **Custom CTA** (when you use a custom call-to-action)
* **Schedule type** and **Calendar link** (when they apply)
* **Core Questions**
* **Custom rules** (conversation rules that override the defaults)
* **Channel-specific rules** (separate rules for Phone, Text, Chat, and Email)
For **Custom rules** and **Channel-specific rules**, you can choose to **Append** or **Replace**. Append adds your new text to the end of each assistant's existing rules, while Replace overwrites them entirely.
When appending, the maximum character limit is based on the longest existing value among your selected assistants. You cannot append more than the remaining space allows.
Use the search box to jump to a specific setting in this tab.
## Chatbot
In the **Chatbot** tab you can update:
* **Show branding**
* **Chatbot Title**, **Chatbot Subtitle**, and **Chatbot Greeting**
* **Chat rules**
* **Auto-open chatbot** (whether it opens automatically and related options)
* **Auto-close** (whether and when it closes, and the message shown)
Search within the tab to find the setting you need.
## Phone
In the **Phone** tab you can update:
* **Phone intro**
* **Phone rules**
* **Assistant voice**
* **Patience** (and other phone behavior options when available)
* **Backup number**, **Outage response**, **Text follow-up closing** (if shown)
## Notifications
In the **Notifications** tab you can update:
* **Notification type**
* **Notify when**
* **Notification email**
* **Notification mobile number**
* Any other notification options shown
## Saving or Canceling
* **Apply Changes** - Saves your updates to all selected assistants (the button shows the number of assistants). Only the settings you changed are updated; everything else stays the same. This button is available once you've made at least one change.
* **Preview Changes** - Lets you see what will change before you apply. Use it when you want to double-check.
* **Cancel** - Closes the Bulk Edit window without saving. Your selection on Manage Assistants is unchanged.
Bulk Edit **replaces** most settings you edit on each selected assistant. For rules fields, you have the option to **append** instead. If you need different values for different assistants, edit those assistants one at a time instead of using Bulk Edit.
Use the business name placeholder in text (for example in rules or greetings) so each assistant automatically uses its own business name in conversations. That's especially helpful when you're updating many assistants with different business names.
# Manage Team
Source: https://docs.replify.ai/account-management/manage-users
Learn how to add and configure users of your account
## Overview
You can manage the users on your account from the Manage Team page. From here, you’ll see a list of users on your account, along with their email addresses, permission level, and status. Active users appear on the main table; disabled users are listed on a separate tab (see [Viewing disabled users](#viewing-disabled-users)).
Each user will show:
* Name
* Email
* Permissions (Admin or Limited Access, plus capability levels for limited access users)
* Status (active or disabled)
## Navigating to the Manage Team page
To access the Manage Team page, click on your profile bubble in the top right corner of the screen. From the dropdown menu, select **Manage Team**.
## Adding a user
To invite someone to your workspace:
1. Click **Invite User** in the top right corner of the Manage Team page
2. Enter their name and email address
3. Send the invite
The invited user will receive an email prompting them to set up their account.
Each email address can only be tied to **one** Replify account in our system. If you try to add someone whose email is already in use on another account, an error will be displayed. Use a different email address to add them to this account.
If the user doesn’t accept the invite within 7 days, the link will expire. You
can resend the invite at any time by going to the
Manage Team page and clicking on the Resend
invite icon under Actions for that User.
## Editing a user
Click the **pencil** icon next to a user to open the edit window. From there you can:
* Update their **name**
* Change their **status** (active or disabled)
* Set their **access type** and capabilities (see [User permissions and access](#user-permissions-and-access))
You **cannot** change a user's email address after they have been added to your account. If someone needs to use a different address, add them as a new user with the correct email (and disable the old user if they should no longer have access).
## User permissions and access
Previously, every user on an account was an **Admin** with access to everything. You can now assign **Limited Access** and choose what each person can see and change.
### Admin vs Limited Access
| Access type | What it means |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| **Admin** | Full access to all features and settings on the account—the same broad access every user had before custom permissions existed. |
| **Limited Access** | Access only to the areas you enable below. For each area (called a **capability**), you choose **None**, **Read**, or **Edit**. |
Your account must always have **at least one Admin**. You cannot remove Admin
access from the last remaining Admin on the account.
### How to set permissions
On Manage Team, click the **pencil** icon for the user you want to update.
Under **Access Type**, select **Admin** or **Limited Access**.
* **Admin** — No further setup; the user can access everything.
* **Limited Access** — The **Capabilities** list appears so you can set each area individually.
For each capability, choose **None**, **Read**, or **Edit** using the toggle on that row. Capabilities you do not need can stay at **None**.
Click **Save Changes**. The user’s access updates immediately.
### None, Read, and Edit
These three levels apply to each capability on a Limited Access user:
| Level | What the user can do |
| -------- | ------------------------------------------------------------------------------------------------ |
| **None** | No access to that area—they will not see or use those parts of the app. |
| **Read** | Can view information in that area but cannot create, change, or delete settings or records. |
| **Edit** | Can view and make changes in that area (create, update, and delete where the product allows it). |
Capability names in the Edit User window match the accordion titles below.
Each accordion explains **what that capability unlocks** in the app, using the
same menu names you see in the portal.
### What each capability controls
The names below match the **Edit User** dialog exactly. Expand a capability to see which parts of the app it covers.
**What this gives access to:**
* **Manage Brand**
* **Plan & Billing**
* **Connected Apps**
* **API Keys**
**What this gives access to:**
* **Manage Team**
**What this gives access to:**
* **Conversation Settings** — Core Behavior, Live Transfers, Scenarios, Actions
* **Channels** — Chatbot, Email, Text, Phone
* **Notifications**
* **Analysis Settings**
* **Manage Assistants**(including [Bulk Edit](/account-management/bulk-edits))
* **Assistant Contact Info** dropdown
This capability does **not** include **Knowledge**. Knowledge has its own capability—see [Knowledge Base](#knowledge-base) below.
**What this gives access to:**
* **Knowledge**
**What this gives access to:**
* **Inbox**
* **Contacts**
* **Contact list** view on the **Dashboard**
**What this gives access to:**
* **Dashboard** report components
* **Reports**
**What this gives access to:**
* **Campaign Manager**
**What this gives access to:**
* **Phone Numbers**
* **Devices**
This capability appears in the Edit User window **only if your account has the VoIP product**. If you do not see it, your organization is not on VoIP with Replify.
**What this gives access to:**
* **Call History**
Like VoIP configuration, this capability is shown **only when your account has the VoIP product**.
## Viewing disabled users
The user table opens on active users by default. To see users who have been disabled on your account, click the **Disabled** tab above the table. You can review their details there the same way you do for active users.
## Plan limits
Only workspaces on the Plus plan can have multiple users. Free and Basic tiers
are limited to a single user.
If you need to collaborate with others, make sure your account is on the appropriate plan or contact to upgrade your plan.
## Login restrictions
If a user has already signed in using Google, they cannot log in with that same email using a password. They must continue using Google login for that account.
# Multiple Assistants
Source: https://docs.replify.ai/account-management/multiple-assistants
Manage multiple AI assistants for different locations, brands, or workflows
## Overview
Each account starts with one assistant by default. You can add more to support multiple business locations, service lines, or internal teams with distinct workflows.
To purchase additional assistants, contact .
## How to Manage Assistants
1. Open the **Assistant dropdown** in the top right corner.
2. Select an assistant to view its settings, conversations, contacts, and reports.
3. To create a new assistant:
* Click Manage Assistants in the dropdown.
* Click the **plus (+) button** and fill in the required details.
* Navigate to that assistant’s **Settings** to configure its voice, phone, knowledge, and more.
* To rename an assistant, go to its **Settings** page and click the **pencil icon** next to the name.
## External IDs (CRM syncing)
On Manage Assistants, configure **external IDs** so each assistant can carry identifiers tied to CRMs outside Replify (HubSpot storefront or account IDs, internal site codes, etc.). Typical pattern: define a short **key** label (such as `hubspotId`) and the **value** your organization uses for that assistant or location.
Campaign contact imports—**CSV uploads**, **[Import via Email](/campaigns/managing-your-campaign#import-via-email)** (sample CSV step), or the [Campaign Service API](/api-reference/campaigns/manage-campaign-contacts)—use those pairs so routing lines up across assistants on **Multi-Assistant** or organization-wide campaigns. In-app **[Assistant routing](/campaigns/managing-your-campaign#assistant-routing-organization-wide)** is shared between direct uploads and email import setup.
## Troubleshooting
### Can’t create a new assistant?
You’ve likely reached your account’s assistant limit. Contact to upgrade your plan.
### Need to remove an assistant?
Deletion or deactivation is not yet self-serve. Please email and we’ll take care of it for you.
# Outbound Phone Calling API (Legacy)
Source: https://docs.replify.ai/api-documentation/outbound-phone-calling-api-legacy
Legacy API documentation for outbound phone calling — retiring July 1, 2026
**This API is being retired.** If you are still using this version, you must migrate to the [Outbound Phone Calling API](/api-reference/outbound-calling/initiate-outbound-call) by **July 1, 2026**. Your account manager will help you with the transition.
## Pre-requisites
Plus Plan subscription
To access this API, please contact your account manager to request an API key. This API uses a support-issued key (you can’t generate one yourself like you can for our other APIs).
## Overview
The Outbound Call API allows you to trigger an outbound call from your system to a specified phone number. The call can be customized with specific prompts, questions, and rules, and can include metadata about the customer. This API is useful for any situation where automated outbound calls are required.
### Endpoint
**POST** [https://phone.mylibby.ai/outbound](https://phone.mylibby.ai/outbound)
### Request Payload
The request payload should be a JSON object that looks like the following
**Option 1:** provide introNotes that will allow AI to generate the intro and voicemail messages.
```json theme={null}
{
"name": "Chris",
"introNotes": "We are an event planning company, Check and see if they are interested in event planning services",
"toPhoneNumber": "+1xxxxxxxxxx",
"fromPhoneNumber": "+1xxxxxxxxxx",
"formInfo": [
{"Have you had an event planner before?":"Yes"},
{"What's your budget?": "100 per month"}
]
}
```
**Option 2: provide the explicit introMessage and introVoicemail**
```json theme={null}
{
"name": "Chris",
"introMessage": "Hi, we see that you expressed interest in our services. Can I answer any questions or schedule a demo with you?",
"introVoicemail": "Hi, we're calling you back as we see you've expressed interest in our services. Call us back to help answer questions.",
"toPhoneNumber": "+1xxxxxxxxxx",
"fromPhoneNumber": "+1xxxxxxxxxx",
"formInfo": [
{"Have you had a photographer before?":"Yes"},
{"What's your budget?": "100 per month"}
]
}
```
### Parameters
* **name** (string): The name of the person being called. This is used to personalize the conversation.
* **toPhoneNumber** (string): The phone number to call. This should be in E.164 format (e.g., "+1505XXXXXXX").
* **fromPhoneNumber** (string): The agent's phone number initiating the call. This should also be in E.164 format (e.g., "+1XXXXXXX").
* **introNotes** (string, optional): This is used to generate the introductory message or voicemail content. This will be used to start the conversation or leave a message if the recipient doesn't answer. It will not match the message, but rather be used in generating the message(s)
* **introMessage** (string, optional): Use this instead of introNotes if you want to define exactly how you want the assistant to say after the user answers the phone. If you define this, you must provide an introVoicemail as well.
* **introVoicemail** (string, optional): Use this instead of introNotes if you want to define exactly the voicemail you want the assistant to leave if the user does not answer the phone.
* **formInfo** (array of objects): Metadata about the customer. This can include any relevant information that should be referenced during the call. Each object represents a key-value pair. Usually this information is taken in and dynamically set from a form.
### Response
**200** - Call has been processed
```json theme={null}
{
"message": "Outbound call processed"
}
```
### Common Error Responses
**403 - Forbidden**
Typically this indicates you did not add a token or the token is expired.
```json theme={null}
{
"message": "Forbidden: Incorrect scopes"
}
```
**404 - Not Found**
There is no agent for the outgoing number.
```json theme={null}
{
"message": "Agent not found for this number"
}
```
## Authentication
### Overview
The Cognito Token API is used to obtain an access token from Amazon Cognito by making a POST request to the OAuth2 token endpoint. This token can be used to authenticate requests to the Outbound API.
### Endpoint
**POST** [https://libby.auth.us-east-1.amazoncognito.com/oauth2/token](https://libby.auth.us-east-1.amazoncognito.com/oauth2/token)
### Request
#### Headers
* **Content-Type**: `application/x-www-form-urlencoded`
Specifies that the request body is URL-encoded.
* **Optional Cookie**: `XSRF-TOKEN={}`
The CSRF token for protecting against cross-site request forgery.
#### Body
The body of the request should be URL-encoded and include the following parameters:
* **grant\_type** (string): The type of grant being requested. For client credentials, use `client_credentials`.
* **client\_id** (string): The client ID for your application. This identifies your app to the authentication server.
* **client\_secret** (string): The client secret associated with the client ID. This is used to authenticate your app.
* **scope** (string): The scope of the access being requested. This should be the resource server scope, e.g., `external-api-resource-server-1/call.out`.
### Example Request
```javascript theme={null}
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Cookie", "XSRF-TOKEN=0d12bcfe-f40f-4182-8c00-aa344553747f");
const urlencoded = new URLSearchParams();
urlencoded.append("grant_type", "client_credentials");
urlencoded.append("client_id", "your-client-id");
urlencoded.append("client_secret", "your-client-secret");
urlencoded.append("scope", "external-api-resource-server-1/call.out");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://libby.auth.us-east-1.amazoncognito.com/oauth2/token", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
```
### Response
The response will contain an access token if the request is successful.
```json theme={null}
{
"access_token": "eyJraWQiOiJLT...",
"token_type": "Bearer",
"expires_in": 3600
}
```
* **access\_token** (string): The token that can be used to authenticate requests to other services.
* **token\_type** (string): The type of token returned, typically `Bearer`.
* **expires\_in** (integer): The number of seconds until the token expires.
* **scope** (string): The scope of access granted by the token.
### Error Response
If the request fails, the response will include an error message and error code.
**400 - Bad Request**
Likely a bad client\_id or client\_secret.
```json theme={null}
{
"error": "invalid_client"
}
```
### Notes
* **CSRF Protection**: The `Cookie` header includes a CSRF token to protect against cross-site request forgery. Ensure that this token is valid and properly handled in your application.
* **Token Storage**: Store the `access_token` securely and avoid exposing it to unauthorized parties.
# Manage campaign contacts
Source: https://docs.replify.ai/api-reference/campaigns/manage-campaign-contacts
/api-reference/external-api.openapi.json post /campaigns/{campaignId}/contacts
Creates, updates, or removes contacts in a campaign.
**Usage scenarios**
- **Upsert contacts (default)**: Contacts will be added if they don't exist, or updated if they do. Contacts with a `disqualified` or `completed` status will not be added. If no `action` is specified, the API defaults to `upsert`.
- **Update existing contacts only**: Set `action` to `"updateOnly"`. Only contacts already in the campaign will be updated. Contacts not in the campaign are ignored. This is useful when your process might include contacts that aren't in the campaign and you don't want them added.
- **Remove contacts**: Set `action` to `"remove"` and provide at least `email` or `phone` for each contact to remove.
**External IDs (CRM routing)**
- **Configure in Manage Assistants** — Define **external IDs** per assistant so each one can reference CRMs outside Replify (for example HubSpot account IDs, storefront codes, or internal site codes).
- **Example** — A key like `hubspotId` paired with values that distinguish Site A from Site B.
- **In this API** — For **organization-wide / multi-assistant** campaigns, include optional **`externalIdKey`** and **`externalIdValue`**. Key names must match what you saved in Manage Assistants.
- **Where to put them** — You can set **`externalIdKey`** / **`externalIdValue`** on individual contacts, at the request root, or both. See the schemas for those properties in this spec.
**Key fields**
- `action`: Controls how contacts are processed. Options are `"upsert"` (default), `"updateOnly"`, and `"remove"`. This applies to all contacts in the request.
- `status`: Use `completed` or `disqualified` to stop further outreach from campaigns. Other status values are allowed but won't affect campaign behavior.
- `contactMetadata`: Add any key:value pairs to inform your AI assistant's behavior. For example, if you set `"tier": "pro"`, you can configure your AI to identify and handle pro-tier contacts appropriately.
- `externalIdKey` / `externalIdValue`: Optional; supported on request root and/or per-contact as described in schema field docs.
# Initiate outbound call
Source: https://docs.replify.ai/api-reference/outbound-calling/initiate-outbound-call
/api-reference/outbound-phone-api.openapi.json post /outbound/call
Schedule a single outbound call for a specific assistant (`agentId`). The call is queued after validation and placed shortly.
**Required headers:** `x-api-key`, `Content-Type: application/json`.
**Required fields**
- `agentId` — assistant that places and handles the call, can be found in the URL after selecting that assistant.
- `contact.phoneNumber` — callee number in **E.164** format (e.g. `+15551234567`).
- **Messaging** — send **both** `introMessage` and `voicemailMessage`, **or** send `callInstructions` alone. You cannot send only one of `introMessage` / `voicemailMessage`.
**Optional fields**
- `contact.firstName`, `contact.lastName`, `contact.email`; trimmed and used for assistant context.
- `metadata` — custom key/value pairs (strings, numbers, or booleans) to give the assistant context.
**Assistant requirements**
The assistant must exist, belong to your organization (from the API key), be `active`, and have phone enabled and fully configured.
# Overview
Source: https://docs.replify.ai/api-reference/overview
Authentication, API keys, and available Replify APIs
Replify exposes HTTP APIs so you can integrate phone and campaign workflows with your own systems. This section covers how to authenticate, manage keys, and which APIs are available today.
**Plus plan required:** API keys and API access are available on the Plus plan.
## Authentication
All current Replify APIs use the same authentication model:
* Send your API key secret in the **`x-api-key`** header on every request.
* API Gateway validates the key and routes the request to your organization.
For endpoints that accept a JSON body, also send:
```http theme={null}
Content-Type: application/json
```
**Production base URL:** `https://api.heylibby.com/api/v1`
Individual API pages document paths, payloads, and responses. The [legacy Outbound Phone Calling API](/api-documentation/outbound-phone-calling-api-legacy) uses a different auth flow and is being retired.
## API keys
Create and manage keys in the portal — you do not need to contact support.
1. Open API Key Management in your organization settings.
2. Click **+ Create new API key** and give it a descriptive name (e.g. "CRM integration" or "Outbound calls").
3. **Copy the secret key immediately** and store it in your password manager, secrets store, or integration config.
The full API key is **only shown once** at creation. After you leave the page, you cannot view it again. If you lose it, create a new key and update your integration.
You can create up to **10 API keys** per organization. The same key works across supported APIs unless you choose to rotate or separate keys by integration.
See [API Keys](/integrations/api-keys) for limits, deletion, and security practices.
## Available APIs
**Migrating from the legacy outbound API?** If you use the [legacy Outbound Phone Calling API](/api-documentation/outbound-phone-calling-api-legacy), switch to the current API by **July 1, 2026**. Your account manager can help with endpoint and testing changes.
Schedule a single immediate outbound call for an assistant — testing, demos, or one-off dials.
Add, update, or remove contacts in campaigns programmatically.
We will add more APIs over time. Each will use the same `x-api-key` authentication unless noted otherwise on its reference page.
## API feedback
Looking for an endpoint or integration we do not offer yet? Email us at with **API feedback** in the subject line (or mention APIs in the message). Tell us what you are trying to build — we use customer input to prioritize what we ship next.
# Advanced Actions
Source: https://docs.replify.ai/assistant-setup/advanced-actions
Learn how to configure and reuse API calls and other advanced actions in your Scenarios.
## Overview
Actions let you define and reuse API/webhook calls to external systems. Think of them as building blocks for your assistant’s advanced capabilities.
If your Scenario needs to interact with other tools or systems, you’ll use an **API Call Step** powered by an Action.
**Using Templates?** Pre-built [Scenario templates](/assistant-setup/scenarios-overview#templates) automatically create and configure Actions for popular integrations like Cal.com. When you use a template, the necessary Actions are already set up and ready to use, though you can still edit them to customize the configuration.
## When to Use Actions
Use an Action when your assistant needs to:
* Trigger a webhook to another app
* Retrieve data from a third-party API
* Update your CRM or lead database
* Schedule, reschedule, or cancel appointments
## Creating a New Action
When you add an **API Call** step to a Scenario, you’ll be prompted to either:
* Select an existing Action, or
* Create a new one
### Action Configuration Fields
| Field | Description |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name** | Internal name for the action (e.g. `SendToCRM`, `CheckMembership`); used in the Scenario to trigger this action. |
| **API Endpoint** | The external URL you're calling (e.g. `https://api.yourtool.com/v1/leads`). Supports path parameters using curly braces like `/members/{id}` or `/campaigns/{campaignId}/contacts` |
| **Description** | Optional helper text for teammates |
| **Method** | HTTP method: `GET`, `POST`, `PUT`, or `DELETE` |
| **Auth Header** | Optional authentication header depending on auth type(e.g. x-api-key) |
| **API Key** | API key to authenticate; must be a long-lived API key |
| **Headers** | Key-value pairs for authentication or content-type (e.g. `Authorization: Bearer {{org.apiToken}}`) |
| **Parameters** | Define path parameters, query parameters, and request body parameters. See [Parameters](#parameters) section below. |
| **Error Message** | What should the AI Assistant say if the API call fails |
### Parameters
Parameters define the data your Action sends to the external API. How parameters are used depends on the HTTP method and parameter type:
#### Path Parameters
Path parameters (e.g., `{memberId}`, `{campaignId}`) are replaced directly in the URL path. If your API endpoint includes path parameters like `/campaigns/{campaignId}/contacts` or `/members/{id}`, they are automatically detected and added to the Parameters section. Configure each path parameter with a description that helps the AI Assistant understand what value to use.
**Example:**
* **API Endpoint:** `https://api.example.com/campaigns/{campaignId}/contacts`
* A parameter named `campaignId` will automatically appear in the Parameters section
* Add a description like "The unique ID of the campaign"
#### Other Parameters
For **GET and DELETE requests**, parameters (other than path parameters) are included in the query string (e.g., `?startDate=2024-01-01&endDate=2024-01-31`).
For **POST and PUT requests**, parameters (other than path parameters) are included in the request body as JSON.
Define each parameter with a clear description so the AI Assistant knows what data to collect and send.
#### How Parameters Work
The AI Assistant dynamically determines values for all parameters based on:
* Information already collected in the conversation
* User responses to questions in your Scenario
* Data returned from previous Actions
The Action will not execute until all required parameter values are available. If a value is missing, the AI Assistant will ask the user for it or collect it from a previous step.
You can also pass in custom Assistant attributes. Define these at the Scenario
level and then you can add the value for each Assistant.
## Editing or Deleting Actions
Actions can be edited from the **Actions Library** or from within a Scenario step.
* **Edits** are reflected in all Scenarios that use that Action
* **Deletion** is permanent and will break any Scenario using it
When you [clone a Scenario](/assistant-setup/build-a-scenario#managing-scenarios), all Actions used by that Scenario are automatically cloned along with it. This ensures your cloned Scenario works independently without affecting the original Scenario or its Actions.
# Availability Schedules
Source: https://docs.replify.ai/assistant-setup/availability-schedules
Control when live transfers are available using availability schedules and per-transfer modes
## Overview
Availability Schedules let you define business hours and assign them to assistants so live transfers are only offered when your staff is available to answer. You can create one schedule and assign it to multiple assistants, or rely on an org-wide default.
Schedules are managed from the **Availability Schedules** tab on the Live Transfer Management page.
[Learn more about per-transfer availability modes on the Live Transfers page](/assistant-setup/live-transfers#availability).
## Availability Schedules Tab
The **Availability Schedules** tab appears alongside the Transfers tab and gives you a central place to manage all schedules across your organization.
### Schedules Table
The table shows all availability schedules in your organization:
| Column | What it shows |
| ----------------------- | --------------------------------------------------------------------------- |
| **Schedule name** | The schedule name — hover a row's tooltip for the full day-by-day breakdown |
| **Hours** | Summary of configured days and times — hover for the full schedule |
| **Assigned assistants** | Which assistants use this schedule |
| **Actions** | Assign to assistants, edit, or delete |
The row for the schedule assigned to your currently selected assistant is **highlighted in blue** so you can quickly identify which schedule is active.
### Creating a Schedule
Click **Create schedule** to open the schedule editor.
| Field | Description |
| ------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Name** | Optional. If left blank, a name is auto-generated from the configured hours. |
| **Set as organization default** | When checked, this schedule applies to any assistant without its own explicit assignment. |
| **After-hours message** | What the assistant says when a caller triggers a schedule-gated transfer outside of available hours. |
| **Weekly hours** | Toggle each day on or off, then set open and close times. At least one day must be enabled. |
| **Assistants** | Optionally assign this schedule to specific assistants at creation time. |
Hours are stored without a timezone. Each assistant applies the schedule using its own configured timezone. A schedule showing 9:00 AM–5:00 PM will open at 9:00 AM in whatever timezone each assistant is set to.
### Editing a Schedule
Open the actions menu on any row to edit it. When you update an org default schedule, the change affects every assistant that relies on it without its own assignment.
When editing, the assistants field shows which assistants are currently assigned. Add or remove them directly in the modal.
### Deleting a Schedule
Deleting a schedule removes it from all assistants. Transfers that were set to **During schedule** or **Outside schedule** on those assistants will fall back to **Always on** behavior until a new schedule is assigned.
## Assigning a Schedule to an Assistant
Use the **Assign schedule** modal — accessible from the availability strip on the Transfers tab or from the Actions menu in the Schedules table — to assign or change a schedule for a specific assistant.
* Schedules marked as the **org default** are labeled with a badge in the list
* Select any schedule and click **Assign schedule** to save
* You can deselect a schedule to unassign it, **unless the assistant is currently using the org default** — in that case, you must either choose a different schedule or delete the org default first
If you try to clear the selection when the org default is active, you'll see: "This assistant is assigned the org default schedule. Selection can't be left empty — choose another schedule, or delete the org default first."
You can also click **Create a new schedule** from within this modal to build one without leaving the flow.
## Organization Default Schedule
Setting a schedule as the **org default** means it is automatically applied to any assistant that has not been explicitly assigned a schedule. This is useful when most assistants share the same hours.
Only one schedule can be the org default at a time. Updating it immediately affects all assistants that rely on it.
## Tips
* Set up an org default schedule first if most assistants share the same hours, then override individually for exceptions.
* Use **Outside schedule** mode for transfers you want available only after hours — like an emergency contact or an after-hours routing option.
* Combine **During schedule** and **Outside schedule** transfers on the same assistant to route callers differently depending on the time of day.
* Use **Pause transfers** for short-term closures (holidays, unexpected outages) without editing schedules.
* Keep your after-hours message actionable — tell callers what to do next, not just that you're unavailable.
# Build a Scenario
Source: https://docs.replify.ai/assistant-setup/build-a-scenario
Step-by-step guide to building and activating your first Scenario.
## Overview
This guide covers two ways to create a Scenario: building from scratch for full control, or using a pre-built template for faster setup.
## Building a Scenario from Scratch
## 1. Name Your Scenario
Choose a clear, descriptive name for your Scenario. This is for your reference only and affect how the scenario runs.
Examples:
* `Book meetings for sales demos`
* `Qualify potential partners`
* `Retrieve Customer membership info`
## 2. Set the Trigger
Triggers define when the Scenario should run.
Example triggers:
* If the user asks to book or schedule an appointment
* If the customer asks to get an existing appointment or check when an existing appointment is scheduled
* If the user is interested in becoming a partner with us
The trigger text doesn't need to match the user's message exactly. The AI
assistant uses natural language understanding to decide if the user’s message
fits the trigger condition. For example, if your trigger is “The user wants to
book an appointment,” and someone says “Can I schedule an appointment?”, the
assistant will recognize that as a match.
## 3. Add Steps
Each Scenario includes one or more **Steps**. Steps run in order from top to bottom.
### Instruction Steps
Use these to:
* Ask for more info (e.g. phone, email, preferences)
* Decide what the AI Assistant should do next
* Make API calls to external systems to get info or complete an action
### API Call Steps
Use these to:
* Call your internal tools or booking systems
* Send webhooks to third-party tools
* Parse and use external responses
In each API step, you can:
* Set the method (GET, POST, etc.)
* Define the URL and headers
* Pass static values
* Choose what happens if the call fails
Coming soon: test your API calls directly in the builder.
## 4. (Optional) Add Rules
Use rules to control when the Scenario runs.
Examples:
* If they asks to book an appointment in a different location, let them know to contact that location directly.
* To determine the serviceID for the getAvailability API call select the ID
Use this in conjunction with the steps to determine how the AI Assistant behaves in this scenario. You can add general rules for the entire scenario to this section.
## 5. (Optional) Add Assistant-Specific Attributes
Attributes let you set values for each assistant using this Scenario.
Examples:
* `bookingUrl` — varies by location
* `calendarId` — for appointment integrations
You’ll be prompted to fill in these values when enabling the Scenario.
## 6. Activate the Scenario
Once everything is set up, you can choose which assistants this Scenario should run on.
* Enable for all, or select specific assistants
* If any required attributes are missing, you’ll be prompted to fill them in
* You can skip this step and keep the Scenario in **Draft**
## 7. Review and Save
Review your full Scenario using the navigation at the top of the builder. You can jump back to make changes before saving.
Once you click **Finish**, your Scenario will be saved and active for any assistants you've selected.
## Managing Scenarios
* **Edit:** Open the Scenario to make changes at any time
* **Clone:** Duplicate an existing Scenario to create a copy. When you clone a Scenario, all associated Actions are also cloned along with it, so you can modify the cloned version without affecting the original.
* **Delete:** Use the dropdown menu to permanently remove a Scenario
Deleting a Scenario is permanent and cannot be undone. Make sure it's not in
use first.
## Using Templates
**Quick Start with Pre-built Templates**
Templates automatically configure trigger conditions, steps, and necessary Actions based on your integration settings, giving you a head start that you can customize.
### How Templates Work
1. **Select a Template** – When creating a new Scenario, choose a template that matches your use case (e.g., Cal.com appointment booking)
2. **Provide Integration Details** – Templates will ask for required information like API keys and configuration IDs
3. **Review Pre-filled Scenario** – The template automatically sets up:
* Trigger conditions that match your workflow
* Step-by-step instructions for the AI assistant
* Pre-configured API calls (Actions) for your integration
4. **Customize as Needed** – Edit any part of the scenario to fit your specific needs
5. **Activate and Save** – Follow steps 6-7 above to activate and save your scenario
### Available Templates
**Cal.com Appointment Booking (Phone Calls)**
* Automatically configures appointment booking workflows for Cal.com
* Requires: Cal.com API key and Event Type ID
* The API key is found in your Cal.com account settings
* The Event Type ID is the number found in your event URL (after `/event-types/`)
* Pre-fills trigger conditions, conversation steps, and API actions for checking availability and booking appointments
* Coming soon: Support for other channels (Text, Chat, Email)
Templates provide a great starting point, but you can always customize or build from scratch. Templates are designed to save time while still giving you full control over the final scenario.
## Next Steps
Want to setup and reuse API calls across multiple Scenarios? Learn more about [Advanced Action configuration](/assistant-setup/advanced-actions).
# Chatbot
Source: https://docs.replify.ai/assistant-setup/chatbot
Configure your chatbot's appearance, behavior, and how it's embedded on your website
## Customize Your Chatbot
* **Choose a layout**: Pick between Link View (with quick links) or Simple (more conversational).
* **Select an accent color** to match your brand.
* **Write a custom greeting** that your assistant will say when a conversation starts.
* **Upload a profile picture** to personalize your chatbot.
* **Show or hide branding (basic & plus plan)** like our avatar or our logo.
You’ll see a live preview on the right as you make changes.
## Share Your Chatbot
Create a short, personalized link you can share with customers. Just type your preferred URL ending and copy the link provided.
## Embed on Your Website
You can also embed the chatbot directly into your website:
1. Choose your icon colors and shape.
2. Copy the embed code at the bottom of the page.
3. Paste it into your site's HTML.
Any saved updates you make on the chatbot settings page will be automatically applied to your embedded chatbot.
## Auto-Open Chatbot
Enable the auto-open feature to automatically display a small message after a set timeframe to encourage users to engage with the chat.
### Configure Auto-Open
1. **Toggle Auto-open chatbot**: Enable this feature to automatically open a small message after a set timeframe.
2. **Set Popup Message**: Enter the message that will appear when the chatbot alert auto-opens (maximum 400 characters). This is a required field.
3. **Auto-open after (seconds)**: Set how many seconds to wait before the popup appears. Set to 0 to open as soon as the chatbot loads.
### Popup Icon
Customize the icon that appears in the popup:
* Click the edit button to upload a custom icon
* The default icon is a waving hand
* Your custom icon will be displayed in a circular format
### Auto-Close Message
Automatically close the small message after a set timeframe:
1. **Toggle Auto-close message after specified time**: Enable this feature to automatically close the popup.
2. **Auto-close after (seconds)**: Set the time in seconds to automatically close the message. This is a required field when auto-close is enabled.
### Show on Devices
Choose which devices should display the popup message:
* Select from the dropdown menu to specify desktop, mobile, or all devices
* This allows you to control where the auto-open feature appears
## Want a Custom Icon?
You can customize both icons on the embedded chatbot:
### Embed Icon
Use your own image for the embedded chatbot icon. Just add this line to the embed code (under `window.agentId`) and replace the URL with your image:
```javascript theme={null}
window.customImage = 'https://yourdomain.com/your-image.png';
```
### Popup Icon
For the auto-open popup feature, you can upload a custom popup icon directly in the chatbot settings page. Click the edit button on the Popup Icon section to upload your custom image. The default is a waving hand icon.
# Core Behavior
Source: https://docs.replify.ai/assistant-setup/core-behavior
Define who your assistant is and how it behaves in every conversation
## Overview
The Core Behavior
page is where you define who your assistant is and how it behaves in every conversation. This page walks you through four sections:
1. **Training Guide** — An overview of training areas to help you understand where different types of instructions belong
2. **Assistant Identity** — Basic information about your business and assistant
3. **Core Tasks** — The main goals and questions for every conversation
4. **Behavior Rules** — Custom rules and channel-specific rules that shape how your assistant communicates
## Training Guide
The Training Guide provides an overview of the different areas where you can train your assistant:
* **Core Behavior** (this page) — Define how your assistant should behave in every conversation
* [**Knowledge**](/assistant-setup/knowledge) — Information your assistant can reference to answer questions
* [**Live Transfers**](/assistant-setup/live-transfers) *(phone calls only)* — When and how calls should be handed to a human
* [**Scenarios**](/assistant-setup/scenarios-overview) — Complex steps to follow in specific situations
The Training Guide also includes expandable sections with **Tips for writing good instructions** and a **"Not sure where something belongs?"** guide to help you place instructions in the right area.
## Assistant Identity
Define who your assistant is and the basic information about your business.
### Business Name *(required)*
Enter the business name that you use with your customers. This business name will be externally visible to your end-users on your chatbot and used by your assistant in conversations.
### Service *(required)*
Choose the service type that best matches your business from our list of 100+ options or write in your own. This selection allows us to automatically populate your assistant with industry-specific questions and facts tailored to that service type. You can always customize or adjust these later.
This helps your AI assistant keep conversations focused and avoid topics outside of your service offerings.
### Assistant Name *(required)*
Set the name your assistant will use when introducing itself in conversations.
### Assistant Personality *(required)*
Choose a tone that fits your brand:
* **Professional** (most common)
* **Jokey**
* **Enthusiastic**
* **Laid Back**
You can experiment to see what works best for your customers.
### Timezone *(required)*
The timezone your assistant will operate in. All times and dates mentioned by your assistant will be based on this timezone — for example, if you have appointment scheduling set up, the assistant will interpret dates and times based on this timezone. Be sure to select the timezone that matches your business or location.
## Core Tasks
Define the main goals and questions for every conversation.
### What is the Main Call-to-Action? *(required)*
Choose what your assistant should aim to accomplish in the conversation:
* **Schedule an Appointment** — Your assistant will guide the customer through a set of questions and then attempt to get availability or share the calendar link if provided.
* **Custom** — Define a custom action, such as:
* "Send the customer to this form: `xyz`"
* "Have them visit this website to learn more: `xyz`"
If you choose **Custom**, enter your custom call-to-action in the text field that appears.
### What Core Questions Should Your Assistant Always Ask? *(required)*
Enter the specific questions you'd like your assistant to ask in all conversations. These can be conditional.
**Example:** `If they're buying a house, ask for their budget.`
You can also instruct your assistant **not** to ask any questions.
**Example:** `You don't need to ask any questions. Just answer theirs and be helpful.`
## Behavior Rules
Behavior Rules control how your assistant communicates and are split into two areas: global custom rules that apply to all conversations, and channel-specific rules.
### Custom Rules
Add specific instructions that shape how your AI assistant responds and represents your business. Most users don't need to modify this, but it's helpful for edge cases.
If you add custom rules, they will override the default ones you see in the settings. We recommend copying the default rules first and then adding yours.
Rules act as general precedents that apply across the entire conversation. They're different from knowledge entries, which handle specific content, instructions, or categories. Use custom rules for broader "if/then" logic or stylistic preferences.
**Example:** `You will not commit to anything for FitWorld Gym, you are just collecting information and FitWorld Gym staff will review it and get back to the user.`
You can click **Copy to Custom Rules** to copy the current default rules into the custom rules field for editing.
### Channel Specific Rules
Channel-specific rules apply to conversations in a specific channel (phone, text, chat, or email) and are appended to the global conversation rules. Use the tabs to switch between channels and add rules for each.
For example, you might add a phone-specific rule like:
```
Keep responses succinct aiming to answer in 2 sentences or less unless additional details are needed.
```
We recommend testing a few conversations after making changes to Core Behavior to ensure everything is working as expected.
# Email
Source: https://docs.replify.ai/assistant-setup/email
Configure email communication settings and templates
## Overview
Use the **Email Settings** page to:
* Set the **"From" email address** your assistant uses to send messages
* Customize the **email footer/signature** to match your brand
These settings affect all outgoing emails sent by your assistant, including follow-ups and new lead responses.
## Use Your Own Domain (Plus Plan)
If you're on the **Plus plan**, you can send emails from your own domain using Microsoft, Google, or Apple/iCloud.
### How to set it up:
1. Create a new, dedicated email address in your email provider (e.g. `assistant@yourdomain.com`).
2. Email us at with that address.
3. We’ll handle the initial setup and send you the final steps.
Do not use an address you plan to respond to manually. This may interfere with your assistant’s ability to reply to leads.Setup takes about 5 minutes once you’ve created the email account.
## Email Signature
Customize the footer that appears at the bottom of every email your assistant sends. You can include:
* Text and hyperlinks
* Images or logos
* Rich formatting (e.g., bold, italics, lists)
We recommend including your assistant’s chat link and phone number to give customers multiple ways to follow up.This signature applies to all assistant emails automatically—no need to update it per message.
# Knowledge
Source: https://docs.replify.ai/assistant-setup/knowledge
Set up your assistant's knowledge base
## Overview
The Knowledge page is where you define what your assistant should know about your business. This information helps your assistant answer questions and provide accurate support during conversations.
**Key points:**
* The more details you provide, the more helpful your assistant will be
* You can add information manually, upload documents, or provide websites for automatic analysis
* Each assistant requires at least one Knowledge Set with one item to function properly
## What is Knowledge?
Knowledge is the factual information your AI assistant uses to answer questions about your business. It includes details like:
* What services you offer
* Where you're located
* Your pricing structure
* Your policies and procedures
* Product or service descriptions
* Company facts and FAQs
### Knowledge vs. Rules
**Knowledge** refers to facts and details about your business that your assistant uses to answer questions.
**Rules** are instructions that shape how your assistant behaves or communicates. For information on rules, see [Custom Rules](/assistant-setup/core-behavior#custom-rules).
Knowledge helps your assistant know *what* to say. Rules help your assistant
know *how* to say it.
### Knowledge Examples
**Service Information:**
```
We offer personal training, HIIT classes, and nutrition consultations at our Los Angeles and Long Beach locations.
```
**Pricing Information:**
```
New members get one free trial class. After that, sessions are $25 each or $90 for a 5-class pack.
```
## Knowledge Sets
A Knowledge Set is a collection of related information that your assistant can use to answer questions. Think of it as a folder for organizing your business information.
### Benefits of Knowledge Sets
* **Organization**: Group related information together (e.g., "Pricing," "Policies," "Los Angeles Location")
* **Flexibility**: Assign different sets to specific assistants
* **Management**: Easily update or remove related information as a group
### Creating a Knowledge Set
1. Select **Add Knowledge Set** to create a new collection
2. Enter a name and description for the set
3. Add content to the set using any of these methods:
* **Text snippets** — Type or paste information directly
* **Website URLs** — Add up to 3 URLs for automatic analysis
* **Documents** — Upload up to 3 files (PDF, DOCX, TXT, CSV, XLSX, 25MB max each)
Once added, each entry appears as a separate knowledge item that your assistant can reference.
More detailed information leads to more accurate and natural answers from your
assistant.
## Adding Knowledge Content
You can add knowledge to your sets in three ways:
### Text Snippets
Add short or long pieces of information about your business directly in the knowledge editor.
**Best for:**
* Services, pricing, and policies
* FAQs
* Product descriptions
* General facts about your company
**How it works:**
* Each new line or paragraph is saved as a separate knowledge item
* You can add multiple snippets at once to save time
* Edit or delete individual snippets at any time
### Websites
Automatically analyze your website content and extract relevant information.
**How it works:**
1. Add up to 3 website URLs at a time
2. After saving, the site will be scanned automatically
3. All readable content is added as knowledge items
4. The process usually takes less than a minute
**Tracking:**
* The Sources tab shows the analysis status
* View how many items were added from each website
Your assistant does not monitor websites for changes. To refresh the content,
remove the website source and then re-add it.
#### Why website analysis fails
When you add a website to a knowledge set, Replify sends an automated scraper to read the page and import its content. Sometimes that scraper gets blocked, and you'll see a **We couldn't import this website** message.
**Why this happens**
The most common cause is a security service on the website, such as Cloudflare, that blocks automated access. Less often, the page requires a login, or the site's structure prevents our scraper from reading it. In all of these cases, the fix is the same: get the content into your knowledge set another way.
You can use an AI assistant like ChatGPT, Claude, or Perplexity to pull the content for you.
1. Open your AI assistant of choice.
2. Paste this prompt, replacing the URL at the end with your page:
```
Take this website, including all of the FAQs (expand all collapsed sections), and turn them into a clean list of text-only FAQs in this format: question, answer, line break. No links, formatting, or anything else. Be thorough: https://www.yoursite.com/page/
```
3. Review the output for accuracy.
4. Paste the result into a knowledge set in Replify.
Creating one knowledge set per website page keeps things easier to manage and review. Once you've added the content, flip the toggle to make the knowledge set active.
If you work with a website team or agency, they can temporarily pause the security service (such as Cloudflare's bot protection) that is blocking automated access. Once it's paused:
1. Return to Replify and re-run the website analysis.
2. Confirm the import completed.
3. Let your team know they can turn the protection back on.
For a small number of pages, you can skip scraping entirely:
1. Open the page in your browser.
2. Print the page and choose **Save as PDF**.
3. Upload the PDF directly to your knowledge set.
This works well for a handful of pages but gets tedious for large sites, so we recommend Workaround 1 for anything more than a few pages.
**Still stuck?**
Email us at with the URL you're trying to import and the error details from the failure message. We're happy to help get your content loaded.
### Documents
Upload files that contain business information for automatic processing.
**Supported formats:**
* PDF
* DOCX
* TXT
* CSV
* XLSX
**Limits:**
* Up to 3 files at a time
* Each file up to 25MB in size
**Best for:**
* Brochures and service guides
* Policies and procedures
* Training materials
* Product catalogs
**How it works:**
* Each document is automatically processed to extract key facts
* Extracted content becomes knowledge items your assistant can use
* View processing status in the Sources tab
## Managing Knowledge
Once you've added knowledge, use these tabs to manage it:
### All Knowledge Items Tab
View, edit, or delete all knowledge items in one place. For each item, you can see:
* **Source type** — Text, website, or document
* **Original source** — Where the information came from
* **Status** — Active or inactive
**Actions:**
* **Toggle on/off** — Disable items without deleting them
* **Edit** — Update the content
* **Delete** — Remove items permanently
* **Schedule** — Set a start and/or end date to control when the item is active
### Scheduling Knowledge Items
You can schedule individual knowledge items to activate or deactivate automatically at specific times.
**Scheduling a single item:**
Select a knowledge item and click the **clock icon** under Actions. You can set a start date, an end date, or both — both fields are optional:
* **Start date only** — the item stays off until the start date, then remains active indefinitely.
* **End date only** — the item is active now and turns off at the end date.
* **Both** — the item activates at the start date and deactivates at the end date.
**Bulk scheduling:**
Select multiple knowledge items and use the **bulk clock action** to apply a shared schedule to all of them at once.
Bulk scheduling will overwrite any existing schedule on each selected item.
Each knowledge item can have at most one start date and one end date at a time.
### Copying Knowledge Items
Click **Copy knowledge**, select an assistant, choose whether to include active, inactive, or all items, then click **Copy to clipboard**. This copies items from all active sets for that assistant at once into a single clipboard snapshot. It's useful for spotting conflicting or duplicate information across sets without opening each one individually.
### Sources Tab
Get a summary of all connected sources:
* **Websites** — Analysis status and item counts
* **Documents** — Upload status and processing information
### Settings Tab
Control access to your Knowledge Set:
* **Assign to assistants** — Choose which assistants can use this Knowledge Set
* **Manage permissions** — Control how different assistants access the information
# Live Transfers
Source: https://docs.replify.ai/assistant-setup/live-transfers
Set up trigger phrases that initiate live phone transfers
## Overview
Live Transfers let your assistant automatically transfer a caller to a real phone number based on a specific trigger phrase. You can create up to 50 transfer scenarios per assistant.
Transfers can be reused across assistants, or kept specific to one.
## Transfer Mode
The **Transfer Mode** selector appears in the toolbar on the Transfers tab. It controls how callers reach a live transfer across your entire organization.
Click the selector to open the options panel:
| Mode | How it works |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Voice** *(Recommended)* | Automatically transfers a caller when their request matches the meaning of a trigger phrase. Callers can still press a keypad number to transfer. |
| **Keypad** | Callers press a number to be transferred. The assistant directs them to press the configured key sequence (for example, press 1 followed by the pound key). |
Changing Transfer Mode takes effect immediately for all assistants in your organization. A confirmation prompt appears before the change is saved.
### Spoken name (voice mode only)
When Voice mode is active, each live transfer includes a **Spoken name** field. This is how the assistant refers to that destination during the call — not the internal name you use in the dashboard.
For example, if the transfer is for your front desk, you might set the spoken name to `front desk`. The assistant can then say something like "I'm going to transfer you to the front desk."
Voice transfers require the new phone system. If your assistant has not yet been migrated, the Voice option may not be available. Contact support if you'd like to be migrated.
## Configure Live Transfers
On the Live Transfer Management page, click **Add Live Transfer** to get started.
You'll see two options:
* **Create New Live Transfer**: Set up a new transfer scenario
* **Use Existing Live Transfer**: Select a transfer already created for another assistant
## Fields Explained
### Live Transfer Name
Add a short, descriptive name for this transfer. This is just for your reference in the dashboard.
### Trigger Phrase
Enter the phrase that the assistant should recognize to initiate the transfer. This might be something like:
`"I'd like to speak to someone"`\
`"Talk to an agent"`\
`"Transfer me to billing"`
Trigger phrases are used by the AI to understand intent, not just exact wording.\
For example, if you enter a trigger phrase like **"speak to an employee,"** the assistant will also recognize variations such as **"talk to a human"** or **"get me to a person."**
### Transfer Pattern
This is the dial pattern the assistant will use to trigger the transfer.
For example:\
`1#` means the user will press 1 followed by the pound key.
### Transfer Phone Number
The phone number the assistant will transfer the call to. Use a valid 10-digit number.
### Reusable
Check this box if you want to make this transfer available to other assistants.
If you don't see an existing live transfer that you already created, check to make sure you have the "reusable" checkbox turned on.
### Availability
Controls when this transfer is offered to callers. Choose one of three modes:
| Mode | When the transfer fires |
| -------------------- | -------------------------------------------------------------------- |
| **Always on** | Every time the trigger is detected, regardless of schedule (default) |
| **During schedule** | Only while the assistant's assigned schedule is open |
| **Outside schedule** | Only while the assistant's assigned schedule is closed |
The schedule itself is configured separately in the **Availability Schedules** tab and assigned per assistant. For reusable transfers, the availability mode is set once on the transfer, but each assistant evaluates it against its own assigned schedule.
If no schedule is assigned to an assistant, transfers set to **During schedule** or **Outside schedule** behave as **Always on** until a schedule is added.
[Learn more about Availability Schedules](/assistant-setup/availability-schedules).
### Response Message
This is what the assistant will say right after the trigger phrase is detected and the transfer begins.\
**Example:** `Press 1 followed by the pound key to be transferred.`
We recommend the wording `press 1 followed by the pound key` since sometimes people forget to press pound
## Warm Transfers
Warm transfers allow your assistant to brief the person receiving the call before or after they connect with the caller. This reduces the need for customers to repeat themselves and makes handoffs feel seamless.
You can configure warm transfer behavior in the settings for each live transfer. When creating or editing a transfer, choose **Warm Handoff** under Transfer Type.
### Staff Briefing (Whisper)
Only the person receiving the call hears a message before the caller connects. The caller does **not** hear this. You can choose between:
* **Static** — a fixed message that plays every time (e.g., "Transferring a caller from AI assistant")
* **AI-Generated** — a prompt that tells the AI what to say, such as "Summarize the conversation quickly, in less than 2 sentences, focusing on what is important for the staff member to know to assist the customer"
### Post-Connection Message
Both the caller and the receiving person hear a message after the call connects. This is useful when transparency is preferred. You can choose between:
* **Static** — a fixed message (e.g., "You are now connected")
* **AI-Generated** — a prompt for the AI to generate a contextual message
### Combination
You can use a whisper **and** a post-connection message together — for example, an AI-generated briefing whispered privately to the staff member, followed by a static "You are now connected" message for both parties.
### Hold Experience
Choose what the caller hears while waiting to be connected during a warm transfer. Options include a ringing tone, hold music, or silence.
### Seconds Before Voicemail Starts
Optionally set a time limit for how long the transfer rings before the call goes to voicemail.
Warm transfers require the new phone system. If your assistant has not yet been migrated, warm transfers will not be available. Contact support if you'd like to be migrated.
### Caller ID Forwarding
How the caller's phone number is forwarded depends on the type of transfer:
| Transfer Type | Forwards Caller ID |
| ---------------------------- | ------------------ |
| Cold transfer | Yes |
| Cold transfer with extension | No |
| Warm transfer | No |
When caller ID cannot be forwarded, the receiving party will see your assistant's phone number instead. The original caller's number is still captured and available in your conversation history, CRM integrations, and email notifications.
## Managing Transfers
Once created, your transfers will appear in the table. You can view:
* Name
* Trigger Phrase
* Transfer Pattern
* Phone Number
* Reusability
* **Availability** — shows the transfer's current mode:
* **Always on** (green chip) — offered 24/7
* **During schedule** (blue chip) — offered when the schedule is open
* **Outside schedule** (yellow chip) — offered when the schedule is closed
* Staff Briefing (active vs inactive)
* Post-Connection (active vs inactive)
* Active Agents
* Actions (edit or delete)
Hovering over the Availability chip shows a schedule summary. For reusable transfers, this includes a breakdown across agents. For single-agent transfers, it shows that agent's day-by-day schedule.
Use the filters above the table to view transfers for a specific assistant or only those marked as reusable.
## Pause Transfers
A **Pause transfers** button in the toolbar lets you temporarily disable all live transfers for one or more assistants — for example, during a holiday or an unexpected staff outage.
When no assistants are paused, the button reads **Pause transfers**. When one or more are paused, it changes to amber and reads **X assistant(s) paused · Manage** so you can see the current state at a glance.
Inside the modal:
* Search for assistants by name
* Toggle individual assistants on or off
* Use **Pause all assistants** to pause or resume everyone at once — the toggle shows a count of how many are currently paused
When transfers are paused for an assistant, no transfers are offered regardless of schedule or availability mode, and callers hear the after-hours message from the assigned schedule. A warning banner appears on the Transfers tab as a reminder.
While paused, remember to update any transfer mentions in your Core Behavior, Knowledge, and Scenarios so the assistant doesn't refer callers to a transfer that isn't available.
[Learn more about pausing transfers and managing schedules](/assistant-setup/availability-schedules).
# Phone
Source: https://docs.replify.ai/assistant-setup/phone
Configure your assistant's phone settings, voice, greeting, and call behavior
## Phone Number
Your assistant is assigned a dedicated phone number for both calls and texts. You can choose a local area code if available.
Changing your area code will generate a new number and release your current one. If you'd like to request a different area code, contact .
## Voice Selection
Choose your assistant's voice from a selection of available options. Each voice has its own tone, accent, and style. You can preview voices before selecting one.
Additional voices are available by expanding the **Additional Voices** section.
## Call Settings
### Phone Greeting
Customize the greeting message that callers hear when they call your phone number. Use the **Play** button to preview your message.
### Allow Callers to Interrupt the Greeting
By default, callers cannot interrupt the assistant's intro greeting. This prevents accidental sounds or background noise from cutting off the opening message.
You can enable this if you want a more interactive experience, but keep in mind it may cause slight stuttering during the intro if the caller speaks too early. Most customers should leave this **off**.
### Language
Select a preferred language or use **Multilingual** to cover English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, Dutch, and more.
If you need a language not listed, email .
### Ambient Audio
Choose optional background audio (like call center noise) to play while the assistant is forming a response.
### Call Forwarding
You can forward calls from your existing phone to your assistant's number when you're on a call or unavailable. Instructions are provided based on your wireless carrier.
## Custom Phone Rules
### Patience
Adjust how long your assistant waits before speaking on a call:
* **Higher patience** gives slower, more natural pacing.
* **Lower patience** results in quicker, snappier replies (but may interrupt).
This only affects response timing, not the content of the response.
Custom phone rules have moved to the [Core Behavior](/assistant-setup/core-behavior) page under the **Behavior Rules** section.
## Call Recording
You can toggle call recording on or off for your assistant. If call recordings are enabled, only the AI portion of the call will be recorded and recordings will stop on live transfer.
**Why can't I record after a live transfer?**\
Replify records the AI-handled portion of calls. After a call is transferred to a human, recording does not continue. This keeps recording behavior more tightly scoped and easier to manage from a privacy and operational standpoint.
## Caller ID after live transfer
When someone calls your assistant and is transferred to your business (for example, a customer calls AI assistant number, asks to speak with the front desk, and is connected to that team), the phone that answers the transfer may **not** show the customer’s original number on caller ID depending on your configuration.
In most cases, your staff will see the caller’s number. It will not appear when either of the following applies to that [live transfer](/assistant-setup/live-transfers):
1. **The transfer destination uses an extension** — for example, the assistant dials your main line plus an extension to reach a specific person or department.
2. **Warm transfers are turned on** for that transfer — see [Warm Transfers](/assistant-setup/live-transfers#warm-transfers).
When caller ID is not forwarded, the receiving phone usually shows **your assistant’s phone number** instead. The customer’s number is still captured in Replify if it was available (conversation history, notifications, and CRM integrations).
For a breakdown by transfer type, see [Caller ID forwarding](/assistant-setup/live-transfers#caller-id-forwarding) on the Live Transfers page.
## Call Continuity
Ensure your customers can always reach you, even in the rare event of a service disruption. Set a custom message and an optional backup number to keep calls flowing.
## Follow-up Text Settings
After a call, a follow-up text is sent to share any links discussed during the conversation. You can customize the first sentence of this message.
The opening line and unsubscribe instructions are required for compliance and cannot be changed at this time.
Include your assistant's phone number or chatbot link so customers know how to reach you again.
# Scenarios Overview
Source: https://docs.replify.ai/assistant-setup/scenarios-overview
Learn what Scenarios are and how they can help automate your assistant's behavior.
## What Are Scenarios?
Scenarios are powerful automations that let your AI assistant take custom actions based on specific triggers. By building scenarios, you can create tailored workflows, like asking different qualifying questions for different types of leads, retrieving appointment availability, scheduling, rescheduling, or cancelling appointments, or calling other external tools via API. They’re flexible, modular, and work across all your assistants.
With scenarios, you can:
* Collect missing info (like phone or email)
* Send a webhook to your internal system
* Vary call flow by specific qualifiers like business location or customer type
## How They Work
Each Scenario includes:
* **Trigger** – When it should run (e.g., user asks to schedule a meeting, user needs details about their appointment)
* **Steps** – What it should do (e.g., ask a question, call an API)
* **Rules** (optional) – Conditions for how the assistant should behave in this scenario
* **Attributes** (optional) – Custom fields for each assistant as it relates to this scenario
You can enable a Scenario for as many assistants as you'd like. You can also keep a Scenario as a draft if it's still in progress.
## Example Use Cases
* Retrieve appointment availability
* Schedule, reschedule, or cancel appointments
* Look up customer details in your CRM, POS or other tool
* Automate customer interactions based on specific needs
## Availability
Scenario Builder is available to **Plus** plan users only.
## Where to Find Scenario Builder
You can access the Scenario Builder by navigating to Manage Scenarios under the **Assistant** dropdown in the top bar header of your customer portal.
## Templates
Pre-built templates provide a quick way to get started with common workflows. Templates automatically configure trigger conditions, steps, and necessary Actions based on your integration settings.
Currently available templates include Cal.com appointment booking for phone calls, with more templates and channels coming soon.
Learn how to use templates in the [Build a Scenario](/assistant-setup/build-a-scenario#using-templates) guide.
## Getting Started
Ready to create your first Scenario? Follow our [step-by-step guide](/assistant-setup/build-a-scenario) to build from scratch or start with a template.
# Text
Source: https://docs.replify.ai/assistant-setup/text
Configure your assistant's text messaging settings
## Phone Number
Your assistant uses the same phone number for both calls and texts. The phone number is managed in [Phone Settings](/assistant-setup/phone).
To edit your phone number, go to [Phone Settings](/assistant-setup/phone).
## Custom Text Rules
Custom text rules have moved to the [Core Behavior](/assistant-setup/core-behavior) page under the **Behavior Rules** section.
## 10DLC Compliance
Be sure to carefully review the [10DLC Compliance Guide](/assistant-setup/text/10DLC-Compliance-Texting) to ensure the timely set-up and ongoing functioning of texting from your Replify AI agent.
# Campaign Templates
Source: https://docs.replify.ai/campaigns/campaign-templates
Choose from pre-built campaign templates or create your own from scratch
## Overview
Campaigns let you reach out to your current or past clients through automated outreach. When creating a campaign, you can start with a pre-built template or build your own from scratch.
There are two types of campaigns:
One-time blasts for announcements and alerts. Each contact is reached once through a single channel (phone, email, or text).
Automated multi-step flows for nurture and growth. Supports multiple channels, multiple outreach attempts, and scheduled follow-ups over days or weeks.
Campaigns are not meant for cold calling or unsolicited outreach. Only reach out to contacts who have opted in to receive communications from your business.
### Simple vs. Ongoing: Which Should I Use?
| | Simple Outreach | Ongoing Sequences |
| ------------------------ | -------------------------------------------------- | ---------------------------------------------------------------- |
| **Best for** | One-time announcements, reminders, or blasts | Nurture flows, follow-up sequences, re-engagement |
| **Channels** | One channel per campaign (phone, email, or text) | One or more channels (phone, email, and/or text) |
| **Outreach per contact** | Each contact is reached once | Multiple outreach attempts with configurable frequency |
| **Scheduling** | Scheduled, manual, or auto when contacts are added | Start/end dates with automated follow-up cadence |
| **Example** | "Send a promo email to all customers this Friday" | "Follow up with inactive leads over 3 weeks via phone and email" |
### Pre-requisites
1. **Plus Tier Required**: You must be on the Plus tier to use campaigns. Visit our Pricing Page or contact to upgrade.
2. **Channel Setup**: Each channel you want to use in a campaign must be enabled on your account. If a channel appears disabled when creating a campaign, hover over it to see why. Contact for help enabling channels.
## Choosing a Template
To get started, navigate to Campaign Manager and click **+ Create Campaign**. You'll see the template selection screen where you can choose between Simple Outreach and Ongoing Sequences.
Each template card shows the template name, a short description, and which channels it uses (e.g., Email, Phone). You can also search for templates using the search bar.
### Channel Requirements
Before selecting a template, make sure the channels listed on the template are enabled on your account. If you select a template that uses a channel you haven't set up, you'll receive an error asking you to enable that channel first.
For example, if a template uses Phone and Email, both channels must be configured in your account settings before you can use that template.
### Using a Template
When you select a pre-built template and click **Use Template**, the campaign creation wizard will open with fields pre-filled based on the template's recommended settings. You'll see a **"Template Defaults Applied"** banner at the top of each step reminding you to review and customize the pre-filled values.
**Review all template defaults before going live.** Some values will automatically fill in with your business name, but others need your input to be accurate — for example, specific promotion details, event dates, or messaging that is unique to your campaign. Always review the pre-filled Additional Instructions and any messaging fields to make sure they reflect your specific use case.
**We strongly recommend testing your campaign with a contact using the Simulate feature before going live.** This ensures the AI's messaging sounds right and that all template values have been properly customized.
### Tips for Customizing Templates
* **Start with the closest match** — Pick the template that's closest to your use case and tweak from there, rather than building from scratch.
* **Review Additional Instructions carefully** — Templates include detailed AI instructions for tone, messaging style, and content. Update these to reflect your specific campaign (e.g., the name of your promotion, relevant dates, or specific offers).
* **Check the channel** — If you'd prefer a different channel than the template default, you can change it in the Delivery & Timing step.
* **Test before going live** — After you save, run **Simulate campaign** from the campaign edit or management view so you hear or read how the AI handles a contact. Adjust instructions if the messaging doesn't sound right.
* **Don't skip Campaign Knowledge** — If contacts might ask questions during a call or reply to an email, add relevant details (promo codes, event info, policies) to Campaign Knowledge so the AI can answer accurately.
### Creating from Scratch
If none of the pre-built templates fit your needs, select **Create from Scratch** and click **Start Building**. All fields will start blank and you'll configure everything yourself during the campaign creation wizard.
## Simple Outreach Templates
Simple outreach templates are designed for one-time campaigns where each contact is reached once through a single channel.
| Template | Description | Channel |
| ------------------------ | ------------------------------------------------------------------------------------- | ------- |
| **Promotional Campaign** | Reach out to your customers to let them know of a one-time promotion. | Email |
| **Event Reminder** | Remind your customers about an upcoming appointment or session. | Email |
| **Past Due Collections** | A one-time past due collections campaign to notify customers of outstanding balances. | Email |
### Example Use Cases
**Promotional Campaign**
* A gym sending an email about a limited-time 50% off membership deal
* A restaurant announcing a new seasonal menu to past customers
* A salon promoting a holiday gift card special
**Event Reminder**
* A yoga studio reminding members about an upcoming workshop
* A dental office sending appointment reminders for the week ahead
* A tutoring center notifying parents about an open house event
**Past Due Collections**
* A fitness studio notifying members about overdue monthly payments
* A service provider sending a one-time reminder about an unpaid invoice
* A membership-based business alerting customers about expiring payment methods
## Ongoing Sequence Templates
Ongoing sequence templates are designed for multi-step campaigns with scheduled follow-ups across one or more channels.
| Template | Description | Channels |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ |
| **Re-Engage Inactive Leads** | Re-engage inactive leads who previously expressed interest but never booked or followed through, and move them toward a conversation or appointment with the front desk. | Phone, Email |
| **Past Due Collections** | Campaign that contacts members with past-due balances. | Phone, Email |
### Example Use Cases
**Re-Engage Inactive Leads**
* A real estate agency following up with leads who attended an open house but never scheduled a viewing
* A fitness studio reaching out to trial members who didn't convert to a full membership
* A consulting firm re-engaging prospects who expressed interest months ago but went quiet
**Past Due Collections (Ongoing)**
* A gym running a multi-week follow-up campaign for members with overdue balances, starting with an email and escalating to a phone call
* A property management company sending periodic reminders about past-due rent with increasing urgency
* A subscription service reaching out to customers with failed payments over a 2-week period via email and phone
## Next Steps
Once you've chosen a template (or decided to create from scratch), head to [Creating a Campaign](/campaigns/creating-a-campaign) for a step-by-step walkthrough of the setup process.
# Creating a Campaign
Source: https://docs.replify.ai/campaigns/creating-a-campaign
Step-by-step guide to setting up simple outreach and ongoing sequence campaigns
## Getting Started
1. Log in to your AI Assistant portal
2. Navigate to **Campaign Manager** in the left navigation bar
3. Click **+ Create Campaign**
4. Choose a template or select **Create from Scratch** (see [Campaign Templates](/campaigns/campaign-templates) for details on available templates)
5. Enter a **Campaign Name** in the popup that appears, then confirm to create the campaign
You can edit the campaign name later in the campaign configuration.
The campaign wizard walks through these panels in order:
1. **Campaign Basics** — Campaign details and schedule (toggle **Multi-Assistant Campaign** here when needed).
2. **Delivery & Timing** — Channels, messaging, and execution settings.
3. **Behavior & Rules** — Knowledge, instructions, and eligibility criteria.
Multi-Assistant adds a fourth panel (**Multi-Assistant Setup**) after **Behavior & Rules** so you can attach other assistants and their customizations. Read [Multi-Assistant Campaigns](/campaigns/multi-assistant-campaigns) for setup.
Save after the final wizard panel—for example via **Save and Manage Campaign**—then use **Simulate campaign** from the campaign **edit or management view** whenever you want to rehearse outreach before contacts are reached.
Make sure all your configuration settings are finalized before going live. Once a campaign is active, you cannot return it to Draft status.
***
## Creating a Simple Campaign
Simple campaigns are designed for one-time outreach where each contact is reached once through a single channel.
### Step 1: Campaign Basics
**Campaign Title** *(required)*: Your campaign name (set during creation, editable here).
**Campaign Description**: Optional internal notes about this campaign.
### Step 2: Delivery & Timing
#### Communication Channel *(required)*
Select **one** channel for outreach: Phone, Email, or Text.
Some communication channels may be disabled. Hover over disabled channels to see why and how to enable them. Consider all legal and compliance requirements per channel to ensure compliance with all applicable laws and regulations in your jurisdiction. You need to get explicit consent from individuals for sending text campaigns.
#### Message Strategy
Choose how you want to create your campaign messages:
* **Write the exact message myself** — Provide the specific message content for your selected channel
* **Let AI generate the message** — The AI will create contextual messages based on your campaign goal
#### Campaign Execution
Choose when you want this campaign to run:
**Run at a specific date & time** — Schedule your campaign to start at a precise date and time. All contacts in the list will be contacted at the scheduled time.
* **Scheduled Date** *(required)*: When the first outreach will be sent (MM/DD/YYYY)
* **Scheduled Time**: Select a specific time or choose "As soon as possible." Time is based on the timezone set in Core Behavior.
After the scheduled date passes, the campaign switches to an "as soon as contacts are added" mode — any new contacts added to the campaign will be reached out to immediately. There is currently no option to re-schedule for a future date.
**Run manually** — You control when outreach is sent. Here's how it works:
1. Complete your campaign configuration and add your contacts
2. Press **Go Live** to mark the campaign as active
3. Click **Start all outreaches** to begin contacting all contacts in the list
4. Once the campaign finishes, you can add new contacts and click **Start all outreaches** again to reach the new contacts
When you re-run a manual campaign, it will also retry contacts that failed during the previous run. If you don't want failed contacts to be retried, remove them from the contact list before starting again. Contacts with a **Completed** status will not be reached out to again.
**Run automatically when contacts are added** — The campaign will automatically reach out to contacts as they are added to the campaign. Outreach is only sent during business hours based on the timezone set in Core Behavior. If a contact is added outside of business hours, the outreach will be sent once business hours resume.
### Step 3: Behavior & Rules
**Campaign Knowledge**: Add details that contacts may ask about during this campaign. Type in a single detail or add multiple items separated by line breaks. Once added, you can search through your knowledge items.
**Additional Instructions**: Provide extra guidance for your AI assistant. You can specify tone (friendly, professional, casual), style preferences, key messages to include, or any other guidance.
### Saving and simulation
After **Behavior & Rules**, save to finish—for example **Save and Manage Campaign**—or finish **Multi-Assistant Setup** when Multi-Assistant is on ([Multi-Assistant Campaigns](/campaigns/multi-assistant-campaigns)).
Use **Simulate campaign** from the campaign edit or management view to rehearse outreach. See [Managing Your Campaign](/campaigns/managing-your-campaign) once the campaign exists.
***
## Creating an Ongoing Campaign
Ongoing campaigns are designed for automated, multi-step outreach with scheduled follow-ups across one or more channels.
### Step 1: Campaign Basics
**Campaign Title** *(required)*: Your campaign name (set during creation, editable here).
**Campaign Goal** *(required)*: Describe what you want this campaign to achieve. The AI will use this goal to generate outreach that helps achieve it.
*Example:* "Drive bookings for upcoming massage or recovery sessions" or "Get members to upgrade to an unlimited plan during our summer sale event."
**Campaign Schedule**:
* **Start Date** *(required)*: When the first outreach will be sent (MM/DD/YYYY)
* **End Date**: Optional. If provided, this will be the last date the AI will send messages.
* **Time of First Outreach**: Specify when the first outreach should occur. Select a specific time or choose "As soon as possible." Time is based on the timezone set in Core Behavior.
### Step 2: Delivery & Timing
#### Communication Channel *(required)*
Select **one or more** channels for outreach: Phone, Email, and/or Text.
Some communication channels may be disabled. Hover over disabled channels to see why and how to enable them. Consider all legal and compliance requirements per channel to ensure compliance with all applicable laws and regulations in your jurisdiction. You need to get explicit consent from individuals for sending text campaigns.
#### Customize First Outreach
**Channel of First Outreach**: Choose which communication channel the AI should use for the first outreach to each contact.
#### Outreach Pacing
Configure how often and how many times the AI reaches out:
**Max Outreach Attempts**: Set the maximum number of times each contact can be messaged or called in this campaign (e.g., 3 attempts per contact before stopping).
**Follow-Up Frequency**: Choose how frequently the AI follows up with contacts:
| Frequency | Interval |
| ---------- | --------------------- |
| Aggressive | Every day |
| Moderate | Every 2 days |
| Balanced | Every 3–4 days |
| Relaxed | Every 7 days |
| Custom | Set your own interval |
### Step 3: Behavior & Rules
**Campaign Knowledge**: Add details that contacts may ask about during this campaign. Type in a single detail or add multiple items separated by line breaks. Once added, you can search through your knowledge items.
**Additional Instructions**: Provide extra guidance for your AI assistant. You can specify tone (friendly, professional, casual), style preferences, key messages to include, or any other guidance.
**Contact Eligibility Criteria**: Define which contacts should be included in this campaign. Describe criteria for determining which contacts qualify for continued outreach.
*Example:* "Anyone who hasn't said no or wants to unsubscribe" or "Contact is an active member and is not in the unlimited plan."
### Saving and simulation
After **Behavior & Rules**, save to finish—for example **Save and Manage Campaign**—or finish **Multi-Assistant Setup** when Multi-Assistant is on ([Multi-Assistant Campaigns](/campaigns/multi-assistant-campaigns)).
Use **Simulate campaign** from the campaign edit or management view to rehearse outreach. See [Managing Your Campaign](/campaigns/managing-your-campaign) once the campaign exists.
***
## Next Steps
After creating your campaign, you'll need to add contacts and manage it. See [Managing Your Campaign](/campaigns/managing-your-campaign) for details on contacts, statuses, manual review, and reporting.
# Managing Your Campaign
Source: https://docs.replify.ai/campaigns/managing-your-campaign
Monitor campaign statuses, manage contacts, review outreach, and track performance
## Campaign Dashboard
After creating a campaign, you'll land on the campaign management view. From here you can manage contacts, review performance, and adjust configuration.
The Campaign Manager shows all your campaigns with key information:
* **Name** — Campaign title
* **Type** — One Time (simple) or Follow-up (ongoing)
* **Contacts** — Number of contacts in the campaign
* **Channels** — Which communication channels are enabled (phone, email, text)
* **Start Date** and **End Date** — Campaign schedule
* **Created** — When the campaign was created
Use the **search bar**, **channel filter**, and **date filter** to find specific campaigns. Switch between the **Current** and **Archived** tabs to view active or archived campaigns.
## Campaign Statuses
Every campaign has a status that indicates where it is in its lifecycle:
| Status | Description |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| **Draft** | Campaign has been created but has not been started yet. You can still edit all settings and configuration. |
| **Active** | Campaign is live and ready for outreach. Depending on the execution mode, outreach may require additional action (see below). |
| **Paused** | Campaign has been temporarily stopped. No outreach will be sent until it is resumed. |
| **Archived** | Campaign has been archived and is no longer active. Visible in the Archived tab. |
### Campaign Lifecycle
Once you activate a campaign by pressing **Go Live**, you cannot return it to Draft status. Make sure all your configuration settings are finalized before going live.
* **Go Live**: From Draft, press **Go Live** to activate your campaign. This is a one-way action — you cannot return to Draft after going live.
* **Pause**: Click the **Pause** button to temporarily stop all outreach. You can resume at any time.
* **Resume**: Unpause a paused campaign to continue sending outreach where it left off.
* **Archive**: Move a completed or no-longer-needed campaign to the Archived tab.
An **Active** campaign does not necessarily mean outreach is happening right now. What happens next depends on the execution mode:
* **Scheduled**: Outreach is sent automatically at the scheduled date and time.
* **Run manually**: You need to click **Start all outreaches** to trigger outreach. The campaign stays active between runs.
* **Run automatically when contacts are added**: Outreach is sent as contacts are added. If there are no contacts in the queue, the campaign is active but idle.
* **Manual Review enabled**: Outreach is planned by the AI but won't be sent until you approve each individual outreach.
## Managing Contacts
The **Contacts** tab lets you add and manage contacts in your campaign.
### Adding Contacts
Click **+ Add Contacts** to choose how to add contacts to your campaign. Contacts are deduplicated based on phone first and email secondarily.
The Add Contacts panel has two sections:
* **Add contacts now** — Upload CSV, Add manually
* **Automated sources** — Inbound contacts toggle, Email import, API integration
#### Import Actions
When creating an import configuration — whether via CSV upload or Email import — you choose how incoming contacts are handled with one of five import actions:
| Action | Description |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Add New** | Only add contacts not already in the campaign; skip existing ones. |
| **Add & Update** | Add new contacts and update existing ones. |
| **Update** | Update existing contacts only; ignore contacts not already in the campaign. |
| **Reconcile** | Sync the full list each import: adds new contacts, updates existing ones, and removes contacts not present in the file. |
| **Remove** | Remove contacts found in the file from the campaign. |
#### Upload CSV
Import contacts from a CSV file with custom field mapping.
**CSV Requirements:**
* First row should contain column headers
* Required fields: Name, Phone or Email
* Maximum 10,000 contacts per upload
Drag and drop your CSV file or click **browse** to upload from your computer. Then choose an [import action](#import-actions) to control how the contacts are handled.
For **organization-wide** campaigns, the uploader includes **Assistant Routing** (labeled **ORG-WIDE** in the product). The same routing options apply when you set up **Import via Email** using a sample CSV—see [Assistant routing (organization-wide)](#assistant-routing-organization-wide).
#### Import via Email
Send CSV files to a unique campaign email address for automatic import. This is useful for recurring imports or when you want to send contacts from another system without remapping columns each time.
**How to use:**
1. Click **Email import** under **Automated sources** and create a new import configuration
2. Enter a **Configuration name** to identify this configuration
3. Set **Authorized senders** — only emails from these addresses will be processed
4. Choose an [import action](#import-actions) to control how contacts are handled
5. Upload a sample CSV file and map your columns to system fields (name, email, phone, and custom properties)
6. For **organization-wide** campaigns, configure **Assistant Routing** the same way as a direct CSV upload ([Assistant routing](#assistant-routing-organization-wide))
7. Save the configuration — future CSV files sent to the campaign email address will automatically use these settings
8. Track import status in the import history
#### Assistant routing (organization-wide)
When a campaign spans multiple assistants (**ORG-WIDE**), **Add contacts** shows **Assistant Routing**: *Choose how contacts in this CSV should be assigned to assistants.* You’ll see this when uploading a CSV directly **and** when you load a sample CSV for **Import via Email**. [**External IDs**](/account-management/multiple-assistants#external-ids-crm-syncing) must already be configured in **Manage Assistants** so routing has keys and values to match.
Pick one of three modes:
| Mode | What you configure |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Single assistant** | One assistant for **every row** — all contacts attach to your selection (“Every contact in this CSV will be added to the selected assistant”). |
| **Route by ID column** | **Assistant column** — which CSV column holds the CRM values to match.
**Match against** — which configured **assistant external ID key** those values correspond to (for example picking `hubspotId` from your Manage Assistants definitions). Summary in product: select the CSV column and the external ID **key** to match against. |
| **Route by columns** | **Assistant external id key column** — CSV column with the external ID **name** per row.
**Assistant external id value column** — CSV column with the external ID **value** per row (each row pairs its own key and value against Manage Assistants). |
Programmatic uploads use the same pairing idea as **`externalIdKey`** / **`externalIdValue`** in the [Campaign Service API](/api-reference/campaigns/manage-campaign-contacts).
#### API Integration
The campaign shows an API URL in the portal for programmatic contact sync from your CRM or database.
**Read the [Campaign Service API](/api-reference/campaigns/manage-campaign-contacts)** for authentication, request body, optional **`externalIdKey`** / **`externalIdValue`**, examples, and errors.
On **Multi-Assistant** campaigns, define **external IDs** per assistant in [**Manage Assistants**](/account-management/multiple-assistants#external-ids-crm-syncing) before wiring up imports.
#### Via Zapier
If you use Zapier, you can add contacts to a campaign with the **Add Person to Campaign** action in the `help247.ai` Zapier app — no direct API calls required.
**To set this up:**
1. In Zapier, add an action step and choose `help247.ai` as the app.
2. Select **Add Person to Campaign** as the action event.
3. Connect your account using any Zapier ID for your organization. See [Zapier IDs](/integrations/zapier-crm-integration#zapier-ids) for where to find yours.
4. In the **Configure** step, fill in the required fields: **Campaign ID**, **Account ID**, and **First Name**, plus at least one of **email** or **phone**.
5. Optionally map **Last Name**, **email**, **phone**, **External ID Key**, and **External ID Value** for deduplication or assistant routing.
Find your **Campaign ID** and **Account ID** on the campaign's contact upload page in the portal, or from your account manager.
#### Inbound Contacts
Automatically add new contacts that call or message your AI assistant if they match your contact eligibility criteria. Toggle **Add new inbound contacts** to enable.
#### Add Contacts Manually
Enter contact details by hand. Fill in the first name, last name, email, and phone number. You can also add custom properties using **+ Add Custom Property**.
### Contact Statuses
Each contact in a campaign has a status that indicates their current state:
| Status | Description |
| ---------------------- | ------------------------------------------------------------------------------------------------ |
| **Planning** | The AI is currently planning the next outreach for this contact. |
| **Awaiting execution** | Outreach has been planned and the contact is queued, waiting for outreach to be sent. |
| **Executing** | Outreach is actively being sent to this contact. |
| **Completed** | All outreach for this contact has been completed. This contact will not be reached out to again. |
| **Disqualified** | Contact has been disqualified from the campaign based on eligibility criteria or other factors. |
| **Disabled** | Contact has been individually paused within the campaign. |
| **Campaign paused** | The campaign itself is paused, so no outreach is being sent. |
When Manual Review is enabled, contacts will show **Awaiting approval** instead of **Awaiting execution**. This means the outreach has been planned and is waiting for your approval before being sent.
### Contact Details
Click on any contact to open the detail panel, which shows:
* Contact information (name, email, phone)
* Current status and number of attempts
* Progress through the campaign (e.g., 4/10 attempts)
* Response history
* **Next Scheduled Outreach** — Preview of the next message, including channel, date/time, subject, and body
* **Outreach History** — A log of all past outreach attempts and their outcomes
From the contact detail panel, you can also **Edit** upcoming outreach, **Simulate** the next interaction, **Pause** the contact, **Re-evaluate** their eligibility, or **Remove** them from the campaign.
## Manual Review
If you want to approve each outreach before it's sent, toggle **Manual Review** on in the campaign view.
When Manual Review is enabled:
* Contact statuses will show **Awaiting approval** instead of **Awaiting execution**
* Click on a contact to preview the outreach the AI has generated
* Choose **Approve** to confirm the outreach, or **Edit** to make changes before sending
* Use **Execute all approved** to send all approved outreaches at once
Manual Review is useful when you want to verify the AI's messaging before it reaches your contacts, especially during the early stages of a campaign.
## Performance & Reports
The **Performance** tab provides analytics and insights about your campaign, including:
* Outreach statistics
* Contact engagement metrics
* Response rates by channel
## Campaign Configuration
The **Configuration** tab shows a read-only summary of your campaign settings so you can quickly review your setup without navigating back to the edit screen. This is especially useful once a campaign is active, since configuration cannot be edited after going live.
## Simulating Your Campaign
You can use the **Simulate** button at any time to test how your campaign would interact with a contact. This runs a simulation without actually sending any outreach, so you can safely verify your messaging and configuration.
During a simulation, you can also send in example responses to see how the AI will reply to follow-up messages from the customer. This is useful for testing how the AI handles questions, objections, or other responses beyond the initial outreach.
# Multi-Assistant Campaigns
Source: https://docs.replify.ai/campaigns/multi-assistant-campaigns
Attach every assistant that should participate to one Multi-Assistant Campaign—shared scheduling and messaging, per-assistant details where they differ.
Organizations with more than one assistant—different brands, regions, or offers—often used to rebuild the **same outreach** separately on **each assistant**: repeat the wizard, reconcile copy and timing by hand, and take each assistant live on its own while trying to prevent drift between locations. **Multi-Assistant Campaigns** replace that with **one campaign** that carries the shared backbone (timing, channels, core strategy, eligibility) while each assistant only receives the deltas that genuinely differ.
That means fewer duplicate builds, tighter alignment wherever messaging should match, and a clearer place to set **pricing**, promo **URLs**, tone, facts, or **placeholders** per assistant instead of juggling parallel campaigns.
This page is a companion to [Creating a Campaign](/campaigns/creating-a-campaign) and [Managing Your Campaign](/campaigns/managing-your-campaign). Start there for the full setup walkthrough; come back here when you want to add or manage Multi-Assistant on a campaign.
## Why Use Multi-Assistant Campaigns?
* **Single source of truth** — Every attached assistant runs from the same campaign record; you are not maintaining many nearly identical copies in parallel.
* **Local control without redundant work** — Branch only where it matters (rules, knowledge, assistant-specific fields) while the rest of the plan stays identical.
* **Clear ownership and reporting** — See which assistants are on the campaign and how contacts and performance split by assistant.
* **Staged go-live** — Bring **Go Live** online for one assistant first, validate deliverability and content, then expand—instead of an all-at-once cutover everywhere.
## Turning On Multi-Assistant Mode
When you create or edit a campaign, open **Campaign Basics**. You will see **Multi-Assistant Campaign** with short help text about Multi-Assistant.
Switch it on if you want more than one assistant to use this campaign.
After you save, you **cannot** turn Multi-Assistant off and go back to a single-assistant-only version of this campaign. Choose this when you are sure you want the campaign shared in this way.
Saving with Multi-Assistant enabled adds **Multi-Assistant Setup** as the **fourth** panel in the builder, after **Campaign Basics**, **Delivery & Timing**, and **Behavior & Rules**. There you choose assistants and add any assistant-specific details. Save when finished, then run **Simulate campaign** from the campaign edit or management view when you want to test.
## Sharing a campaign from the list
On your campaign list, open **Share campaign**:
1. Turn on **Shared with other assistants**.
2. Choose the other assistants to include. The assistant you are working as today stays on the campaign; you add teammates with the switches.
Sharing **cannot be undone**. Once a campaign is shared in this way, it stays a Multi-Assistant Campaign.
### If an assistant is grayed out
Every assistant on the campaign must be able to use all the channels this campaign uses—phone, email, text, or whichever you selected. If something is not set up yet, that assistant may appear disabled until you enable the missing channel in **Settings** for that assistant. The tooltip usually explains what is missing.
## Building the Campaign (Multi-Assistant)
When Multi-Assistant is on, the wizard flows like this:
Name, goal, schedule, and the **Multi-Assistant Campaign** option—the same basics as in [Creating a Campaign](/campaigns/creating-a-campaign).
Channels, messages, and how the campaign runs.
Shared knowledge, instructions, and eligibility rules for the whole campaign.
Which assistants participate, plus any per-assistant differences: extra instructions, extra knowledge, or assistant-specific wording where needed.
### Optional settings for each assistant
Here you can fine-tune this assistant only without changing the rest of the campaign:
* **Custom rules** — Tone, offers, reminders, or location-specific details (for example a different price or promo) that apply when this assistant runs the campaign.
* **Custom knowledge** — Facts that matter for this assistant or brand line, on top of the main **Campaign Knowledge**.
* **Assistant-specific fields** — When messages use placeholders (membership links, registration URLs, addresses, or other values that differ by assistant), fill in only what belongs to **this** assistant so each location keeps the correct destination.
The Behavior & Rules step still sets the baseline for all assistants on the campaign; these options add what each assistant needs on top of that.
### Channels stay consistent
You choose the campaign’s channels once. Every assistant you include has to be able to send on those channels—when sharing the campaign and before you turn the campaign on.
## Finding campaigns in Campaign Manager
Above the campaign table, use the visibility control:
* **All Campaigns** — Everything your organization can see.
* **This Agent** — Campaigns for the assistant you have selected right now.
* **Shared Only** — Multi-Assistant Campaigns only (shared with more than one assistant).
In All Campaigns, some rows may look lighter or muted when they are not focused on the assistant you are viewing—so you still get a full picture without losing track of what you are working on today.
## The Assistants tab (follow-up campaigns)
For follow-up campaigns that use Multi-Assistant, you will see an **Assistants** tab next to **Contacts**, **Performance**, and the rest.
Use it to:
* See which assistants are part of the campaign.
* Spot who still needs a bit of setup before you can turn things on for them.
* Finish any per-assistant details (for example required fields under **Multi-Assistant Setup** or **Assistants**) that you still owe.
## Going live
**Go Live** on a Multi-Assistant Campaign starts real outreach for **simple** (one-time) and **follow-up** (ongoing) campaigns. Execution follows each campaign type’s rules (scheduled sends, manual runs when contacts are added, and similar options).
You will find **Go Live** in the campaign’s management area (same area as other actions described in [Managing Your Campaign](/campaigns/managing-your-campaign)).
### After you go live
You will be reminded that most settings can no longer be edited once the campaign is live—or follow the same **Draft** vs **Active** guidance you use for other campaigns.
The campaign can show as active even if not every assistant has been turned on yet. See the next section.
### If Go Live is not available yet
The button stays inactive when:
* The campaign is archived.
* Something in the builder is still incomplete—hover the button for hints, often with a path back to the right step.
* On a Multi-Assistant Campaign, nobody is ready to turn on yet (for example required per-assistant details are still missing).
### Single-assistant vs Multi-Assistant
* Single-assistant campaign — You usually see a simple confirmation, for example **Go Live!**
* Multi-Assistant Campaign — You may see **Select Assistants to Go Live**. You tick the assistants you want to start now; you do not have to select every assistant.
Each line in that list is one assistant:
* Already live — That assistant is already running; nothing more to do here.
* Ready — Required details are filled; you can include them in this go-live.
* Needs details — Finish the missing information (often under **Multi-Assistant Setup** or **Assistants**) before the box can be checked. Hover to see what is missing.
Use **Select all** to choose every assistant who is ready. You need at least one assistant selected to confirm.
Roll out gradually if you like: go live for one assistant today, finish setup for another assistant next week, and click **Go Live** again for whoever is left.
If something is still missing, you will be asked to finish the required details before you continue. For **Draft**, **Active**, **Paused**, and **Archived**, keep using [Managing Your Campaign](/campaigns/managing-your-campaign).
## Contacts and results
The **Contacts** tab often shows which assistant each person belongs to and lets you filter by that assistant on a Multi-Assistant Campaign. That makes handoffs and follow-up easier.
CRM **external IDs** for matching each contact to an assistant start in [**Manage Assistants**](/account-management/multiple-assistants#external-ids-crm-syncing).
* **CSV (direct upload)** and [**Import via Email**](/campaigns/managing-your-campaign#import-via-email) — **[Assistant routing (organization-wide)](/campaigns/managing-your-campaign#assistant-routing-organization-wide)** covers both flows.
* **API** — Field names and examples are only in the [Campaign Service API](/api-reference/campaigns/manage-campaign-contacts).
The **Performance** tab lets you compare results by assistant, so you can evaluate assistants or brands side by side.
# Analysis Settings
Source: https://docs.replify.ai/conversations/analysis-settings
Define analysis fields and rules after conversations, and stored on contacts or conversations, with optional org-wide or per-assistant rules.
## What this feature is
Analysis Settings is
where you configure analysis fields: values your AI generates after a
conversation ends. Those values can be attached to the person’s contact profile
or to the conversation itself depending on how you set each field up.
You describe what to extract or compute using rules (natural-language instructions). Rules can be reused across assistants so you define logic once instead of copying the same instructions into every assistant.
If you used Replify before this upgrade, this page replaces the older “Custom
Summary Instructions”, "Custom Qualification Instructions", and "Custom Next
Step Instructions" experience. See [How this relates to the old Analysis
Settings](#how-this-relates-to-the-old-analysis-settings) below.
## Video walkthrough
This narrated tutorial walks through Analysis Settings step by step.
## Why it’s valuable
* One rule, many assistants: Set an org-wide default or share override logic where it makes sense, instead of duplicating long prompts on each assistant.
* Structured outputs: Fields have names, types, and update behavior so outputs stay consistent for your team and downstream tools.
* Automations and CRMs: Custom fields can flow through your [Zapier integration](/integrations/zapier-crm-integration) so you can branch workflows, update records, or run post-processing outside Replify.
## How this relates to the old Analysis Settings
Previously, Analysis Settings focused on three global custom instruction blocks for your assistant (qualification, conversation summary, and next steps). That worked, but the instructions lived per assistant and were easy to repeat or drift out of sync across a large team of assistants.
The upgraded Analysis Settings keeps those ideas, you still guide how the AI interprets conversations, but expresses them as fields and rules you can reuse across assistants.
Migration: Your existing Analysis Settings were migrated automatically into this new experience, the prior custom instructions carry forward as rules on the appropriate fields, so you should not need to recreate them by hand.
## Destinations: Contact vs Conversation
Use destinations based on who or what should “hold” the value:
| Destination | Choose this when… |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Contact | The value describes the person across visits (e.g., lead score, membership intent, tags). It belongs on their contact profile so it stays with them over time. |
| Conversation | The value is specific to this chat, text, email, or call (e.g., “reason for contacting us today” ). Use when the answer might change the next time they reach out. |
## System vs custom fields
| | System fields | Custom fields |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Who manages them | Provided by the platform; core behaviors stay aligned with Replify. | You create and own them for your org’s workflow. |
| Editing field definition | You cannot edit the field definition—properties like name, key, type, where it saves, update mode, and timing are fixed for each system field. | You choose name, key, type, destination, update mode, and timing when you create the field and can edit them later (within product limits). |
| Rules | Each system field includes a default rule that defines baseline behavior. You cannot change that default itself; instead you add rules that override it when you need instructions that better match your business or a subset of assistants—see [Assigning rules](#assigning-rules-org-default-vs-assistant-override). | You add rules and assign them org-wide or to specific assistants. |
If you’re unsure, start from system fields for standard signals and add custom
fields only when you need something unique to your business.
## Assigning rules: org default vs assistant override
For system fields, your override rules sit on top of the field’s built-in default rule. For custom fields, every rule is one you author.
When you create or edit a rule, you choose how widely it applies:
* Org default — One canonical prompt for that field across your organization (unless an override applies).
* Assistant override — Applies only to specific assistants you pick. Use when one assistant needs different wording or criteria than the rest.
This is how you stop duplicating the same block of instructions on every assistant: write the rule once, assign it as the default or to the assistants that need an exception.
## Creating a new custom field (what each input means)
When you create a field, you’ll fill in details like the following.
| Input | What it’s for |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name | Display name used to find your Analysis Field more easily on the Analysis Settings (e.g., “Lead temperature”). |
| Key | A stable identifier for integrations and exports. This must be unique, and will be used in the Zapier integration along with the derived value. |
| Description | Optional context for your team so everyone knows what the field is supposed to capture. |
| Data type | What shape the value takes, e.g., text, number, yes/no, dates/times, or a structured object (think json). |
| Saves to | Contact or Conversation—see [Destinations](#destinations-contact-vs-conversation-plain-english). |
| Update mode | Replace (overwrite), Add to existing (append when it makes sense), or Only if empty (Only write if not provided already). |
| Timing | Immediate vs Standard. Use Immediate when the value must be ready right away for automations (e.g., Zapier); Standard when a short delay is fine (generally less than 15 seconds after a conversation ends). You can only create up to 5 custom Immediate fields. |
After the field exists, you add rules (prompts) and assignments as described above.
## How to use it (day-to-day)
1. Open Settings → Analysis Settings, or go directly to Analysis Settings in the app.
2. Use search and filters to find fields by source (System vs Custom), destination (Contact vs Conversation), or timing (Immediate vs Standard).
3. Switch between Active and Inactive lists to manage fields you’ve turned off versus ones in use.
4. Click a field to open its detail panel. For custom fields, edit field settings and rules as needed. For system fields, the field definition is read-only—use rules to layer overrides on top of the built-in default rule.
5. Use Create field when you need a new custom field.
### View rule output in the Inbox
The practical way to test a new or updated rule, especially a custom rule, is to run a new conversation the rule applies to, then open that thread in the Inbox.
Analysis values appear under “Custom Analysis Fields”:
* In the Conversation Details section for that conversation, and
* In the Contact detail panel on the right (for values stored on the contact).
Use those spots to confirm the AI produced the output you expected before you rely on it in Zapier or downstream workflows.
### Assistants tab
An Assistants tab may appear for future functionality that will continue to improve the experience.
## Ideas for what to use it for
* Sales and routing — Capture qualification, urgency, or product interest once, reuse everywhere.
* Operations — Session-specific notes on the conversation vs durable traits on the contact.
* Automation — Push custom field values to Zapier for CRM updates, Slack alerts, or spreadsheet logging.
After big changes, run a few test conversations and check “Custom Analysis
Fields” in the Inbox (conversation details and contact panel) so the right
values land on the contact vs conversation, then verify any Zap you rely on.
## What else you should know
Covering common questions so nothing important is buried:
* Turning fields off — You can disable custom fields when you no longer want them filled on future conversations; historical values will remain visible where they were already saved.
* Zapier — Custom fields are the usual hook for post-processing outside Replify, e.g. if something specific happens in a conversation, then handle that conversation differently, using these custom fields to route.
* Testing rules — There isn’t a separate “preview” required in Settings: add or edit your rule, complete a test conversation, then confirm values under “Custom Analysis Fields” in the Inbox—see [View rule output in the Inbox](#view-rule-output-in-the-inbox).
# Contacts
Source: https://docs.replify.ai/conversations/contacts
Manage and review all conversations and leads captured by your AI assistant
## Overview
The **Contacts** page is your built-in CRM. Every time someone engages with your AI assistant—whether by phone, email, text, or chat—they’re automatically added to this list.
Conversations from the same email or phone number will be grouped under a single contact. You can also manually add contacts by clicking the **Add Contact** button.
From the Contacts table, you can view, search, sort, and filter contacts. You can also customize which columns are visible using the **Show Columns** control.
## Columns You Can Display
You can choose which fields appear in the contact list view:
* Name
* Email
* Phone
* Source (e.g., chatbot, phone, email)
* Qualification (qualified/disqualified)
* Status (e.g., new, follow up)
* Address
* City
* State/Province
* Zip Code
* Country
* Last Activity
* Actions
To enable or disable any column, click the **Show Columns** icon above the contact table.
## Contact Details
Clicking on a contact opens their full profile. This includes:
* Contact info and engagement source
* Qualification status
* Summary of past conversations
* AI-generated recommended next steps
* Address fields (optional)
* Status tracking (e.g. New, Followed Up, Closed)
* Internal notes you or your team have added
## Conversations and Transcripts
Each contact has a full history of their conversations. For each interaction, you can:
* View the summary
* Review recommended next steps
* See whether a voicemail was left or a link was sent
* Open the transcript (or call recording, if applicable)
## Managing Your Contacts
To stay organized, you can:
* Assign statuses (e.g. “Needs Follow-Up”) to contacts
* Add internal notes to log context or reminders
* Sort or filter by qualification or last activity
* Export contact information and lead details from [Reports](/conversations/reports#export-data)
Use the Status and Notes features to prioritize follow-up and avoid missing high-value leads.
# Notifications
Source: https://docs.replify.ai/conversations/notifications
Configure lead alerts to your phone or email
## Overview
You can control how and when you’re notified about new conversations from your assistant. You can choose to be notified by email, text, or both, and decide whether alerts are sent for all conversations or only qualified leads.
## How You’ll Be Notified
Under **How do you want to be notified**, you can choose from:
* **Email** — Send notifications to one or more email addresses
* **Text** — Send notifications to a phone number via SMS
* **Email and Text** — Send both email and SMS alerts
## When You’ll Be Notified
Under **When do you want to be notified**, choose:
* **Only with qualified leads** – You’ll only be notified if the assistant identifies the person as a qualified lead (e.g. they express interest, share contact info, and meet your criteria).
* **After all chats** – You’ll receive notifications for every completed conversation, whether qualified or not.
You can customize what qualifies a lead by adjusting your criteria in
[Analysis Settings](/conversations/analysis-settings).
# Reports
Source: https://docs.replify.ai/conversations/reports
View assistant performance charts and export conversation, contact, and usage data
## Overview
Reports shows how your assistants are performing and lets you download data when you need it outside the portal.
## Charts and metrics
Open Reports from the main navigation to see summary metrics and charts for your selected assistants and date range.
At the top:
* Total conversations
* Conversations with contact info provided
* Qualified leads
You’ll also see charts for conversations by channel, contacts by qualification status, conversations by channel by week, and conversations by date.
Use the date range control to change the period for all metrics and charts.
If qualified lead counts look low, review your qualification rules or update knowledge and responses in your assistant.
## Export data
In the top right, open the AI Assistant Reporting menu and choose Export data.
Set your filters:
* Date range
* Direction (inbound or outbound)
* Assistants
* Channels
Then choose what to download:
| Export | Contents |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Conversation history | Raw conversation data with timestamps and metadata. For phone calls, includes live transfer destinations and URLs sent at the end of the call when applicable. |
| Contact data | Contact information and lead details for your filtered set. |
| Usage analytics | Engagement metrics, response times, and usage statistics. |
# Setup Guidance
Source: https://docs.replify.ai/getting-started/setup-guidance
Getting started with your AI assistant is super easy. Follow these steps to set up and customize your assistant.
## Book a Demo
To access the Replify portal, schedule a demo with our team by clicking "Schedule a Demo" at [replify.ai](https://replify.ai).
## Basic Setup Checklist
Once you've registered and completed any required demos, follow these steps to optimize your assistant. Each link below leads to the related setup guide.
1. [Train your assistant](/assistant-setup/knowledge): Provide your website and add FAQs so your assistant can help your customers.
2. [Guide your assistant](/assistant-setup/core-behavior): Provide goals, questions to ask, links to share, and more.
3. [Set up your phone number](/assistant-setup/phone): Choose an area code, intro message, and more.
4. [Set up live transfers](/assistant-setup/live-transfers): Set when you want to transfer callers to another phone number.
5. [Set up your chatbot](/assistant-setup/chatbot): Choose a logo, intro message, and more.
6. [Set up your email](/assistant-setup/email): Choose your email, set a footer, and more.
7. [Set up notifications](/conversations/notifications): Choose how you want to be notified for new interactions.
8. [Connect to your CRM (optional)](/integrations/zapier-crm-integration): Send new leads to your existing CRM or spreadsheet using Zapier.
9. **Launch**: Add your chatbot, email, and phone number to your website, and/or forward calls to your AI assistant's phone number.
# API Keys
Source: https://docs.replify.ai/integrations/api-keys
Create and manage API keys to integrate with platform services
## Overview
API keys allow you to programmatically integrate with platform services. You can create and manage API keys from the API Key Management page in your organization settings.
**Plus Plan Only:** API key management is available only for Plus plan users.
## Creating an API Key
1. Navigate to API Key Management in your organization settings
2. Click **+ Create new API key**
3. Give your API key a descriptive name (e.g., "Campaign integration" or "Outbound calls")
4. Copy the secret key immediately — you won't be able to see it again after creation
**Important:** Make sure to copy your API key immediately after creation. The full key is only displayed once, and you won't be able to retrieve it later. If you lose your key, you'll need to create a new one.
## API Key Limits
You can add up to **10 different API keys** per organization. This allows you to create separate keys for different integrations or team members.
## Using Your API Key
The same API key works for all supported Replify APIs. Send your key in the **`x-api-key`** header on every request. For JSON endpoints, also send `Content-Type: application/json`.
See the [API overview](/api-reference/overview) for available APIs, authentication details, and how to send feedback. Endpoint references live under the **API Documentation** tab.
**Available today:**
* **[Campaign Service API](/api-reference/campaigns/manage-campaign-contacts)** — manage campaign contacts programmatically.
* **[Outbound Phone Calling API](/api-reference/outbound-calling/initiate-outbound-call)** — schedule immediate one-off outbound calls.
## Managing API Keys
From the API Key Management page, you can:
* **View** all your API keys with their names and creation dates
* **Delete** API keys using the trash icon (⚠️ this action cannot be undone)
The secret key itself is masked for security purposes (e.g., `eu_********jH9g`) and cannot be viewed after initial creation.
## Security Best Practices
* Store your API keys securely — treat them like passwords
* Don't share API keys in code repositories or public places
* Rotate keys periodically for better security
* Delete unused API keys to reduce risk
# Emma Email Integration
Source: https://docs.replify.ai/integrations/emma-integration
Configure Emma to send emails from campaigns through your external email account
## Overview
The Emma integration allows you to send emails from campaigns through your external email account to your customers. This integration connects your Emma email marketing platform with platform campaigns.
## Prerequisites
* An active Emma account
* Plus plan subscription
## How It Works
When configured, the Emma integration enables your campaigns to send emails using templates from your Emma account. Configuration happens in two places:
1. **Connected Apps page** — Connect your Emma account with connection name, public key, and private key on the Connected Apps
page
2. **Campaign page** — Specify campaign-specific details that tell the campaign which Emma template to use
## Setup Instructions
### Step 1: Connect Your Emma Account
1. Navigate to the Connected Apps
page in your organization settings
2. In the **Send from external emails** section, click **+ Add connection**
3. Enter your Emma account configuration:
* **Connection Name** — A descriptive name to differentiate this integration (e.g., "Marketing Team Emma Account")
* **Public Key** — Your Emma account username
* **Private Key** — Your Emma account password
4. Save the connection
### Step 2: Configure Campaign Settings
Once your Emma account is connected, configure each campaign to use specific Emma templates:
1. Navigate to your campaign in the Campaign Manager
2. In the campaign settings, find the **Emma Integration** section
3. Configure the following fields:
* **Account ID** — Your Emma account ID
* **Event Type** — The Event Type ID you want to use for the campaign (configured through Emma)
* **Send Email** — The ID of the email address you want your campaign to send from (configured through Emma)
* **Template ID** — The specific Emma template ID to use for this campaign
These parameters tell the campaign which template from your Emma account to use when sending emails.
## Template Configuration
Each campaign can use a different Emma template, allowing you to customize email content per campaign. Make sure the template IDs you specify exist in your Emma account.
## Troubleshooting
If emails aren't sending correctly, verify:
* Your Emma credentials are correct on the Connected Apps
page
* The template ID exists in your Emma account
* The account ID matches your Emma account
* Email sending is enabled for the campaign
For additional help, contact
.
# CRM Integration
Source: https://docs.replify.ai/integrations/zapier-crm-integration
Integrate your assistant with your existing CRM or lead management system using Zapier
## Overview
Although your AI assistant includes a built-in CRM for managing leads, you may prefer to sync that data into a system your team already uses, like Salesforce, HubSpot, Google Sheets, or thousands of other tools.
We enable this via a [Zapier](https://zapier.com) integration, which allows you to send new leads from your assistant directly into the platform of your choice.
If you need help setting this up, reach out to .
## How It Works
Zapier is a platform that connects thousands of apps together, no code required. It works by letting you set up "Zaps," which are workflows triggered by events. In this case, the event is a new lead captured by your assistant, and the action is sending that lead into your CRM.
We provide a Zapier-compatible API key that powers this connection using our `help247.ai` Zapier app.
The `help247.ai` Zapier app supports two capabilities: it can send leads and
conversation data from your AI assistant into your CRM or other tools, and it
can add contacts to a campaign directly from a Zap (see [Adding Contacts to
Campaigns](#adding-contacts-to-campaigns) below). In both cases, the
integration is one-way — Replify sends data out, but does not receive data
back from Zapier or any connected CRM.
## Supported Tools
Zapier integrates with thousands of popular platforms, including:
* CRMs like Salesforce, HubSpot, Zoho CRM, Pipedrive, Copper, Freshsales
* Spreadsheets like Google Sheets, Microsoft Excel
* Communication tools like Slack, Gmail, Mailchimp
* Task managers like Trello, ClickUp, Asana
You can explore all supported integrations here:
[https://zapier.com/apps](https://zapier.com/apps)
## Zapier IDs
To connect Zapier, you need a **Zapier ID**. This is the credential you enter when Zapier asks for your API key—it tells the `help247.ai` app which assistant or assistants should send leads into your Zap.
### One Zap for multiple assistants
If your account has more than one assistant, you do not need a separate Zap for each one. You can assign the same Zapier ID to several assistants so they all feed into a single Zap:
1. Go to the Connected Apps page in your organization settings.
2. Select the assistants you want to include.
3. Click **Edit**.
4. Choose the Zapier ID you want to assign to all selected assistants.
Every assistant you selected will share that Zapier ID. When you set up your Zap in Zapier, connect using this shared ID once; new leads from any of those assistants will trigger the same workflow.
Use a shared Zapier ID when you want one CRM destination for your whole
account. Use separate IDs only if different assistants should send leads to
different Zaps or destinations.
### Per-assistant Zapier ID
You can still use a dedicated Zapier ID for a single assistant. Open that assistant in the portal, go to the Notifications page, and copy the API key shown there. Use that key when connecting that assistant in Zapier.
## Setup Instructions
Follow these steps to connect one or more assistants to your CRM using Zapier.
### Step 1: Sign up for Zapier
Create a free account at [zapier.com](https://zapier.com). Zapier lets you build "Zaps" to automate lead transfers.
### Step 2: Create a New Zap
Once logged in, click Create Zap in the top-left. Then click the Trigger section.
### Step 3: Select `help247.ai` as the Trigger App
Search for `help247.ai` and select it. This is the app that sends leads from your AI assistant.
### Step 4: Connect Your Account with Your Zapier ID
Zapier will prompt you for an API key. Enter the **Zapier ID** for the assistant or assistants you want this Zap to cover:
* **Multiple assistants, one Zap** — Use the shared Zapier ID you assigned on Connected Apps (see [One Zap for multiple assistants](#one-zap-for-multiple-assistants) above).
* **Single assistant** — Copy that assistant's Zapier ID from the Notifications page in the AI assistant portal.
If you can't find your Zapier ID, email for help.
On Connected Apps, you can also
view each assistant's account IDs. Some destination apps may ask for an
account ID in addition to your Zapier ID.
### Step 5: Choose the Trigger Event
Choose the New Lead trigger.
### Step 6: Choose Your Destination App
Now choose the app you want leads sent to. Examples:
* Google Sheets
* Event: Create Spreadsheet Row
* Salesforce
* Event: Create Record
* HubSpot
* Event: Create Contact
### Step 7: Map the Fields
Zapier will ask you to map each lead field from your assistant to fields in your CRM or app.
For example:
| AI Assistant Field | Destination Field |
| ------------------ | ----------------- |
| `name` | Full Name |
| `email` | Email Address |
| `phone` | Phone Number |
| `notes` | Lead Notes |
### Step 8: Test & Publish
Zapier will offer a test to make sure everything works as expected. If the test is successful, click Publish.
Once published, your Zap is live. Every time a connected assistant captures a new lead, that contact will automatically flow into your CRM.
## Adding Contacts to Campaigns
In addition to sending leads out to your CRM, the `help247.ai` Zapier app also lets you push contacts **into** a Replify campaign. Use the **Add Person to Campaign** action to enroll contacts from any Zapier-connected tool — a form submission, a spreadsheet row, a CRM event, and so on.
### How it works
1. In Zapier, add an action step and choose `help247.ai` as the app.
2. Select **Add Person to Campaign** as the action event.
3. Under **Account**, connect using any Zapier ID for your organization — it does not need to be tied to a specific assistant, just any valid ID on the account. See [Zapier IDs](#zapier-ids) above for where to find yours.
4. In the **Configure** step, fill in:
| Field | Required | Description |
| --------------------- | -------- | ---------------------------------------------------------------------- |
| **Campaign ID** | Yes | The ID of the campaign to add the contact to. |
| **Account ID** | Yes | Your organization's account ID (available on the Connected Apps page). |
| **First Name** | Yes | Contact's first name. |
| **Last Name** | No | Contact's last name. |
| **email** | No\* | Contact's email address. |
| **phone** | No\* | Contact's phone number. |
| **External ID Key** | No | External ID key for assistant routing on multi-assistant campaigns. |
| **External ID Value** | No | Corresponding value for the external ID key. |
\*At least one of email or phone is recommended for deduplication.
This is a convenient alternative to calling the [Campaign Service API](/api-reference/campaigns/manage-campaign-contacts) directly — Zapier handles the authentication and field mapping for you.
# Product Notices
Source: https://docs.replify.ai/whats-new/product-notices
Important updates, changes, and announcements about your Replify account. We’ll post here whenever something affects how you log in, configure your assistant, or manage your account.
## Phone System Upgrade
### What's happening?
We're upgrading our phone system to deliver better voice quality and new features like [warm transfers](/assistant-setup/live-transfers#warm-transfers). We'll be migrating all customers to the new system over the coming weeks.
### What you'll notice
* **Improved voice quality** — smoother, more natural-sounding conversations
* **Warm transfers** — your assistant can now brief the person receiving a transferred call before or after the connection, so your customers don't have to repeat themselves. [Learn more](/assistant-setup/live-transfers#warm-transfers).
* **Intro interruption control** — a new setting on the [Phone](/assistant-setup/phone) page lets you choose whether callers can interrupt the assistant's greeting
### What to know during the transition
* If your assistant hasn't been migrated yet, warm transfers and some newer features won't be available.
* **Outbound phone calls via API** are not yet available on the new system. If you currently use API-triggered outbound calls, your assistant will remain on the current system until this is rebuilt. Outbound calls through [Campaigns](/campaigns/campaign-templates) are not affected.
If you have questions about the migration or want to check your assistant's status, reach out to .
***
## Account Update: New Login URL
### What changed?
We’ve updated the URL where you access your Replify account to [https://app.replify.ai](https://app.replify.ai)
Don't forget to bookmark this new link!
### What this means for you:
• Your AI assistant email (for example: `{your-business-name}@mylibby.ai`) is **not changing**\
• Your account, data, and settings all stay the same\
• Your existing chatbot links will continue to work for now
### What we recommend updating for chatbot users:
**Embedded Chatbot:** If you've embedded the chatbot code directly into your website, you'll need to create a new custom link and update the embedded JavaScript code to use the new URL.
**Direct Links:** If you've shared your chatbot as a direct link (hyperlink) anywhere - such as in social media bios, website links, email signatures, or other places where people click a URL to open the chatbot, you'll need to create a new custom link and update those links.
**To update your chatbot URL:**
1. Go to Chatbot Settings
2. Customize your new chatbot URL (you can choose your own custom link), and save.
3. Update your chatbot implementation:
* **For embedded chatbots:** Either change the `window.baseUrl` in your existing embedded code to the new URL, or copy the full new JavaScript snippet from the chatbot settings page and replace the old code on your website.
* **For direct links:** Copy the new link and update it wherever you've shared the old chatbot link (social media bios, website links, email signatures, etc.)
The new URL format will look like this: **`https://myreplify.ai/c/{your-custom-link}`**
Older heylibby.ai chatbot links will continue to redirect for now, but they'll eventually be retired. We recommend updating to the new format as soon as possible.
### Need help?
If you have any questions, you can reach out to support at .
# Product Releases
Source: https://docs.replify.ai/whats-new/product-releases
New releases and improvements
## Live transfer availability scheduling
You can now control when live transfers are offered based on your business hours. This prevents transfers from being presented to callers when no one is available to answer.
**Availability Schedules** is a new tab on the Live Transfer Management page where you can:
* Create named schedules with day-by-day business hours (e.g., Mon-Fri 9am-6pm)
* Assign a schedule to one or more assistants, or set one as the org-wide default
* Configure an after-hours message the assistant reads when transfers are unavailable
Each live transfer now has an **Availability** setting with three modes:
* **Always on** — offered every time the trigger is detected, regardless of schedule (default)
* **During schedule** — only offered while the assistant's assigned schedule is open
* **Outside schedule** — only offered while the schedule is closed, useful for after-hours support or emergency lines
The Transfers tab also shows a schedule strip below the assistant selector so you can see and manage the assigned schedule without leaving the page. A **Pause transfers** button lets you temporarily disable all transfers for an assistant — for example, during a holiday or unexpected closure.
[Learn more about Availability Schedules](/assistant-setup/availability-schedules).
## Knowledge scheduling
You can now set a start and end date on individual knowledge items to control exactly when they are active.
* **Schedule a single item** — Select a knowledge item, then click the **clock icon** under Actions. Choose a start time, an end time, or both. Both fields are optional:
* Start only — the item stays off until the start time, then remains active indefinitely.
* End only — the item is active now and turns off at the end time.
* Both — the item activates at the start time and deactivates at the end time.
* **Bulk scheduling** — Select multiple knowledge items and use the bulk clock action to apply a shared schedule to all of them at once. Any schedule you set in bulk will overwrite each selected item's existing schedule.
Each knowledge item can have at most one start and end date at a time.
[Learn more about knowledge scheduling](/assistant-setup/knowledge#scheduling-knowledge-items).
## Improved campaign contact uploads
When uploading contacts to a campaign via CSV or Import via Email, you can now choose exactly how those contacts are handled with five import actions:
* **Add New** — Only add contacts not already in the campaign; skip existing ones.
* **Add & Update** — Add new contacts and update existing ones.
* **Update** — Update existing contacts only; ignore contacts not already in the campaign.
* **Reconcile** — Sync the full list each import: adds new contacts, updates existing ones, and removes contacts not present in the file.
* **Remove** — Remove contacts found in the file from the campaign.
You can also save your import configuration — including column mapping and import action — so future uploads to the same campaign automatically use the same settings. This is especially useful for recurring imports where you do not want to remap columns every time.
## Intelligent hang-up
Calls now end cleanly, every time. When the assistant detects extended silence or audio it can't transcribe, it wraps up the call automatically — no more runaway conversations. It also handles callers who say goodbye but forget to hang up, bringing those interactions to a graceful close. The result is a more natural, human-like experience where calls don't linger past their welcome.
## Campaign improvements
* The Rules prompt now supports rich formatting (titles, bullet points, spacing) to help the AI follow rules more accurately.
* External IDs are now easier to find within the Campaign UI, along with general UI improvements.
* Updated how response metrics are calculated on the campaign page — more accurately captures who has replied to an AI outreach.
## Copy all knowledge
A new **Copy knowledge** button on the Knowledge page lets you copy all knowledge items from all sets active for a selected assistant to your clipboard in one action. Select the assistant, choose whether to include active items only, inactive items only, or all items, then click **Copy to clipboard**. Use it to review knowledge across sets, spot conflicting or duplicate items, and decide what to keep, update, or remove without having to open each set individually.
[Learn more about copying knowledge](/assistant-setup/knowledge#copying-knowledge-items).
## Export data from Reports
From **Reports**, use the top-right dropdown under **AI Assistant Reporting** and choose **Export data** to open the export view. Set date range, direction (inbound vs outbound), assistants, and channels, then download one of:
* **Conversation history** — raw conversation data with timestamps and metadata, including live transfer destinations and URLs sent at the end of a phone call when applicable.
* **Contact data** — contact information and lead details for the filtered set.
* **Usage analytics** — engagement metrics, response times, and usage statistics.
[Learn more about Reports and exports](/conversations/reports).
## Voice live transfers (Transfer Trigger Mode)
Turn on Transfer Trigger Mode on [Live Transfers](/assistant-setup/live-transfers) so callers can reach your existing transfer scenarios by saying something similar to the trigger phrase—no keypad required. Keypad entry still works when they prefer it, which helps callers who are driving or cannot press buttons easily.
With voice enabled org-wide, each transfer also gets a spoken name so the assistant can refer to the destination naturally in conversation (for example, “I’m going to transfer you to the front desk”).
[Learn more about Transfer Trigger Mode](/assistant-setup/live-transfers#transfer-trigger-mode).
## Dashboard charts for phone calls
The Dashboard now includes two charts that break down phone-call outcomes by assistant:
* Links sent at the end of a call — see which links your assistants sent when wrapping up phone conversations.
* Live transfer destinations — see where callers were transferred, broken out per assistant.
Use the date range and assistant filters to compare locations or brands.
## Custom user permissions
Customer administrators can now set different permission levels for each user on the account instead of giving everyone full Admin access.
* **Admin** — unchanged full access to all features and settings.
* **Limited Access** — choose what each person can see and change. For every area (capability), set **None**, **Read**, or **Edit**—for example read-only access to the Inbox and Reporting without access to assistant configuration or billing.
Your account must always keep at least one Admin. Invite and edit users from [Manage Team](/account-management/manage-users); capability names in the edit dialog match the areas they unlock in the portal. [Learn more about permissions and access](/account-management/manage-users#user-permissions-and-access).
## Outbound calling API
The new [Outbound Phone Calling API](/api-reference/outbound-calling/initiate-outbound-call) lets you place a single outbound call right away with one request. Pass your assistant `agentId`, the callee’s phone number, and either `introMessage` and `voicemailMessage` together or `callInstructions` on their own.
Use the same API key and `x-api-key` authentication as the [Campaign Service API](/api-reference/campaigns/manage-campaign-contacts). This replaces the [legacy outbound API](/api-documentation/outbound-phone-calling-api-legacy)—migrate by July 1, 2026. See the [API overview](/api-reference/overview) for keys and base URL.
## Analysis Fields
Analysis Fields give you custom slots the AI fills in after a conversation ends—on top of (or instead of) the usual qualification, summary, and next-steps output. You define what each field means and how it should be answered, and the model returns structured values you can act on.
That opens up a lot of practical uses:
* Tailored post-call data — ask for a short recap, a numeric score or rating, sentiment, readiness to buy, or anything else your team tracks in a spreadsheet or CRM.
* Your own topic lists — supply the categories or themes you care about (for example product lines, objections, or reasons for the call) and have the AI parse the conversation against them.
* Shape output for downstream tools — control how responses are formatted so they line up with how another system expects data (columns, enums, bullets, plain text vs. tighter labels—you set the guidance).
* Send it to your CRM via Zapier — connect the analysis payload through Zapier (or similar automation) so those fields land on leads, tickets, or custom objects without copy-paste.
If you already use [Analysis Settings](/conversations/analysis-settings), start there to add fields and prompts; the portal guides each field separately so you can build as few or as many as you need.
## Multi-Assistant Campaigns
Run one campaign across every assistant that should participate, instead of cloning and rebuilding it separately on each assistant.
* Single plan — shared scheduling, channels, core messaging, and eligibility for all participating assistants.
* Per-assistant differences — pricing, URLs, wording, extra knowledge, or rules where locations or brands diverge, without parallel duplicate campaigns.
* Staged Go Live — start with one assistant, confirm messaging and channels, then widen when ready.
Turn this on via Multi-Assistant Campaign in Campaign Basics, or share an existing draft from Share campaign on the campaign list. Choosing Multi-Assistant (or sharing assistants in) is permanent after you save—the campaign cannot revert to single-assistant-only. [Learn more](/campaigns/multi-assistant-campaigns).
## Inbox improvements
* Filters — filter the Inbox by channel and by date range.
* Search in timeline — when you search on a keyword, you can jump through matches in the conversation timeline instead of scrolling manually.
* Small screens — improved layout when you use a phone or a narrow viewport.
## Campaign improvements
* CSV uploads now support separate name columns — when uploading contacts via CSV, you can now map separate first name and last name columns.
* New API actions — the Campaign Contact API now supports `updateOnly` and `upsert` actions. Use `updateOnly` when you have a process that updates contacts but might include contacts that aren't in the campaign and you don't want them added. If no action is specified, the API defaults to `upsert`.
* Change contact status in the UI — you can now change a campaign contact's status to Complete or Disqualified directly from the contact list.
* Simulate from the edit view — the Simulate button is now available at the bottom of the edit campaign view for quicker testing.
## Chatbot improvements
* Links shared by your assistant in the chatbot now display as friendly clickable text instead of raw URLs.
* Fixed an issue where long URLs would extend beyond the chatbot window.
## Reporting page refresh
The Reporting page has been updated to match our newer portal designs for a cleaner, more consistent experience.
## New phone system
We're rolling out a major upgrade to our phone system. It brings better voice quality, new transfer capabilities, and a stronger foundation for future phone features. See our [Product Notice](/whats-new/product-notices#phone-system-upgrade) for full details on what to expect during the transition.
### Improved voice quality
Calls now sound more natural with smoother tone across sentences, better pauses, and more consistent intonation.
### Warm transfers
Your assistant can now brief the person receiving a transferred call before or after the connection. This means your customers don't have to repeat themselves when they're handed off to a human. You can configure a private staff briefing (only the receiving person hears it), a post-connection message (both parties hear it), or a combination of both. [Learn more about warm transfers](/assistant-setup/live-transfers#warm-transfers).
### Intro interruption control
A new setting on the [Phone](/assistant-setup/phone) page lets you choose whether callers can interrupt the assistant's greeting. This is off by default for a cleaner experience.
## Call recording update
Call recordings now capture only the AI-handled portion of a call. Once a call is transferred to a human via live transfer, recording stops automatically. This applies to all accounts. We made this change because it's the cleaner model — the AI portion is still recorded, which preserves the operational value. Once the call moves to a human, the conversation can go in many directions, so recording is turned off to reduce unnecessary capture of information.
## Append mode for bulk edits
When using [Bulk Edits](/account-management/bulk-edits) to update rules fields (like Global Conversation Rules or Phone Rules), you can now choose to append text instead of replacing it entirely. This makes it much easier to add a new rule across multiple assistants without overwriting what's already there.
## Jump to latest message in Inbox
You can now jump to the most recent message in a conversation thread. This is especially helpful for longer conversations where you need to quickly get back to the bottom.
## Campaign improvements
* Weekend outreaches — campaign outreaches can now be sent on weekends.
* Text message guidance — when writing your first outreach text, the editor now provides guidance to help you write effective messages. Common link shorteners are blocked, your business name is required near the start of the message, and messages are limited to 240 characters. These guardrails help improve delivery rates and reduce the chance of carriers flagging messages as spam.
* Clearer scheduling behavior — if a campaign's start date is in the future, the UI now clearly explains that you cannot manually trigger outreaches until that date arrives.
## Bulk edit assistants
You can now update key settings for multiple assistants at once from Manage Assistants. View details for how to make these changes in [Bulk Edits](/account-management/bulk-edits). Instead of opening each assistant one by one, you can select several assistants, click Edit, and make shared updates in a single flow.
Bulk Edit supports updates across the main settings areas you'd expect, including:
* Core Behavior
* Chatbot settings
* Phone settings
* Notification settings
## Better Select All in Knowledge
[Knowledge](/assistant-setup/knowledge) now has better Select All functionality, making it easier to work with larger knowledge sets. You can quickly select every item in a set at once, which makes bulk cleanup and maintenance much faster.
## Rearrange scenario steps more easily
In [Scenarios](/assistant-setup/scenarios-overview), scenario steps can now be moved around. This makes it easier to go back and insert a step in the middle of an existing flow, reorder steps as your process changes, and refine a scenario without rebuilding it from scratch.
## More control and visibility in campaigns
We've made campaign contacts much easier to work with by adding stronger sorting and filtering tools, along with clearer status visibility across campaigns.
You can now:
* Sort and filter contacts by status
* View each contact's next scheduled outreach
* Filter contacts by upload type
* Filter contacts by a specific contact upload
* More easily see whether a campaign is active or still in draft with the new Status column
We've also added more contextual guidance to help make it clearer what still needs to be updated in a campaign.
## New campaign manager
Campaigns have been completely redesigned with a new UI for both one-time and follow-up campaigns. You can now create campaigns from pre-built templates or start from scratch. [Learn more about campaigns](/campaigns/campaign-templates).
One-time campaigns now support phone, text, and email — and you can choose how your campaign runs:
* Scheduled — set a date and time for all contacts to be reached
* Run when contacts are added — outreach begins automatically as contacts are added
* Manual — trigger outreach whenever you're ready
Follow-up campaigns also have the new UI with template support and an improved configuration flow.
## Settings reorganization
We've reorganized some settings to make them easier to find.
* [Core Behavior](/assistant-setup/core-behavior) — Basic Info and Agent Preferences have been combined into one page. Channel-specific conversation rules have also been moved here. An alert in the original locations will point you to the new spot.
* [Analysis Settings](/conversations/analysis-settings) — Custom qualification, summary, and next steps instructions now live on their own dedicated page focused on post-conversation analysis.
## Email settings update
The Email Settings page now has an updated Email Address section that lets you view, copy, and edit your current email address in one place.
## Option to stop call recording on live transfer or remove recordings entirely
Phone settings now include an option to automatically stop call recordings when a call is transferred to a live agent. This helps teams avoid recording the portion of a call that happens after handoff. You can also now turn recordings off entirely for calls.
## Add extensions to live transfers
You can now include an extension when configuring a live transfer number by adding a comma and the extension digits. For example, `12065551234,3` will transfer directly to extension `3`.
## Important Links moved to Chatbot settings
We've moved Important Links from the Agent Preferences page to the Chatbot Settings page. These URLs configured in Chatbot Settings cannot be referenced in conversation. If you want your assistant to consistently use key URLs in conversation, add them to a Knowledge Set by creating a knowledge item (for example: `Membership signup link: https://…`).
## Knowledge set cloning is more intuitive
When cloning a knowledge set, you can now rename it before saving and you'll land directly on the edit page after creation.
## Manage Assistants page refresh
The Manage Assistants page has been updated to match our newer portal designs for a cleaner, more consistent experience.