Maker guide · Copilot Studio agent tools
About 15 minutes
For: makers who want a Copilot Studio agent to list apps, check ranges and issue new object ranges in BC Object Registry.
Time: about 15 minutes.
https://registry.example.com/api/v1/swagger.json, where registry.example.com stands for your BC Object Registry address.The setup in four steps
Each row becomes one tool in your agent. The prompts are the kind of thing people type in chat.
| Tool | API operation | Example prompt |
|---|---|---|
| List apps | ListAppsGET /apps | Which apps are Pending in Adatum's tenant? |
| Check a range | CheckRangePOST /ranges/check | Is 50100 to 50119 free for Contoso? |
| Issue a new range | AllocateRangePOST /ranges/allocate | Get me 20 object IDs for Contoso Labels in Production. |
| List tenantsOptional | ListTenants | Which customer tenants do we have? |
| Free rangesOptional | GetFreeRanges | What's free in Contoso's PTE pool? |
Write operations (delete, import, tenant changes) are marked advanced in the spec. Leave them out of a chat agent unless you have a reason to add them.
Who it acts as: the key acts with the rights of whoever created it. Revoke it on the API keys page to cut the agent off at once.
Open https://registry.example.com/api/v1/swagger.json and save it as bc-object-registry.swagger.json.
Copilot Studio builds REST API tools from OpenAPI v2. It would convert a v3 file, but our 2.0 file is written for Power Platform: it has connector-friendly summaries, and marks advanced operations as such.
These steps follow Microsoft's "Extend your agent with tools from a REST API (preview)" documentation (October 2026). Labels can change while the feature is in preview.
Open your agent →Overview→Tools→Add tool. Or go to the Tools tab and select Add a tool.
Select New tool→REST API.
Upload bc-object-registry.swagger.json, either by dragging it in or by browsing to it. Check the details, then select Next.
Replace the generated text with something the orchestrator can match, synonyms included:
Tracks Business Central (BC) object ID ranges for per-tenant extensions (PTE) and AppSource apps. Use it to list, find or look up apps and their object ranges; check whether an object ID range is free or overlaps another app; and issue, reserve, allocate or get a new collision-free object range for a new extension, optionally for a customer tenant and Business Central environments.
Solution: pick a custom solution, or leave it blank to have one created. Select Next.
Authentication: choose API key and fill in:
| Field | Value |
|---|---|
| Parameter label | BC Object Registry API key |
| Parameter name | X-API-Key |
| Parameter location | Header |
Select Next.
What to fill in: API key, the label, X-API-Key and Header. The real Copilot Studio screen looks different.
Select and configure your tool: add the tools from section 1 one at a time.
Reserves the next free block of object IDs of the requested size for a new Business Central extension and saves it as a Pending app. Use when someone asks for, reserves or needs new object IDs or an object range.
Review your tool, then Next. Wait for it to publish.
Select Create connection. Back on Add tool, filter by REST API, and for each new tool:
On each tool's settings in the agent:
| Tool | Inputs |
|---|---|
Issue a new rangeAllocateRange | name and size are required.
|
Check a rangeCheckRange | from and to, plus the tenant on Partner workspaces. |
List appsListApps | Leave the filters optional. The agent can pass status, type, q or the tenant. |
Tip: in the agent's instructions, add:
When issuing object ranges, always confirm the project name and number of IDs with the user first, then show the issued range and the idRanges JSON for app.json.
In the Test pane:
status = Pending.50120–50139 and the idRanges JSON."idRanges": [
{ "from": 50120, "to": 50139 }
]Test 3 from section 6: the agent confirms first, calls Issue a new range, then shows the range and the idRanges JSON. Your agent's wording and the real Copilot Studio screen will differ.
If your organization standardizes on custom connectors:
In Power Apps or Power Automate, open Custom connectors→New custom connector→Import an OpenAPI file, and choose bc-object-registry.swagger.json.
Security: choose API Key, with parameter label BC Object Registry API key, parameter name X-API-Key, location Header.
Create connector, then Test GetWorkspace with a new connection.
In Copilot Studio, Add tool→Connector, then pick the connector's actions.
| Symptom | Fix |
|---|---|
401 Invalid API key | The key was revoked or mistyped, or its creator left the workspace. Create a new key and update the connection |
403 Missing scope | The key needs Allocate to issue ranges. Create a key with Read and Allocate |
422 Tenant required | Partner workspace: the call must name the tenant (bcTenantId or tenantId). The error lists your tenants |
422 Unknown environment | Use the Business Central environment names that the error lists |
429 Rate limit exceeded | Too many calls a minute for the plan; wait for Retry-After |
| The agent never picks the tool | Make the tool and API descriptions more specific, with synonyms (issue, reserve, allocate, object IDs) |
Questions or problems? Email info@onlybcfans.com.
BC Object Registry by OnlyBCFans. Not affiliated with Microsoft. Microsoft, Copilot Studio, Power Platform, Dynamics 365 and Business Central are trademarks of the Microsoft group of companies. Steps based on Microsoft Learn: Extend your agent with tools from a REST API (preview).
learn.microsoft.com/microsoft-copilot-studio/agent-extend-action-rest-api