mcpbeat Sign in

Chat Directline Agent Skill

Send a message to a Copilot Studio agent via DirectLine v3. Use for agents with no auth or manual auth. Requires a token endpoint URL or DirectLine secret.

791 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
386
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/skills-for-copilot-studio --skill chat-directline

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

6 sections, as written by the author

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:
   node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js \
     --token-endpoint "<tokenEndpoint>" "<utterance>"

If the user provided a DirectLine secret instead:

   node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js \
     --directline-secret "<secret>" "<utterance>"
  • 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" — show text
  • Suggested actions: suggestedActions.actions array
  • Adaptive cards: attachments with contentType === "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_url to the user, ask for the validation code
  • Send the code: node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js <resume_command with code substituted>
  • Re-send the utterance: node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js <followup_command>

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 "<url>" "<follow-up>" \
  --conversation-id "<id>" --directline-token "<token>" --watermark "<watermark>"
  • directline_token is bound to the conversation — do NOT fetch a new token. Always reuse from the previous response.
  • watermark tracks 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 |

Other skills for the same job

different authors, same section of the catalogue
Skill Share
by frostant
×4

A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.

728 tokens
Init First Agent
by nanocoai

Walk the operator through creating the first NanoClaw agent for a DM channel — resolve the operator's channel identity, wire the DM messaging group to a new agent, and trigger a welcome DM via the normal delivery path. Use after channel credentials are configured and the service is running.

2k tokens
Customer Support Agent
by mastra-ai
vendor

Authoring playbook for building agents that triage and reply to customer messages — support tickets, email inquiries, chat questions, refund requests, or product issues. Use this when the user wants an agent that handles inbound customer questions, drafts replies, escalates hard cases, summarizes tickets, or follows a support playbook.

2k tokens
Build Zoom Team Chat App
by anthropics
vendor

Reference skill for Zoom Team Chat. Use after routing to a chat workflow when building user-scoped messaging integrations, chatbot experiences, rich cards, buttons, slash commands, or chat webhooks.

29k tokens
Trigger Chat Agent Advanced
by triggerdotdev
vendor

> Advanced and operational chat.agent capabilities for Trigger.dev, loaded on demand. Load this when working on the raw Sessions primitive (sessions / SessionHandle), a custom chat transport or the realtime wire protocol, durable sub-agents (AgentChat, chat.stream.writer), human-in-the-loop, steering, actions, background injection (chat.defer / chat.inject), fast starts (preload, Head Start via @trigger.dev/sdk/chat-server), context resilience (compaction, recovery boot, OOM, large payloads), chat.local run-scoped state, offline testing with mockChatAgent, or prerelease/version upgrades. For the everyday chat.agent({...}) definition and the useTriggerChatTransport happy path, use the trigger-authoring-chat-agent skill instead.

4k tokens
Bootstrap Google Tools
by google
vendor

Install and authenticate, on demand, the CLIs the sandbox does not prebake — Node/npm, `gws` (Google Workspace), `gcloud`, `agents-cli` (call remote A2A/ADK agents), and `mcp-cli` (use MCP-server tools). Use this whenever one of those tools is needed but missing (a `node`/`npm`/`gws`/`gcloud`/`agents-cli`/`mcp-cli` command returns "command not found"), or before starting any task that requires one — Google Workspace work (Drive, Gmail, Sheets, Calendar, Chat), GCP via `gcloud`, calling another agent deployed remotely over HTTP (Cloud Run or Vertex Agent Runtime), or using tools exposed by an MCP server. Setup only (install + config + headless auth); each tool's own usage lives in its own skill(s).

5k tokens
Hubspot Customer Prep
by openai
vendor

Use when preparing HubSpot customer briefs for meetings, renewals, QBRs, sales calls, escalations, handoffs, or follow-ups.

417 tokens
Skill Share
by davepoon

A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.

736 tokens

How to use it

Copy the folder

Take microsoft/chat-directline from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.