canonical: https://jentic.com/apis/azure.com/azure-engagementfabric

# Microsoft Azure EngagementFabric

Jentic publishes the only available OpenAPI specification for EngagementFabric, keeping it validated and agent-ready. Microsoft Customer EngagementFabric is the resource provider that hosts engagement accounts and the channels (SMS, email, chat, social) that route customer-facing messages. The API exposes 16 endpoints covering account CRUD, channel CRUD, channel-type discovery, account key listing and rotation, and resource name availability checks. Use it where existing EngagementFabric accounts still drive messaging flows.

## For AI agents

Manage Microsoft EngagementFabric accounts, attached communication channels, and account access keys for customer messaging deployments on Azure.

## Scope

Does not send SMS, email, or chat messages directly, and does not manage end-customer profiles - use for EngagementFabric account, channel, and key management only.

## Capabilities

- Create or update an EngagementFabric account in a subscription
- Attach a communication channel (SMS, email, chat) to an account
- List the channel types available to a given account
- Rotate or list the access keys for an EngagementFabric account
- Delete a channel without deleting the underlying account
- Check availability of an account name before provisioning
- List every EngagementFabric account in a subscription or resource group

## Use cases

### Multi-Channel Customer Messaging Platform

Operations teams running an EngagementFabric account often add multiple channels - SMS, email, chat - to reach customers across the right surface. The API exposes Accounts_CreateOrUpdate, Channels_CreateOrUpdate, and Accounts_ListChannelTypes, so an automation can stand up a fresh account, query the supported channel types, and attach the right channels in one run rather than clicking through the portal.

Example prompt: Create an EngagementFabric account named promo-eng in resource group marketing-rg, list the available channel types via Accounts_ListChannelTypes, and attach an SMS channel.

### Programmatic Access Key Rotation

Security policy commonly requires API-key rotation every 90 days. EngagementFabric exposes Accounts_ListKeys and Accounts_RegenerateKey on the account resource, so a scheduled job can pull the current keys, rotate them, update consuming applications, and confirm the new key is live without human intervention.

Example prompt: Call Accounts_ListKeys on EngagementFabric account promo-eng, then Accounts_RegenerateKey for the secondary key, and return the new value.

### Channel Hygiene Across the Tenant

EngagementFabric accounts collect channels over time. By listing accounts via Accounts_List and then enumerating channels with Channels_ListByAccount, an agent can identify channels that are no longer used and call Channels_Delete to clean up. This keeps the messaging surface tight and reduces accidental sends.

Example prompt: List every channel on EngagementFabric account promo-eng, identify any with no traffic in the past 30 days, and delete them.

### AI Agent Engagement Setup via Jentic

An agent integrated through Jentic can resolve a request like spin up an EngagementFabric account with SMS and email channels end-to-end. It searches Jentic for create engagementfabric account, loads Accounts_CreateOrUpdate and Channels_CreateOrUpdate, and applies the right configuration. Credentials never leave your Jentic One instance.

Example prompt: Through Jentic, search for create engagementfabric account, load Accounts_CreateOrUpdate, and provision the account, then call Channels_CreateOrUpdate to attach an SMS channel.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName} | Create or update an EngagementFabric account |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/Channels/{channelName} | Create or update a channel |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/listKeys | List account access keys |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/regenerateKey | Regenerate an account access key |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/listChannelTypes | List channel types available on an account |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.EngagementFabric/checkNameAvailability | Check availability of an EngagementFabric resource name |

## Key resources

- **Accounts** — Create, read, update, list, and delete EngagementFabric accounts
- **Channels** — Create, read, update, list, and delete communication channels (SMS, email, chat) attached to an account
- **Account Keys** — List and regenerate the access keys used by client applications
- **Channel Types** — Enumerate the channel types supported on a given account
- **SKUs** — List available SKUs for EngagementFabric resources

## Why Jentic

- **Setup:** Wiring EngagementFabric by hand means registering an Azure AD app, minting and refreshing OAuth 2.0 bearer tokens against management.azure.com, assembling the long Microsoft.EngagementFabric ARM resource paths, and polling the async long-running operation that account creation returns. Through Jentic you install once, import EngagementFabric from the API Directory, store the Azure AD client credentials once, and your agent calls it.
- **Permission scoping:** EngagementFabric puts the subscription, resource group, and account name in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/...), so a rule can pin your agent to one account and its channels. You choose the operations it may call, so destructive ones like Accounts_Delete or Accounts_RegenerateKey are not included unless you add them.
- **Credential handling:** Your Azure AD client credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time as a scoped bearer token. The underlying secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an EngagementFabric account' or 'rotate EngagementFabric access keys', and Jentic returns the matching Accounts or Channels operation with its input schema so the agent calls the right endpoint without browsing the ARM reference.

## Related APIs

- **Engagement.ManagementClient** — Legacy Azure Mobile Engagement push campaign API rather than channel-based messaging
- **EventGrid Management Client** — Wire EngagementFabric events into downstream Azure subscribers
- **DNS Management Client** — Manage DNS records that may front EngagementFabric-driven services

## FAQ

### Why is there no official OpenAPI spec for EngagementFabric?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call EngagementFabric via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does EngagementFabric use?

It uses Azure Active Directory OAuth 2.0 (azure_auth) against https://management.azure.com/. The principal needs at least Contributor on the target resource group. Through Jentic the underlying client secret stays in your Jentic One instance and the agent only receives a scoped bearer token.

### Can I attach more than one channel to a single EngagementFabric account?

Yes. PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/Channels/{channelName} is keyed on channelName, so you can attach multiple channels per account. Check supported types for the account first via Accounts_ListChannelTypes.

### What are the rate limits for EngagementFabric?

Standard Azure Resource Manager subscription-scoped throttling applies (broadly 12,000 reads per hour and 1,200 writes per hour). The API itself returns the usual ARM throttling headers - message-throughput limits live with the upstream channel provider rather than this control-plane API.

### How do I rotate account keys through Jentic?

Run pip install jentic, search for rotate engagementfabric account keys, load Accounts_RegenerateKey, supply accountName and the keyName (Primary or Secondary), then execute. Confirm the rotation by calling Accounts_ListKeys and verifying the new value.

### Does this API send messages on a channel directly?

No. EngagementFabric is a control-plane API for managing accounts, channels, and keys. Sending the actual SMS, email, or chat messages happens against the channel provider's data plane using the keys returned by Accounts_ListKeys.

### Can I limit what my agent is allowed to do with the EngagementFabric API?

Yes. Because Jentic One is self-hosted, you set the rules that decide which EngagementFabric operations and credentials your agent may use. Since the subscription, resource group, and account name sit in every request path, you can pin the agent to a single account and its channels, and you choose the exact operations it can call, so read-only work like Accounts_ListChannelTypes or Accounts_ListKeys is allowed while destructive ones like Accounts_Delete or Accounts_RegenerateKey are excluded unless you add them. The stored Azure AD client secret is injected only at execution time and never enters the agent's prompt or logs.
