This External Phone Provider (EPP) sample connects Microsoft Entra ID to a phone provider for SMS and voice one-time passwords. Guided setup deploys one regional endpoint using JavaScript by default, with C# and Python options.
Important
Start in a separate nonproduction environment. Confirm provider access and Microsoft's approved test and activation process before deployment.
- JavaScript, C#, and Python implementations of one HTTP and trust contract.
- Guided Azure deployment with Easy Auth, Key Vault, and monitoring.
- Evaluation mode checks authentication and decryption without sending a message.
- Built-in provider integrations and an Add Twilio guide.
- Use a separate test environment with a Microsoft Entra ID tenant, Azure subscription, and unique resource name prefix. Supply a dedicated app registration or create one during guided setup.
- Check roles, permissions, tools, regional availability, and quota.
- For Telesign, complete the OAuth profile placeholders before deployment.
- Plan for Azure, telemetry, and provider charges. The cost estimate is not a bill.
- Use Easy Auth to allow only the approved Microsoft caller.
Easy Auth checks the Microsoft caller before the Function decrypts the request. Live success confirms provider acceptance. Confirm delivery separately. Evaluation validates the request without sending a message. The diagram is a topology overview; current packages read API-key secrets for each live request, while Azure Identity owns OAuth token caching. See architecture details. Open the full-size diagram.
Follow the five-step setup guide in order:
- Get ready: confirm access, approvals, permissions, and budget.
- Choose the app: use an existing registration or create one during setup.
- Deploy: choose the provider and hosting plan.
- Connect and test: configure provider access and run approved checks.
- Activate and hand over: activate after validation and assign owners.
Before live use, review production readiness.
| Goal | Start here |
|---|---|
| Deploy and configure | Five-step setup |
| Find settings and provider details | Technical reference |
| Resolve a problem | Troubleshooting |
| Monitor the endpoint | Monitoring |
| Review the API | Send OTP |
| Add Twilio | Twilio integration guide |
| Work on a runtime | JavaScript, C#, or Python |
Keep credentials, phone data, OTPs, encrypted bodies, and raw provider responses out of issues and support requests. See the complete documentation index.
