Skip to main content
Microsoft Authenticator verification is a limited-availability feature in partner beta. Contact your Thread representative if you’d like to enable it for your workspace, and see Verify: End-User Identity Verification for the SMS and email methods that are already live for every workspace.
Microsoft Authenticator push adds a second way to run an end-user identity challenge from Thread Inbox. Instead of sending an OTP magic link over SMS or email, Thread Verify triggers a number-match push through the contact’s Microsoft Authenticator app. The two-digit code appears in the ticket as an external note, the end user matches it in Authenticator, and the outcome is written back to the ticket the moment Microsoft confirms it. Use this page to connect a client’s Microsoft 365 tenant to Thread Verify, then send a push challenge from a ticket.

How it works

The push method works per client company. Each client whose contacts you want to verify with Authenticator needs to authorize Thread Verify against their own Microsoft 365 tenant once. After consent:
  • Thread reads the contact’s Authenticator registration status from Microsoft Graph, so technicians only see the Authenticator option for contacts who actually have it registered.
  • When a technician chooses Microsoft Authenticator on a verification challenge, Thread issues a number-match push to that user’s Authenticator app.
  • The two-digit match code posts to the ticket as an external note, so the end user can see it on whichever channel the thread is running on.
  • Every other lifecycle event — requested, approved, denied, undelivered, timed out — posts as an internal note, matching how the existing SMS flow already behaves.
  • A push challenge lives for a much shorter window than a magic link (about five minutes by default) because Authenticator pushes themselves are short-lived.
SMS and email magic-link challenges continue to work exactly as they do on Verify: End-User Identity Verification. Microsoft Authenticator is an additional method, not a replacement.

Prerequisites

Before you connect a client tenant, confirm:
  • End-user verification is enabled on your workspace. If Verify isn’t in Admin yet, contact your Thread representative to turn it on.
  • The Microsoft Authenticator method is enabled on your workspace. This is the beta toggle that surfaces the Microsoft Authenticator option in Admin and in the technician’s verification modal.
  • The client company already has contacts in Thread with email addresses on their Microsoft tenant’s verified domains. Thread checks the consenting tenant’s verified domains against the contact emails it has on file for that client before it accepts the connection, so a client with no contacts on file yet cannot be connected.
  • A Global Administrator of the client’s Microsoft 365 tenant is available to grant admin consent. The consent link Thread generates can only be completed by a tenant admin.

Connect a client tenant

1

Open the client in End User Verification

In Admin, go to End User Verification, open the Integrations tab, and find the client company you want to connect.
2

Generate a consent link

Select Connect Microsoft tenant on the client’s row. Thread generates a one-time, signed consent URL scoped to that specific client company.Copy the link, or send it directly to the tenant admin from your email client. The link is a bearer for that client — anyone who completes it consents on that client’s behalf — so treat it like any other admin invitation.
3

Have the tenant admin grant consent

The tenant admin opens the link, signs into Microsoft with a Global Administrator account, and approves the Thread Verify app registration.Thread reads the tenant id from the signed Microsoft id token returned to it, then checks the tenant’s verified domains against the client’s contact emails. The consent is only accepted when at least one contact email domain matches a verified domain on the consenting tenant.
4

Confirm the connection

Back in the Integrations tab, the client’s row now shows as connected. The Connected tenants list shows every client whose tenant has already approved Thread Verify, so you can see coverage at a glance.
If a tenant admin’s consent is refused, the link stays valid so the admin can retry once the underlying issue is fixed. Only a consent that actually landed spends the link.

Refusal reasons

Thread refuses a consent for one of these reasons. The refusal is logged, the link is not spent, and the tenant admin can retry.
  • tenant_domain_mismatch — none of the consenting tenant’s verified domains match a contact email on the client company. Confirm the tenant admin is signing in against the correct tenant, and that the client has at least one contact whose email is on a domain that tenant has verified.
  • tenant_domain_unverifiable — Thread couldn’t read the tenant’s verified domains from Microsoft Graph. The most common cause is that the Thread Verify app registration is missing the Domain.Read.All (Application) permission. Contact your Thread representative.
  • tenant_already_linked — the consenting tenant is already connected to a different client company in your workspace. A tenant can only be bound to one client at a time; disconnect the existing binding first if this is intentional.
  • invalid_state — the consent link is expired or already spent. Generate a fresh one from the Integrations tab.

Send a Microsoft Authenticator push from a ticket

1

Open the ticket in Inbox

Open the thread you want to verify the contact on, then open the actions list on the ticket.
2

Start a verification

Choose the Verify action to open the verification modal. Thread shows the methods available for this specific contact.Microsoft Authenticator appears in the method list only when both are true: the contact’s client company has a connected Microsoft tenant, and the contact’s Microsoft user has Microsoft Authenticator registered as an authentication method. If either is missing, the option is hidden and SMS or email remain available.
3

Send the push

Pick Microsoft Authenticator and send. Thread issues the challenge and posts an internal note that a push has been requested.Within a few seconds, Thread posts an external note on the thread that carries the two-digit number the end user needs to match in Authenticator. Because this note is external, it travels out on whichever channel the thread is on — Messenger, Microsoft Teams, email — so the end user sees the number the same way they see any other reply.
4

Wait for the outcome

When the end user approves the push in Authenticator, Thread posts an internal note that the verification succeeded, and the ticket is now treated as verified for downstream consumers like Voice Shield.A denied push, an undelivered push, or a timeout each post their own internal note explaining what happened, so the technician always sees why a challenge didn’t complete.

Disconnect a client tenant

Open the client’s row in the Integrations tab and choose Disconnect. Thread removes the tenant binding for that client company. Any in-flight push challenges finish out on their existing tenant; new challenges for that client fall back to SMS or email until a fresh consent is granted.

Activity log

Microsoft Authenticator challenges appear in the same verification activity table described on Verify: End-User Identity Verification, alongside SMS and email challenges. Each entry captures the method used, the outcome, and, for a denied or undelivered push, the specific failure reason Microsoft returned.