Skip to main content

Connect Funnel MCP to a Microsoft Copilot Studio agent

Configure OAuth manually to add Funnel MCP to a Microsoft Copilot Studio agent.

Connect Funnel MCP to an agent in Microsoft Copilot Studio. The agent can then use your Funnel workspace data and field definitions.

During setup, Copilot Studio creates a callback URL. You must add this URL to Funnel before you complete the connection.

For more information, see Connect your agent to an existing Model Context Protocol (MCP) server in the Microsoft documentation.

Before you begin

  • You have a Funnel subscription and an owner role.

  • You have access to at least one Funnel workspace.

  • The workspace has at least one connected data source.

  • You have permission to edit or create an agent and add tools in Microsoft Copilot Studio.

Connect your Copilot Studio agent to Funnel MCP

1. Create a Copilot client in Funnel

  1. In Funnel, open your profile menu.

  2. Select Subscription overview.

  3. From the Subscription Management left navigation pane, select Users.

  4. Select the System users tab.

  5. Click + Create System user.

  6. Select MCP Client/App.

  7. Click + Continue.

  8. Select Microsoft Copilot Studio.

  9. Enter a name for your Copilot Studio agent.

  10. Click Create Copilot client.

Funnel opens the System user details page. Keep this page open. You must copy values from this page to Copilot Studio.

2. Add Funnel MCP to your Copilot Studio agent

  1. In Copilot Studio, open your agent.

  2. Click + next to Tools.

  3. In Add a tool, select Model Context Protocol (MCP).

  4. In Add MCP server, enter a Server name.

  5. Enter a Server description.

  6. Copy the Server URL from Funnel.

  7. Paste the URL into Server URL in Copilot Studio.

  8. Under Authentication, select OAuth 2.0.

  9. Under Configuration type, select Manual.

  10. Copy these values from Funnel to the specified fields in Copilot Studio:

    • Client ID to Client ID

    • Client secret to Client secret

    • Authorization URL to Authorization URL

    • Token URL to Token URL

    • Refresh URL to Refresh token URL

    • Scope to Scopes

  11. Click Add.

  12. In Select a connection, open the Connection menu.

  13. Select Create new connection.

  14. Click Create in the dialog that appears.

Copilot Studio displays a callback URL mismatch error. This error is expected. Copilot Studio creates the callback URL during the first connection attempt.

3. Add the Copilot Studio callback URL in Funnel

  1. In the callback URL mismatch window, scroll down to the Technical Details section.

  2. Click See details for this error.

  3. In the technical details, find the URL after redirect_uri.

  4. Copy only the complete callback URL. This URL is unique to your Copilot Studio connection.

  5. Return to the System user details page in Funnel.

  6. Paste the URL into Allowed Callback URLs.

  7. Click Save callback URLs.

Do not use wildcards or change the callback URL.

4. Finish the connection in Copilot Studio

  1. Return to Copilot Studio.

  2. In Select a connection, Cancel the Signing in process.

    Caution: Do not click Cancel at the bottom of the dialog because that button cancels the connection setup.

  3. Click Create in the connection dialog.

  4. In the Funnel authorization window, review the requested access.

  5. Click Accept.

  6. In Select a connection, select the connected Funnel MCP connection.

  7. Click Add.
    Funnel MCP appears in the list of tools.

  8. Open the Funnel MCP tool.

  9. Select the tools that the agent can use.

  10. Under Authentication mode, select User.

  11. Click Confirm.

  12. Open Preview.

  13. Enter a prompt to verify the connection.

  14. When Copilot Studio requests permission to use the Funnel MCP tool, click Allow.

  15. Save the changes.

What to expect

Your Copilot Studio agent is connected to Funnel MCP with OAuth. The agent can use the enabled Funnel MCP tools to query workspace data and field definitions. These tools are read-only and run on behalf of the signed-in user.

Did this answer your question?