detect-mode
Detect a Copilot Studio agent's authentication mode (DirectLine vs M365) by querying Dataverse. Returns the mode and connection details needed to chat.
Skill body
Detect Agent Authentication Mode
Query the Dataverse bots entity to determine whether the agent uses DirectLine (no auth / manual auth) or the Copilot Studio SDK (integrated auth / Entra ID SSO).
Instructions
-
Run the detect-only command:
node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js --detect-only $ARGUMENTSIf the agent is not at the project root, pass
--agent-dir <path>. -
Parse the JSON output from stdout:
DirectLine mode (authenticationmode 1 or 3)
{ "status": "ok", "mode": "directline", "authenticationmode": 1, "tokenEndpoint": "https://...", "schemaName": "..." }The agent uses no authentication or manual authentication. No user credentials needed. The
tokenEndpointis ready to use with/copilot-studio:chat-directline.M365 mode (authenticationmode 2)
{ "status": "ok", "mode": "m365", "authenticationmode": 2, "schemaName": "..." }The agent uses integrated authentication (Entra ID SSO). An App Registration Client ID is needed for
/copilot-studio:chat-sdk. -
Return the result to the caller. Do not proceed to chat — that is a separate step.
Error Handling
| Error | Cause | Resolution |
|---|---|---|
No agent.mcs.yml found |
No agent in workspace | Clone the agent first |
No .mcs/conn.json found |
Agent not cloned via VS Code extension | Clone with the extension |
Could not detect authentication mode |
No cached Dataverse token | Run a push/pull first to cache tokens, or ask the user about their auth config |