
service-itsm-teams-employee-agent-configure
Configure the embedded Agentforce Employee Agent so it replies inside the Microsoft Teams ITSM custom client ('Salesforce Employee Assist' / 'Ask AI Agent'). Use this for: 'set up employee agent in Teams', 'embed Agentforce agent in Teams', 'make the IT Service Employee Agent reply in Teams', 'Teams Ask AI Agent not responding', 'agent joins then leaves without replying', 'configure MIAW deployment for Teams employee agent', 'Teams embedded messaging agent setup'. Builds the whole stack headlessly (zero Setup-UI clicks): the Web messaging channel with User Verification ON, the Enhanced Chat User Verification Key Set (JWKSURL) it requires, the TeamsAgentForce custom-client deployment, the routing flow to the agent, and the Agent Access permission set that lets the portal user reach the agent. DO NOT TRIGGER for enabling the Teams feature Salesforce Go page toggle (service-itsm-teams-configure) or for configuring notification preferences.
- Installs
- 1.2K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/forcedotcom/sf-skills --skill service-itsm-teams-employee-agent-configure- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads service-itsm-teams-employee-agent-configure automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Configure the Embedded Agentforce Employee Agent in Microsoft Teams
Make the embedded Agentforce agent ("IT Service Employee Agent") actually reply inside the
Microsoft Teams ITSM custom client ("Salesforce Employee Assist" → "Ask AI Agent"). The Teams
custom client loads a Messaging-in-App-and-Web (MIAW) deployment at runtime by its
esDeveloperName, which is hard-wired to Teams_AgentForce in committed Core config
(service-cloud-requestor-agent-miaw.configuration.json / the Teams app manifest) — so the
Embedded Service Deployment must be named exactly Teams_AgentForce and cannot be renamed
per-org.
This is the hardest, most under-documented part of Teams ITSM. The full build-from-scratch recipe — verified live against a real org — lives in:
→ references/teams-embedded-employee-agent.md
Execute one step at a time. These steps make real, state-changing API calls. Run a single operation, show its result, confirm it succeeded, then proceed — do not batch multiple setup calls into one parallel block.
Scope
- In scope: Building the MIAW channel + deployment the Teams custom client loads entirely via
API (zero Setup-UI clicks) — a Web Enhanced-messaging channel with User Verification ON
(auth mode = Auth) backed by an Enhanced Chat User Verification Key Set (
PublicKeyCertificateSet, typeJWKS_URL, endpoint<Org>/id/keys, issuer = Employee Site URL), theTeams_AgentForcecustom-client Embedded Service Deployment, and an Omni-Flow routing flow whoserouteWorkaction targets a real, Active Agentforce Employee Agent. Creating and assigning the Agent Access permission set that grants the portal user access to the agent (the step that makes it actually reply). Verifying the token/routing chain end to end via API and diagnosing the "joined then left / no reply" symptom. - Out of scope: Enabling the Teams feature Salesforce Go page toggle and Azure/SSO/Named-Credential setup
(
service-itsm-teams-configure). Creating the employee portal/site (experience-portal-create). Fixing the Agentforce agent's own GenAI planner / Omni-Channel presence / capacity only after the auth-ON + Key Set chain and Agent-Access-assigned are all confirmed and the session still stays queue-owned with no agent reply — that residual case is an agent-runtime concern owned by the Agentforce Employee Agent team (see the "joins then leaves" section in the reference).
Prerequisites
- Teams ITSM feature enabled and the employee portal site live (run
service-itsm-teams-configureandexperience-portal-createfirst). You need the Employee Site URL (e.g.https://<org>.my.site.com/empPortal) and the org's My Domain URL. - A real, Active Agentforce Employee Agent exists
(
SELECT Id FROM BotDefinition WHERE Type='InternalCopilot' AND AgentType='AgentforceEmployeeAgent', with anActiveBotVersion). If none exists, create it first — enabling theservice-cloud-it-service-employee-agentGo feature may auto-provision it, but that is not guaranteed (verified: in one org the feature enabled but provisioned nothing). The reliable way to deploy it isservice-itsm-agentic-setup-employee-agent-configure(which reads the shipped Employee template's Agent Script and creates + publishes + activates the agent as an NGA-native bundle); the equivalent underlying path is the ITSM Connect agent-templates install + activate againstEmployeeCopilot__AgentforceEmployeeAgent. Deploy the agent first, then run this skill to embed it in Teams. See the "Prerequisite: the IT Service Employee Agent must exist" section in the reference for both paths and their gotchas.
The causes of "agent joins then leaves" (read this before building)
The agent replies only when the whole chain is intact — missing a link produces the classic "agent joins the conversation, then leaves, no reply" symptom. All are fixable in this skill:
| # | Requirement | Symptom if missing | Fix |
|---|---|---|---|
| 1 | Channel auth mode = Auth (User Verification ON) WITH a Key Set attached | /unauthenticated/access-token → BAD_REQUEST "Set the auth mode to false" (auth ON but no Key Set → client fell back to the unauthenticated endpoint); or 401 on /eventrouter/v1/sse (Key Set endpoint/issuer wrong) | Attach a JWKS_URL Key Set (endpoint <Org>/id/keys, issuer = Employee Site URL) and link it into the channel — do not turn auth off |
| 2 | Portal user has an Agent Access permission set enabling the IT Service Employee Agent | Tokens mint and SSE connects, but the agent joins then leaves with zero ConversationEntry | Create + assign a permission set with Agent Access → the agent |
| 3 | The Teams_AgentForce ESD exists + is published | SELECT Id FROM EmbeddedServiceConfig WHERE DeveloperName='Teams_AgentForce' → 0 rows; Teams can't load a missing deployment | Metadata-deploy the API-type ESD + Connect-publish it (step 3) |
This reverses an earlier version of this skill that told you to turn User Verification OFF and never attach a Key Set. That was diagnosed on a build that flipped auth ON but forgot the Key Set, so the Teams client used the unauthenticated endpoint and hit "Set the auth mode to false." The verified, product-blessed fix is auth ON + a JWKS_URL Key Set (screenshot-confirmed live), which puts the client on the authenticated token flow the channel expects.
If the agent still won't reply after auth-ON + Key Set, Agent-Access-assigned, and the ESD
created+published are all confirmed, delegate to service-itsm-teams-debug (its AGENTFORCE
pass/fail checklist walks the full token/routing/ESD/agent chain) before escalating to the
Agentforce Employee Agent team (agent Omni presence / capacity / GenAI planner) as the last resort.
In the verified org, fixing the fixable causes above was sufficient.
Verified recipe (summary — 100% API, zero manual steps; full XML + calls in the reference)
Deploy in this order — Key Set first, then the channel that references it, then the ESD. All
deploys use an isolated sfdx-project.json at --api-version 67.0. Run one step at a time.
- Enhanced Chat User Verification Key Set — Metadata-deploy a
PublicKeyCertificateSetwith<type>JWKS_URL</type>,<jwksEndPoint>=<Org_Url>/id/keys,<jwtIssuer>= the Employee Site URL. Directory must bePublicKeyCertificateSet/, suffix.PublicKeyCertificateSet-meta.xml. (JWKS_URLis the endpoint-URL mode;Jwksis the uploaded-key mode and rejects a URL.) - Messaging channel, deployment type Web, domain = the Employee Site URL — Metadata-deploy
a
MessagingChannel(messagingChannelType=EmbeddedMessaging) whosesessionHandlerFlow= the routing flow that targets the IT Service Employee Agent andsessionHandlerQueue= the fallback queue (e.g.chatqueue). Turn User Verification ON and link the Key Set in one block:<embeddedConfig><authMode>Auth</authMode><messagingAuthorizations>…publicKeyCertificateSetName…</messagingAuthorizations></embeddedConfig>. Then activate the channel (MessagingChannel.IsActive=true) before publishing the ESD. The routing flow + fallback queue are prerequisites — ifRoute_To_MIAW_AEAwas template-installed it ships with placeholder ids (repoint them); if none exists, author one. Thesfdc_livemessageOmni service channel is standard/pre-existing (query, don't create). See the reference §A/§E/§F. - Create the
Teams_AgentForceEmbedded Service Deployment (ESD) — the deployment the Teams client loads byesDeveloperName. Metadata-deploy anAPI-type ESD named exactlyTeams_AgentForcewhose<messagingChannel>references the channel from step 2, then publish it viaPOST /services/data/v67.0/connect/embeddedservice/embeddedserviceconfig/publish/<esdId>({}→isSuccess:true; the publish route is v67.0). See reference §C/§D. If this ESD is missing, login works but the agent never replies — verify withSELECT Id FROM EmbeddedServiceConfig WHERE DeveloperName='Teams_AgentForce'(Tooling). - Create a permission set (e.g. "Agent Access") enabling the IT Service Employee Agent and assign it to the portal user (RBAC grant — confirm before assigning). See reference §G.
- Retest from a brand-NEW Teams chat — existing sessions stay bound to the old deployment.
Do not use POST /connect/service-itsm/createMessagingChannel — it forces its own defaults; build
the channel yourself so you control the flow/queue/dev-name and the exact auth + Key Set wiring. See
the reference for the exact API bodies, object names, verification queries, and the full gotchas index.
Related Skills
| Skill | When to use instead |
|---|---|
service-itsm-teams-configure | Enabling the Teams feature Salesforce Go page toggle + Azure/Entra app + SSO/Named Credentials — run first; it delegates here for the embedded agent |
experience-portal-create | Creating the employee-service portal/site whose URL this skill consumes |
service-itsm-teams-debug | Diagnosing why an already-built agent won't reply (or other Teams ITSM failures) — runs the AGENTFORCE pass/fail checklist and reports remediation |
service-itsm-channels-coordinate | Top-level menu across Teams, Slack, Swarming, Notifications, Portal |
FAQ
What does the service-itsm-teams-employee-agent-configure skill do?
Configure the embedded Agentforce Employee Agent so it replies inside the Microsoft Teams ITSM custom client ('Salesforce Employee Assist' / 'Ask AI Agent'). Use this for: 'set up employee agent in Teams', 'embed Agentforce agent in Teams', 'make the IT Service Employee Agent reply in Teams', 'Teams Ask AI Agent not responding', 'agent joins then leaves without replying', 'configure MIAW deployment for Teams employee agent', 'Teams embedded messaging agent setup'. Builds the whole stack headlessly (zero Setup-UI clicks): the Web messaging channel with User Verification ON, the Enhanced Chat User Verification Key Set (JWKSURL) it requires, the TeamsAgentForce custom-client deployment, the routing flow to the agent, and the Agent Access permission set that lets the portal user reach the agent. DO NOT TRIGGER for enabling the Teams feature Salesforce Go page toggle (service-itsm-teams-configure) or for configuring notification preferences.
How do I install service-itsm-teams-employee-agent-configure?
Run npx skills add https://github.com/forcedotcom/sf-skills --skill service-itsm-teams-employee-agent-configure in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/service-itsm-teams-employee-agent-configure/ (personal) or .claude/skills/service-itsm-teams-employee-agent-configure/ (project).
Which AI agents can use service-itsm-teams-employee-agent-configure?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is service-itsm-teams-employee-agent-configure safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains service-itsm-teams-employee-agent-configure?
It is published by forcedotcom in forcedotcom/sf-skills. It has 1,161 recorded installs.
More from forcedotcom/sf-skills
platform-apex-generate
forcedotcom/sf-skills
Primary Apex authoring skill for class generation, refactoring, and review. ALWAYS ACTIVATE when the user mentions Apex, .cls, triggers, or asks to create/refactor a class (service, selector, domain, batch, queueable, schedulable, invocable, DTO, utility, interface, abstract, exception, REST resource). Use this skill for requests involving SObject CRUD, mapping collections, fetching related records, scheduled jobs, batch jobs, trigger design, @AuraEnabled controllers, @RestResource endpoints, custom REST APIs, or code review of existing Apex.
platform-apex-test-generate
forcedotcom/sf-skills
Use to generate and validate Apex test classes with TestDataFactory patterns, bulk testing (251+ records), mocking, assertions, and disciplined test-fix loops. Use when creating Apex test classes (for triggers, services, controllers, batch jobs, queueables, and callouts), improving coverage, debugging or fixing failing Apex tests, or running test/coverage analysis. Triggers on Test.cls files, sf apex run test, coverage reports. Do NOT trigger for production Apex (use platform-apex-generate) or Jest/LWC tests.
platform-apex-test-run
forcedotcom/sf-skills
Apex test execution, coverage analysis, and test-fix loops with 120-point scoring. Use when the user runs Apex tests, checks code coverage, fixes failing tests, or touches Test.cls / Test.cls files. DO NOT TRIGGER when writing Apex production code (use platform-apex-generate), Agentforce agent testing (use agentforce-test), or Jest/LWC tests (use experience-lwc-generate).
platform-apex-logs-debug
forcedotcom/sf-skills
Salesforce debug log analysis and troubleshooting with 100-point scoring. TRIGGER when: user analyzes debug logs, hits governor limits, reads stack traces, or touches .log files from Salesforce orgs. DO NOT TRIGGER when: running Apex tests (use platform-apex-test-run), generating or fixing Apex code (use platform-apex-generate), or Agentforce session tracing (use agentforce-observe).
platform-soql-query
forcedotcom/sf-skills
Use when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan/selectivity analysis, and performance or safety improvements. TRIGGER when the user writes, optimizes, or debugs SOQL/SOSL, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER for bulk data operations (use platform-data-manage), Apex DML logic (use platform-apex-generate), or report/dashboard queries.
platform-metadata-deploy
forcedotcom/sf-skills
Salesforce DevOps automation using sf CLI v2. TRIGGER when: user deploys metadata, validates a deploy or does a dry-run, deploys to a Production org, quick-deploys a validated job ID, ships/promotes to prod, creates/manages scratch orgs or sandboxes, sets up CI/CD pipelines, or troubleshoots deployment errors with sf project deploy. DO NOT TRIGGER when: writing Apex code, building LWC components (use experience-lwc-generate), creating metadata definitions (use platform-custom-object-generate), deleting metadata from an org (use platform-destructive-deploy), or querying org data (use platform-data-manage).
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available