Loading...
Loading...
Data Cloud 360° view of a single Agentforce session. Pulls 24 STDM + GenAI DMO rows via the DC Query REST API, assembles a hierarchical session tree (Interaction → Step → Generation → GatewayRequest), renders a human-readable summary with transcript + per-turn topic/action invocations + LLM generations + tool calls + audit chain. TRIGGER when user asks to trace, inspect, summarize, or describe a specific Agentforce session by session id (Agent Session UUID `019d…` or MessagingSession id `0Mw…`). Also triggers on session discovery — find/list/search sessions by time, agent, channel, outcome, or conversation text — when the user has no session id yet. DO NOT TRIGGER for design-time architecture questions (use investigating-agentforce-architecture instead) or for runtime perf/latency/SLO questions that require platform telemetry beyond Data Cloud.
npx skill4agent add forcedotcom/sf-skills investigating-agentforce-d3600Mw…--agent--channel--outcome--grepWhich session should I pull from Data Cloud, and in which org?I need:
- Session id — either an Agent Session UUID (
) or a MessagingSession id (019db7f6-…, 15/18 chars).0Mw…
- No session id? — Tell me what you remember and I'll find it: how recent (e.g. "last 2 hours", "today", a date), which agent, which channel (Messaging / Builder / Voice), how it ended (escalated, user ended, transferred, timed out), or a phrase from the conversation. I'll show matching sessions as a numbered list — you pick one, I pull it.
- Org alias — for
CLI auth (the alias you configured withsf).sf org loginArtifacts land in(override per-script with~/.vibe/data/investigating-agentforce-d360/<org_id15>/<agent>__<ver>/<session_id>/).--data-dir <path>
--session| Form | Example | Resolution |
|---|---|---|
| Agent Session UUID | | Pass-through |
MessagingSession id ( | | Resolved via |
~/.vibe/data/investigating-agentforce-d360/<org_id15>/<agent>__<ver>/<session_id>/--data-dir <path>sorted(agents_observed)<agent>__<ver>/forcedotcom/sf-skillsPLUGIN_ROOTprefix="${SKILL_ROOT:-${PLUGIN_ROOT:-$HOME/.vibe/skills}/investigating-agentforce-d360}/scripts""$prefix/..."discover_sessions.pypython3 "$prefix/discover_sessions.py" --org <alias> [filters...]--org--since <expr>--agent <api-name>--channel <Messaging|Builder|Voice>--outcome <USER_ENDED|ESCALATED|TRANSFERRED|TIMEOUT|NOT_SET>--grep <substring>--tz <IANA>--limit <N>#UUIDStart (UTC)AgentChannelDurationOutcomefetch_dc.py → 24 dc.<name>.json + dc._session_manifest.json (DC Query REST waterfall, 5 waves)
assemble_dc.py → dc._session_tree.json (pure in-memory hierarchical join)
render_dc.py → dc._session_summary.md (human summary, multi-section)fetch_dc.py --session <sid> --org <alias>python3 "$prefix/fetch_dc.py" --session <session-id-or-messaging-id> --org <alias>--verbose--no-assemble--no-renderfetch_dc.pyassemble_dc.pyrender_dc.pyresolve_session.pydiscover_sessions.py--data-dir <path>--cache-dir <path>~/.vibe/{data,cache}/investigating-agentforce-d360/~/.vibe/data/investigating-agentforce-d360/<org_id15>/<agent>__<ver>/<session_id>/--data-dir <path>dc.sessions.json dc.steps.json dc.gateway_requests.json
dc.interactions.json dc.messages.json dc.gateway_responses.json
dc.participants.json dc.generations.json dc.gateway_request_llm.json
dc.content_quality.json dc.content_category.json dc.gateway_request_metadata.json
dc.tags.json dc.tag_definitions.json dc.gateway_request_tags.json
dc.tag_associations.json dc.tag_definition_associations.json
dc.feedback.json dc.feedback_details.json dc.gateway_records.json
dc.moments.json dc.moment_interactions.json
dc.telemetry_spans.json dc.app_generation.json
dc._session_manifest.json (per-DMO row counts + empties)
dc._session_tree.json (hierarchical join — session → interactions → steps → messages → generations → gateway)
dc._session_summary.md (rendered human summary)status: emptyassemble_dcreferences/artifacts.mdcontent_qualitycontent_categorygateway_request_metadatagateway_recordscounts.audit_chain_1to1_ok| Tool | Required |
|---|---|
| yes — |
| Data Cloud enabled on the target org | yes — the STDM + GenAI DMOs must have materialized for the session |
| Python 3.10+ | yes — pipeline scripts |
| User says | Skill does |
|---|---|
"Trace session | |
"Summarize what happened in | Resolve |
| "Find escalated sessions today in my-org on Messaging" | Run |
| "Walk me through this session" | Same as trace — read the rendered summary top to bottom |
dc._session_summary.mdidentity.modeidentity.bootstrap_variables+start + duration = +end--show-promptsrows == 0_unavailable_reasondc._session_tree.jsonreferences/dc_pipeline_contract.mdreferences/dc_dmo_fields.mdgateway_requests_dropped_by_stdmgateway_requestsplanner_ran_no_gateway_logsreferences/dc_pipeline_contract.mdinteractions_not_materialized_yet