Teams Phone Guide
Microsoft Teams Phone Integration
Velaro answers calls to your Microsoft Teams Phone number and rings a free agent in the Velaro browser. The agent sees a screen pop with the caller's CRM record before answering. When every agent is busy, the caller waits and hears a greeting instead of being turned away. Each call is logged to your CRM when it ends.
You set it up yourself in a short wizard. Your Microsoft 365 administrator does a few steps in Teams admin center, and you enter the results in Velaro. No support ticket is needed.
See the Telephony & CTI Overview guide for how screen pop, call logging and IVR hand-off work across all Velaro phone integrations. This guide covers Teams Phone setup only.
Requirements
| Requirement | Details |
|---|---|
| Microsoft 365 tenant ID | Your organization's Microsoft Entra directory ID |
| Teams Phone license | A Teams Phone license on the resource account that holds your number |
| Microsoft 365 administrator | A Global Administrator or Teams administrator, to approve Velaro and create the resource account |
| Agent matching | Each agent who takes calls is matched to their Microsoft Entra user |
Setup
Go to Settings > Integrations > Microsoft Teams Phone > Start Setup. The wizard has five steps: Consent, Resource account, Phone number, Agents and Verify. It saves as you go.
Step 1: Approve Velaro (administrator, about 2 minutes)
The wizard shows an approval link. Your Microsoft 365 administrator opens it, signs in and selects Accept. This lets Velaro answer calls for your tenant. You do not register an app of your own.
Step 2: Create the resource account (administrator, about 10 minutes)
Microsoft offers some of this only as PowerShell commands. During onboarding Velaro runs those commands for you while your Microsoft administrator signs in with a device code. You do not install anything. Each step below says which way it is done.
1. Create the resource account (Velaro runs this PowerShell for you). Velaro creates an account such as "Velaro Phone" for your domain.
2. Send its calls to Velaro (Velaro runs this PowerShell for you). Microsoft offers this link only as a command.
3. Assign the license (web). In the Microsoft 365 admin center, open Users > Active users, select the account, then Licenses and apps, and turn on Microsoft Teams Phone Resource Account.
4. Assign your number (Velaro runs this PowerShell for you). Velaro assigns your number to the resource account. A Calling Plan, Direct Routing or Operator Connect number all work.
5. Get the Object ID (web). Open the resource account in Microsoft Entra ID and copy its Object ID, a 36-character code.
Step 3: Enter the values in Velaro (about 2 minutes)
Enter your Microsoft 365 tenant ID and the resource account Object ID. The phone number is optional and is shown for reference only. Select Save.
Step 4: Agents and wait time
Pick the agents who take Teams calls and match each one to their Microsoft Entra user. This step also has Max wait for a free agent (seconds). It is how long a caller waits when every agent is busy. Enter a whole number from 30 to 600, or leave it blank and save to reset it to the default of 120 seconds. Select Save wait time. Only this value changes. Nothing else in your setup is touched.
Step 5: Verify
Select Test connection. Velaro runs a short checklist and shows a pass or fail for every item: tenant ID saved, resource account saved, admin consent granted and inbound call routing. A failing item says what to fix, for example that approval was not completed or that the resource account is not saved. When every item passes, the connection is ready.
If the test cannot run, the wizard shows what failed along with the HTTP status and the response. A test that returns nothing is never shown as a pass.
Changing your setup later
Reopening the wizard after setup gives you three choices. Nothing is overwritten until you choose.
| Choice | What it does |
|---|---|
| Add agents or wait time | Takes you to the Agents step. Your existing setup is untouched. |
| Edit setup | Opens every step with your saved values filled in. Saving updates them. |
| Start over | Asks you to confirm. Velaro asks its snapshot store to answer first, then keeps a copy of your current setup and clears it. Calls stop reaching your agents until you finish setup again. A fix that makes start over stop if the copy cannot be saved ships with the backend release, so until it is live, do not rely on the copy as your only record of your setup. |
When every agent is busy
This section describes the queue behavior that is available once the queue release is live. Until then, calls behave as they do today.
If no agent is free, Velaro still answers the call and plays a short greeting. The caller stays on the line while Velaro checks for a free agent every few seconds. Callers are served in the order they called. The call rings the next free agent as soon as there is one.
If no agent becomes free within the max wait, the call ends and shows as missed in your reports. If the caller hangs up first, the call is recorded as ended by the caller. If an agent is rung and does not pick up, the caller goes back to waiting for the next free agent, as long as time remains.
You can set a different max wait for each extra queue.
Queues
A queue is an extra Teams number that rings a specific Velaro team, with its own name and its own max wait. Velaro support sets them up for you. A queue needs its resource account ID, a name and a max wait in seconds, for example the name "Support" with a 90 second max wait. Ask Velaro support to list your queues and their max wait at any time.
Screen pop on inbound calls
When a call arrives, Velaro checks every screen-pop provider enabled for your site for a match on the caller's number. The first match appears in the agent's sidebar before they answer. It shows name, company, open tickets, recent conversations and any CRM fields you mapped. With no match, the sidebar shows the caller ID and a search box.
Call log sync
After each call ends, Velaro writes a log entry to your connected CRM.
| Field | Details |
|---|---|
| Direction | Inbound or outbound |
| Duration | In seconds |
| Outcome | Answered, missed or transferred |
| Agent | The Velaro agent who took the call |
| Timestamp | Call start, shown in your time zone |
| Notes | Agent wrap-up notes from Velaro |
Agent matching
So Velaro rings the right person, each agent is matched to their Microsoft Entra user. Open Settings > Integrations > Teams Phone > Agent Mapping, paste the agent's Microsoft Entra user Object ID and select Save. To find it, open the Microsoft Entra admin center, go to Users, select the person and copy the Object ID. It is a 36-character code, not an email address. Select Clear to remove a match. Only administrators can change matches, and each Object ID can be used by one agent.
Troubleshooting
| Symptom | What to check |
|---|---|
| Test connection shows a failed item | Read the item. It names the missing piece. Common ones are approval not completed, the resource account not saved, or a wrong tenant ID. |
| Test connection shows an error with an HTTP status | The test could not run. Try again. If it repeats, send the status and message to support. |
| A call to your number is not answered | Confirm the number is assigned to the resource account in Teams admin center and that the Verify step passes. |
| Callers hang up while waiting | Check that enough agents are matched and available. Lower or raise the max wait to suit your call volume. |
| Screen pop does not appear | Confirm the agent is matched to their Microsoft Entra user. Check Settings > Integrations > Teams Phone > Activity for errors. |
| Call logs not in CRM | Verify the CRM connection is active (Settings > Integrations > your CRM > Activity). Check for 401 or 403 errors. |
| Approval error in Microsoft | Approval must come from a Global Administrator. Ask them to open the link from Step 1 again. |
Ask Moshky or submit a support ticket with your Microsoft 365 tenant domain for setup help.
Was this article helpful?