1 · Expose the port
Copilot Studio calls from Microsoft's cloud and cannot see
127.0.0.1. Use a dev tunnel:
devtunnel host -p 8000 --allow-anonymous
Then set COBRA_API_KEY before exposing anything beyond your machine.
Local POC console · read-only against the mock BPM database
What the agent would say on the 1st, before anyone asks it anything.
Loading…
Every route the agent can call. All GET — a middleware rejects anything else.
—
Pick a route to run it.
Three agents. Pam only ever talks to the orchestrator; it delegates and presents one answer. Descriptions are what Copilot routes on — the orchestrator picks a specialist from its description the same way it picks an action from an action description, so they matter as much as the instructions.
Edits stay in this browser only — the file of record is
app/prompts.py.
Everything Pam asks enters through the orchestrator. Click a question to see which specialist should take it, which action fires, and the exact payload the model receives.
—
No call yet.
The API is local, so Copilot Studio cannot reach it until it is tunnelled or hosted.
Copilot Studio calls from Microsoft's cloud and cannot see
127.0.0.1. Use a dev tunnel:
devtunnel host -p 8000 --allow-anonymous
Then set COBRA_API_KEY before exposing anything beyond your machine.
Custom connectors import Swagger 2.0, not the OpenAPI 3.1 that
FastAPI serves at /openapi.json. Use:
Change host to the tunnel hostname if you download the file
rather than importing by URL.
Add each operation as an action and paste the matching description from the prompt lab into its Description field. Copilot Studio routes on that text.
A declarative agent cannot wake itself up. For output on the 1st, drive
getMonthlyReconciliation from a scheduled Power Automate flow and post
the narrative into Pam's Teams chat. Conversation handles the follow-ups.