Migrate from Extend to Unify
Heedify supports migrating call flows from the Extend model to the Unify model with one Teams PowerShell command per call flow, built on Microsoft Teams Phone Extensibility and Azure Communication Services (ACS). Heedify prepares every call flow and every agent for Unify in advance, so nothing is deleted or recreated: the call flow, its phone number, its queues, its agents and its analytics history stay the same. When you migrate several call flows, the command can be scripted for all their resource accounts at once.
Why move to Unify
- Future-proof: Unify is built on Teams Phone Extensibility, Microsoft’s model for contact center solutions in Microsoft Teams.
- No dual call pop-up for attendants: with the CX Attendant or CX Experience licence, the call notification pops up in the Heedify Attendant console only, not also in the Teams client.
- Desktop application: the Heedify Agent Console is available as a desktop app for Windows and macOS. See Desktop App.
- Call context in Teams: agents who answer in Microsoft Teams (CX Essentials and CX Elevate licences) see the caller name, a call subject, a customer record link and call details in the Teams notification and call panel. See Agent context.
- Workflows: event-driven Workflows run on Unify call flows only. They connect a call flow to your CRM or business tools from the portal, without custom integration code.
What changes and what does not
| Stays the same | Changes |
|---|---|
| The phone number and the Teams resource account | The Teams application the resource account points to (Unify instead of Extend) and its ACS resource |
| The call flow and its whole configuration: greeting, open hours, routing, agent context, workflows | Agents sign in to the Agent Console at https://unify.heedify.io |
| The call flow’s analytics history | CX Attendant and CX Experience agents receive calls in the Agent Console |
| Entities, queues, agents, media and variables |
CX Essentials and CX Elevate agents keep answering calls in Microsoft Teams. Extend and Unify call flows run side by side in the same tenant, so you can migrate gradually.
Before you start
- Review the Unify Model Requirements and grant the Unify permissions.
- Make sure you can run Teams PowerShell with a Teams administrator account.
- List the call flows to migrate. For each one, open Call Flows, then the Resources Account tab, and note the resource account and the Region.
- Plan each migration outside business hours: the number does not answer while Teams applies the change.
- Tell the agents of the affected queues that they will sign in at https://unify.heedify.io.
Migrate a call flow
- Note the resource account and the Region of the call flow, on its Resources Account tab.
-
Point the resource account to Unify. Run in Teams PowerShell, with the ACS resource that matches the Region:
Connect-MicrosoftTeams Set-CsOnlineApplicationInstance -Identity "acme_desk@acme.com" -ApplicationId 13dc7c3d-b71b-4568-a68e-ac31df943617 -AcsResourceId <AcsResourceId-for-your-region>Region AcsResourceId Europe (EU) 3e7944ef-8a11-4125-8f92-8ff40adf1272America (AMER) 6bfbd5b3-013b-443f-ac56-75d75d730dd6Asia-Pacific (APAC) 261317e9-8295-4b2f-8541-4f22e00fe879 - Check the resource account. It must still have a Microsoft Teams Phone Resource Account licence and a voice routing policy.
- Move the agents. The agents of the flow’s queues sign in to the Agent Console at https://unify.heedify.io.
- Test. Call the number, check that it rings for an available agent, then check that the call appears in the Realtime Dashboard and in Reports.
Running the command with the ACS resource of another region produces no error: the call flow never rings. Use the row that matches the Region shown on the Resources Account tab.
Migrate several call flows
List the resource accounts in a CSV file with the region of each call flow:
UserPrincipalName,Region
sales_desk@acme.com,EU
support_desk@acme.com,EU
us_desk@acme.com,AMER
Then run:
Connect-MicrosoftTeams
$acs = @{
EU = "3e7944ef-8a11-4125-8f92-8ff40adf1272"
AMER = "6bfbd5b3-013b-443f-ac56-75d75d730dd6"
APAC = "261317e9-8295-4b2f-8541-4f22e00fe879"
}
Import-Csv .\resource-accounts.csv | ForEach-Object {
Set-CsOnlineApplicationInstance -Identity $_.UserPrincipalName `
-ApplicationId 13dc7c3d-b71b-4568-a68e-ac31df943617 `
-AcsResourceId $acs[$_.Region]
Write-Host "Done: $($_.UserPrincipalName) ($($_.Region))"
}
The Region in the CSV must match the Region of the call flow. Then test each number (step 5).
Roll back a call flow
To return a call flow to Extend, run Set-CsOnlineApplicationInstance on its resource account with the Extend application ID 2ad91f01-bf93-4313-89f1-cb201229e7db. The call flow and its configuration are unchanged. Contact Heedify support if the number does not ring after a rollback.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| The number does not ring after the command | The command used the ACS resource of another region, or the resource account is missing its licence or voice routing policy. Changes made in Teams PowerShell can also take some time to apply. |
| The Resources Account tab shows no Region | Contact Heedify support before migrating this call flow. |
| A CX Attendant or CX Experience agent receives no calls | The agent is still signed in to the Extend Agent Console. Sign in at https://unify.heedify.io. |
FAQ
Do I need to recreate my call flows or my agents to move to Unify? No. Heedify prepares every call flow and every agent for Unify in advance. Migrating a call flow is one Teams PowerShell command on its resource account: the flow, its configuration, its queues and its agents stay as they are.
Do I lose my analytics history when I migrate a call flow to Unify? No. Nothing is deleted: the call flow keeps its identifier, its analytics history and its workflows.
Can I migrate one call flow at a time? Yes. Extend and Unify call flows can run side by side in the same tenant. Migrate flow by flow, starting with a low-traffic number.
Does the phone number change? No. The number stays assigned to the same Teams resource account. Only the Teams application the resource account points to changes.
Are calls interrupted during the migration? Only while Microsoft Teams applies the change to the resource account. Plan each migration outside business hours.
Works with: Microsoft Teams, Teams Phone Extensibility, Azure Communication Services, Teams PowerShell, Call Flows, Workflows.