This guide covers the shared Mitel infrastructure required by both the Interaction Parking for Voice AI Handoff and Interaction Parking for Voice Assist guides. Complete this guide before proceeding to either of those.
This guide assumes you are confident in setting up a Hunt Group, allocating IVR ports, and debugging workflow issues in YourSite Explorer. Adapt the workflow steps to your specific environment and requirements.
Introduction
Interaction Parking is Talkative's preferred method for passing metadata — interaction context, console URLs, destination routing — when transferring calls between the Voice AI system and your contact centre. It replaces the Mitel Transfer Tool approach.
Parking spaces are allocated and managed within Talkative. When a call is transferred, a free slot is claimed, interaction metadata is stored against it, and the slot number is used as the identifier for a subsequent REST API call from your MCX workflow to retrieve that data and route the call correctly.
Setup overview:
- Set up a Hunt Group in MiVB
- Decide how many speed call extensions to use as parking spaces
- Configure those speed calls in MiVB
- Create a Parking Lot in Talkative
- Generate an API key in Talkative
- Build the Hunt Group Workflow in YourSite Explorer
- Configure custom variables in the workflow
- Configure the REST process to call the Talkative API
Setting up a Hunt Group
Navigate to User & Devices → Group Programming → Hunt Groups and select Add.
Most MiVB installations have default Class of Service configurations — the Messaging Port class (103) is a suitable starting point. After creating the hunt group, assign IVR ports to it to handle multiple concurrent calls.
Note that a ring group pointing to an existing workflow is also a valid approach — use whichever fits best with your existing Mitel setup.
Deciding How Many Speed Call Extensions to Use
The approach described here uses system speed calls to dial into the hunt group IVR. If you have an existing IVR workflow that would be more appropriate to route through, you may choose to leverage that instead — the key requirement is simply that each parking space extension triggers the workflow that calls the Talkative API.
Parking spaces are created using system speed calls that dial into the hunt group IVR. The number of spaces you need is determined by your expected call volume and concurrency.
A parking slot is only occupied for approximately 2 seconds — just long enough for the SIP Refer or Dial to fire, the workflow to retrieve the metadata, and the slot to be cleared. This means you need fewer slots than you might expect.
We recommend allowing room for future expansion. For example, if you configure spaces at extensions 1000–1025, keep 1026–1099 free.
Parking spaces do not need to be per-queue — the destination is passed as metadata and resolved dynamically by the workflow, so a single pool of parking spaces can serve multiple queues.
Setting up Speed Calls in MiVB
Navigate to System Properties → System Feature Settings → System Speed Calls and select Add.
Speed calls can be added one at a time or imported via CSV. Each speed call should target the hunt port created in the previous step.
Voice Assist only: If configuring for Voice Assist, these extension numbers must also be configured in SIP Peer Profile Assignment by Incoming DID to ensure the incoming SIP Dial hits the correct Peer Profile and does not return a 404.
Using system speed calls pointed at a hunt group means the DNIS in the workflow correctly reports as the speed call number — this is the identifier used to query the Talkative API for the associated parking slot metadata.
Creating a Parking Lot in Talkative
Navigate to Settings → Parking Lots and click Create Parking Lot.
Field | Description |
Label | Internal identifier for this parking lot |
Prefix (optional) | Prepended to each slot number to form the full extension dialled. For example, a prefix of +44123456 with slot 1000 becomes +441234561000. Not required for MiVB — leave blank. Useful for systems such as OpenScape where the full E.164 number is needed. |
Starting Key | The key the parking attendant iterates from when allocating slots |
Number of Slots | Number of parking spaces — should comfortably support your expected concurrent call volume |
Timeout (minutes) | Auto-vacates a slot after this time — handles calls abandoned before the transfer or workflow fires |
Generate an API Key in Talkative
Navigate to Settings → API Tokens and create a new token. This key is used in the REST request from your MCX workflow to retrieve interaction metadata from Talkative.
Tokens are tied to the user that creates them and are long-lived (10 years). Create the token under a shared group account rather than an individual user account — deleting the user also deletes the token, which will break the workflow. The creating user must have account holder permissions.
Hunt Group Workflow
In YourSite Explorer, navigate to IVR Routing → Workflows and create a new incoming voice IVR workflow. Add the following components in sequence:
- Answer component
- Hunt Group component — untick "Add each row as a separate branch" and add the dialable hunt group number
- Execute component — for the REST web request to Talkative (configured in the sections below)
- Transfer component — dynamically transfers the call to the destination returned by the API
You may wish to create fallback solution to ensure calls are called in case of issues with the workflow. This workflow may also provide an alert somewhere that the workflow needs to be reviewed. It’s recommended not to do this during setup to make it easier to identify issues and not have them be masked by the fallback.
Custom Variables
Before configuring the Execute step, create the following custom variables in the workflow. Navigate to the Transfer element → Properties → ··· → Variables tab → Add.
Variable | Purpose |
Destination | Maps the target destination returned by the API — used by the Transfer component |
Console URL | The URL to view the active interaction in Talkative |
History URL | The interaction log URL for the completed interaction |
Additional variables | Map any other interaction data returned by the API as required |
Workflow Process (REST Request)
Create a Web Service process (type: REST) to make the API call to Talkative. Configure it as follows.
API URL:
https://{region}.engage.app/api/core/v1/parking-lots/{lotId}/parking-lot-slot/{dnis}Parameter | Description |
region | Your Talkative region (eu, us, au, euc) |
lotId | The numeric ID shown in the URL when editing the parking lot in Talkative |
dnis | Substituted dynamically with the DNIS/slot variable — retrieving the metadata also clears the slot |
Set the Authorization header to Bearer {apiKey} using the token generated in the previous step.
Map the API response to your workflow variables:
Response field | Variable |
destination | Destination — used by the Transfer component |
url | Console URL |
historyUrl | History URL |
(additional fields) | Any further interaction data variables as required |
Always map at minimum the Console URL and History URL. These allow agents to view the live interaction in Talkative and access the interaction log after the call completes.
Known issue — YSE double request: Some YourSite Explorer instances make a duplicate request when clicking Execute during configuration, which can cause output mapping to fail or return an empty payload. If you encounter this, use the test endpoint https://mitel-mapper-test-xwknfzmz.on-forge.com/demo to complete the output mapping, then revert the URL to the correct Talkative endpoint. If you are still unable to map output fields, raise a support ticket.
Once this guide is complete, proceed to:
- Interaction Parking for Voice AI Handoff — to configure your Voice Bot transfer tool
- Interaction Parking for Voice Assist — to configure Voice Assist and external routing rules
If you encounter issues after setup, refer to:
- Interaction Parking: Workflow Debugging — diagnosing transfer failures, API errors, and workflow routing issues