---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/segment/connections/destinations/catalog/actions-voiceops#article
headline: Voiceops (Actions) Destination
description: Connect the Voiceops (Actions) destination to Twilio Segment to send Call Completed events and call metadata to Voiceops for conversation intelligence.
url: https://www.twilio.com/docs/segment/connections/destinations/catalog/actions-voiceops
inLanguage: en
dateModified: 2026-06-09T02:36:11.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# Voiceops (Actions) Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Voiceops** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)
* This integration is **partner owned.** Please reach out to the partner's support for any issues.
* This destination is **Beta.**

[Voiceops](https://www.voiceops.com/?utm_source=segmentio\&utm_medium=docs\&utm_campaign=partners) helps businesses turn customer conversations into structured intelligence, automated workflows, and actionable insights across sales, CX, product, and operations.

Voiceops maintains this destination. If you encounter issues, [contact the Voiceops team](mailto:sales@voiceops.com).

## Getting started

To set up the Voiceops (Actions) destination, follow these steps:

1. From your workspace's [destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog), search for `Voiceops`.
2. Select **Voiceops** and click **Add destination**.
3. Select an existing source to connect to Voiceops (Actions).
4. Contact your Voiceops representative, or email [sales@voiceops.com](mailto:sales@voiceops.com), to obtain your Voiceops access token.
5. Enter the **Access Token** in the Voiceops destination settings in Segment.
6. Enable the prebuilt **Send Call Completed** mapping, or create a custom mapping using the Voiceops call payload.

## Destination Settings

| Field        | Description                                                                             | Required | Type     |
| ------------ | --------------------------------------------------------------------------------------- | -------- | -------- |
| Access Token | Your Voiceops access token.                                                             | Yes      | password |
| Base URL     | Your Voiceops base URL. Defaults to https://projectfrontline.net when omitted or blank. | No       | string   |

## Available Presets

Voiceops has the following presets

| Preset Name         | Trigger                                           | Default Action      |
| ------------------- | ------------------------------------------------- | ------------------- |
| Send Call Completed | Event type = "track" and event = "Call Completed" | Send Call Completed |

## Available Actions

Build your own Mappings. Combine supported [triggers](/docs/segment/connections/destinations/actions/#components-of-a-destination-action) with the following Voiceops-supported actions:

> \[!NOTE]
>
> Individual destination instances support a maximum of 5 mappings.

* [Send Call Completed](#send-call-completed)
* [Update Call Metadata](#update-call-metadata)

### Send Call Completed

Send a completed call event to Voiceops using the canonical Voiceops call payload.

Send Call Completed is a **Cloud** action. The default Trigger is `type = "track" and event = "Call Completed"`

| Field           | Description                                                                                                                                       | Required | Type   |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------ |
| Call ID         | The external call identifier used by Voiceops.                                                                                                    | Yes      | STRING |
| Call Started At | The call start time as a Unix timestamp in seconds, for example \`1712683200\`.                                                                   | Yes      | STRING |
| Agent Email     | The email address for the primary handling agent.                                                                                                 | Yes      | STRING |
| Recording URL   | A direct URI to the call recording file, for example \`https://example.com/audio.wav\`.                                                           | Yes      | STRING |
| First Name      | The first name for the primary handling agent.                                                                                                    | No       | STRING |
| Last Name       | The last name for the primary handling agent.                                                                                                     | No       | STRING |
| Channels        | Optional channel metadata for multi-channel audio-aware integrations. Use this when you can provide precise channel-based conference bridge data. | No       | OBJECT |
| Agent Legs      | Optional warm-transfer metadata for agent handoff windows. Use this when you cannot provide channel-based multi-channel recording data.           | No       | OBJECT |
| Extra Metadata  | Additional call metadata to forward to Voiceops unchanged.                                                                                        | No       | OBJECT |

### Update Call Metadata

Send a complete call metadata snapshot to reconcile with a recording received before or after this event. No recording URL or agent email is required.

Update Call Metadata is a **Cloud** action. The default Trigger is `type = "track" and event = "Call Completed"`

| Field             | Description                                                                                                                                                                                                                                                             | Required | Type   |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------ |
| Call ID           | The same external call identifier sent with the recording. Use up to 100 letters, numbers, dots, hyphens, or underscores.                                                                                                                                               | Yes      | STRING |
| Call Completed At | The completion event time as a 10-digit Unix timestamp in seconds. Voiceops uses this to order metadata snapshots. Map Regal completed\_at here; do not use the delivery or retry time.                                                                                 | Yes      | STRING |
| Extra Metadata    | A nonempty, complete snapshot of call metadata, such as disposition and contact phone. Map individual metadata fields here. Do not include call\_id, call\_started\_at, recording\_url, agent\_email, channels, agentLegs, voiceops\_segment\_source\_call\_id, source. | Yes      | OBJECT |

## Supported event and payload requirements

The prebuilt Voiceops mapping listens for a `Track` event named `Call Completed`.

The **Send Call Completed** action expects these required fields in the mapped payload:

* `Call ID`
* `Call Started At`
* `Agent Email`
* `Recording URL`

`Call Started At` must be a 10-digit Unix timestamp in seconds.

If you include warm-transfer metadata, send only one of the following in a single payload:

* `Channels`
* `Agent Legs`

### Additional requirements

* `Channels[*].Identifier` must be an email address when `Channels[*].Type` is `HANDLING_AGENT`
* `Agent Legs[*].First Name` and `Agent Legs[*].First Name` are required for every agent leg
* `Recording URL` must be a direct, reachable URL to the recording file
* `Extra Metadata` can be included to forward additional call metadata to Voiceops unchanged

If your source event uses a different event name or field structure, create a custom mapping instead of relying on the default preset.

## Engage

You can send computed traits and audiences generated using [Engage](/docs/segment/engage) to this destination as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/contact/demo).

For user-property destinations, an [identify](/docs/segment/connections/spec/identify/) call is sent to the destination for each user being added and removed. The property name is the snake\_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.
