service-agentforce-human-escalation-configure
Configure Agentforce Agent → Human Escalation
Wire an Agentforce agent so it can hand a conversation off to a human agent through an Omni-Channel queue. This skill configures and verifies the escalation surfaces, then reports a single machine-readable JSON verdict. It is idempotent per developer name and refuses to write to production orgs. It runs standalone or as a stage in a larger setup flow (after the agent is created and active).
The agent, queue, outbound flow name, routed context object, service channel, and failure thresholds are all inputs, so the same skill serves any scenario (IT employee support, customer messaging, etc.) — the caller supplies the scenario-specific identifiers.
This skill is the authoritative owner of agent-to-human (outbound) escalation. service-agentforce-channel-configure may wire a basic outbound flow + connection block in the same pass as inbound channel setup, but it delegates full escalation configuration and verification here.
The honest boundary — what is deterministic vs. directive vs. runtime
Escalation in Agentforce is assembled from surfaces with different verifiability:
- Deterministic (this skill writes and/or round-trip verifies via the Metadata/Data API):
canEscalate=trueon the escalation topic (GenAiPlugin);outboundRouteConfigson the agent's Messaging planner surface (GenAiPlannerBundle), where the SAME block couplesoutboundRouteNametooutboundRouteType=OmniChannelFlowon a Messaging-class surface; a QueueBased outboundRoutingFlowwith a non-nullActiveVersionId; a human queue with aQueueSobjectfor the context object, itsQueueRoutingConfigbound to the queue, and at least one active human member (a queue with zero members can never route an escalation to a human, so it never reachesCONFIGURED); and the agent Active after republish. - Directive / native policy (authored as Agent Script instructions, not a metadata counter): the default two consecutive failures threshold plus per-topic overrides (e.g. password reset = one failure). There is no metadata field that counts failed turns — the threshold is instruction text, verified by an ADK eval rubric, not a runtime read. See references/failure-policy.md.
- Runtime / manual only: the actual conversational trigger,
AgentWorkcreation, and same-session context preservation. These cannot be driven headlessly — they are a documented manual test + eval rubric. See references/runtime-verification.md.
Authoring models — classic vs next-gen (NGA)
Salesforce exposes two Agentforce authoring models, and Phase 1b auto-detects which the org supports from its metadata types. The routing infrastructure (queue, QueueSobject, members, QueueRoutingConfig, outbound RoutingFlow) is identical in both; only the agent-side escalation surface differs.