Microsoft Foundry in Practice

Connecting Foundry to Azure Logic Apps

Not every Claude integration deserves custom code. If your team already automates approvals, emails, and file handling with Logic Apps, one HTTP action puts Claude in the middle of those flows.

Claude 3P 101 · Updated July 2026 · Unofficial guide

Azure Logic Apps is Microsoft's low-code workflow service: you chain triggers ("when an email arrives") and actions ("post to Teams") in a visual designer. Because Claude on Microsoft Foundry exposes a plain HTTPS endpoint that follows the standard Claude Messages API, Logic Apps can call it with the built-in HTTP action — no custom connector, no code deployment. This is a practical way for operations and business-systems teams to add summarization, classification, or drafting to existing automations.

The request in three parts

Everything the HTTP action needs is the endpoint, the headers, and the JSON body.

Endpoint. Foundry's Messages endpoint follows a fixed shape: https://<resource-name>.services.ai.azure.com/anthropic/v1/messages, where the resource name is your Foundry resource. Use the POST method.

Headers. Pass your Azure-issued API key in the api-key or x-api-key header, plus anthropic-version: 2023-06-01 and Content-Type: application/json. You can find the key and full Target URI in the Foundry portal on your deployment's Details tab.

Body. A standard Claude Messages request. The model field takes your Foundry deployment name (which defaults to the model ID):

{
  "model": "claude-haiku-4-5",
  "max_tokens": 500,
  "messages": [
    {
      "role": "user",
      "content": "Summarize this support email in 3 bullets: ..."
    }
  ]
}

In the Logic Apps designer you would splice trigger outputs (the email body, the file text) into the content string using dynamic content, then parse the response with a Parse JSON action. The response follows the standard Claude API format — the generated text lives in the content array, and the usage object reports token counts you can log for cost tracking.

Keep the key out of the designer

The single biggest mistake in no-code integrations is pasting an API key directly into a workflow definition, where it is visible to everyone who can view the Logic App. Store the Foundry key in Azure Key Vault and reference it from the workflow instead, so the key can be rotated without editing flows. Foundry also supports Microsoft Entra ID authentication (a bearer token in the Authorization header) with Azure role-based access control; if your Logic App runs with a managed identity that holds a role such as Cognitive Services User on the Foundry resource, you can avoid standing keys entirely. See Foundry keys in Key Vault and Entra ID auth for Foundry for both patterns.

Design for latency and limits

Two behaviors of model APIs deserve attention in a workflow tool built around quick request/response actions.

Latency. Model responses take seconds, not milliseconds, and streaming — the usual mitigation in interactive apps — doesn't help a background workflow. Keep max_tokens as small as the task allows, and prefer fast models like Claude Haiku 4.5 for high-volume routing and classification steps; reserve larger models such as Claude Sonnet 5 or Opus 4.8 for steps where output quality visibly matters.

Rate limits. Foundry enforces requests-per-minute and uncached input-tokens-per-minute quotas at the Azure subscription level, shared across deployments of the same model and version. A Logic App triggered per-item over a large batch (say, "for each row in this spreadsheet") can exhaust that quota quickly, and Foundry does not return Anthropic's anthropic-ratelimit-* headers to warn you. Configure the HTTP action's retry policy for 429 responses with exponential backoff, and throttle loops with a bounded degree of parallelism.

Rule of thumb: a Logic Apps "For each" over hundreds of items is effectively a batch job. Foundry has no Message Batches API, so build the pacing in yourself: limit loop concurrency and retry 429s with backoff.

For troubleshooting, log the request-id and apim-request-id response headers on failures — support teams use both to trace a call across Anthropic and Azure systems.

When to graduate to code

Logic Apps is excellent for gluing Claude into email, Teams, SharePoint, and approval flows. Once a workflow needs tool use, multi-turn conversations, or careful prompt management, the balance tips toward a small service — an Azure Function using the AnthropicFoundry SDK client gives you typed requests, retries, and testability. See Calling Foundry Claude from Azure Functions for that step up.

Where to go next

The quickstart covers your first direct API call; Foundry API keys explains where credentials come from and how to handle them.

Sources