Azure AI Foundry Agent: Function calling with require_approval=never not triggering tool execution in Teams channel

Jubin Soni 0 Reputation points
2026-06-28T00:05:48.7066667+00:00

I have a Foundry Agent published to a Microsoft Teams channel with require_approval="never" set. When I ask a question that should trigger a function call, the agent responds with a text answer instead of executing the registered function tool. The same agent works correctly when tested in the Foundry playground.

Environment:

  • Azure AI Foundry SDK: azure-ai-projects==1.0.0b11
  • Published channel: Microsoft Teams
  • Tool type: custom function tool
  • require_approval set to "never" at agent creation

What I've tried:

  • Verified the function tool is correctly registered and works in the Foundry playground
  • Confirmed require_approval="never" is set
  • Tested with multiple prompts that clearly match the function description

Is function calling behavior different when an agent is published to Teams vs the playground, and what configuration is needed to ensure tools are invoked correctly?

Thanks in advance!

Microsoft Foundry
Microsoft Foundry

A unified Azure platform for creating and managing AI models, agents, and applications with built‑in enterprise security, monitoring, and governance

0 comments No comments

1 answer

Sort by: Most helpful
  1. Ravi Kiran Pagidi 90 Reputation points
    2026-06-28T02:19:49.34+00:00

    Hi Jubin,

    Yes, the behavior can be different when the agent is used through Teams.

    require_approval="never" only means the tool call does not require human approval. It does not force the model to call the tool, and it also does not automatically execute local/custom function code in every channel.

    For function calling, the usual pattern is:

    1. Agent decides a function is needed.
    2. Agent returns a function call with arguments.
    3. Your application/backend executes the function.
    4. Your application sends the function output back to the agent.
    5. Agent returns the final answer.

    In the Foundry playground, this can appear to work because the test environment/session is handling the tool flow. In a Teams published channel, your local SDK function implementation is not automatically available unless the tool is exposed as something the published agent can actually call.

    For Teams, I would use one of these patterns instead of a local custom function:

    • Azure Functions tool
    • OpenAPI tool
    • Logic Apps action
    • MCP server/tool endpoint
    • A custom bot/backend that handles the function call and submits tool outputs back to the agent

    Also check that the active published agent version is the same version where the tool was added. If you changed the agent after publishing, update the active version or republish/update the Teams agent.Hi Jubin,

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.