Install
$ agentstack add skill-microsoft-skills-for-copilot-studio-chat-directline ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Chat via DirectLine
Send a single utterance to a published agent via the DirectLine v3 REST API. Use this for agents with no authentication (authenticationmode 1) or manual authentication (authenticationmode 3).
Instructions
- Run the script with
--token-endpoint(from detect-mode output) and the utterance from$ARGUMENTS:
``bash node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js \ --token-endpoint "" "" ``
If the user provided a DirectLine secret instead:
``bash node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js \ --directline-secret "" "" ``
- Parse the JSON output from stdout.
Normal response (status: "ok")
{
"status": "ok",
"protocol": "directline",
"utterance": "hello",
"conversation_id": "abc123-XYZ",
"directline_token": "eyJ...",
"watermark": "3",
"start_activities": [ ... ],
"activities": [ ... ]
}
Display the agent's response from the activities array:
- Text: activities where
type === "message"— showtext - Suggested actions:
suggestedActions.actionsarray - Adaptive cards:
attachmentswithcontentType === "application/vnd.microsoft.card.adaptive"
Save conversation_id, directline_token, and watermark — needed for follow-ups.
Sign-in required (status: "signin_required")
The agent requires the user to authenticate (manual auth agents):
{
"status": "signin_required",
"protocol": "directline",
"signin_url": "https://...",
"resume_command": "...",
"followup_command": "..."
}
- Show the
signin_urlto the user, ask for the validation code - Send the code:
node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js - Re-send the utterance:
node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js
Use resume_command and followup_command exactly as given.
Multi-turn
Pass all three values from the previous response:
node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js \
--token-endpoint "" "" \
--conversation-id "" --directline-token "" --watermark ""
directline_tokenis bound to the conversation — do NOT fetch a new token. Always reuse from the previous response.watermarktracks seen activities — pass it to avoid duplicates.- Tokens expire after ~30 minutes. If expired, start a new conversation (omit
--conversation-id).
Error Handling
| Error | Cause | Resolution | |-------|-------|------------| | Token endpoint rejected | Agent not published or wrong URL | Verify agent is published | | Conversation not found | Token expired (>30 min) | Start a new conversation |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: microsoft
- Source: microsoft/skills-for-copilot-studio
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.