| name | agent-action-input-slot-extraction |
| description | Use when designing how an Agentforce agent extracts structured input parameters (slots) from a user's natural-language utterance to invoke an action. Triggers: 'agent extract date from user', 'agent action argument extraction', 'agentforce slot filling', 'agent invocable input mapping', 'agent fails to fill required parameter'. NOT for action authoring (use agentforce/agent-actions) or for prompt-template variable binding (use agentforce/prompt-builder-templates). |
| category | agentforce |
| salesforce-version | Spring '25+ |
| well-architected-pillars | ["Reliability","User Experience"] |
| triggers | ["agent action not getting the date the user said","agentforce slot filling missing required argument","how to teach the agent to extract phone number from utterance","agent invocable input mapping description","ambiguous user input agent re-prompt"] |
| tags | ["agentforce","actions","slot-filling","prompt-design"] |
| inputs | ["the action's invocable input variables (name, type, description, required)","sample user utterances and the slot values that should be extracted","policy for missing/ambiguous slots (re-prompt vs. default vs. abort)"] |
| outputs | ["input variable descriptions tuned for slot extraction","utterance → slot test cases","re-prompt strategy for missing required inputs"] |
| dependencies | [] |
| version | 1.0.0 |
| author | Pranav Nagrecha |
| updated | 2026-04-30T00:00:00.000Z |
Agent Action Input Slot Extraction
Activate when the agent invokes an Apex/Flow action correctly but with the wrong arguments — date misread, account id missing, picklist value paraphrased, phone number truncated. The skill produces tuned input-variable descriptions, utterance-level test cases, and a re-prompt policy for ambiguous or missing inputs.
Before Starting
Gather this context before working on anything in this domain:
- The action's invocable definition: each input variable's
name, type, description, and required flag. The description is the primary signal the LLM uses to extract values; vague descriptions → wrong slots.
- Real user utterances. Synthetic test cases miss the verbal patterns users actually produce ("schedule it for next Tuesday afternoon, ish").
- Whether the action is a one-shot invocation or part of a multi-turn flow. Multi-turn allows re-prompts; one-shot must succeed-or-fail with the first utterance.
Core Concepts
How slot extraction works
When the agent recognizes that an action should be invoked, it constructs an LLM prompt containing:
- The action's invocable input variables and their descriptions
- The user's utterance(s)
- The conversation context
The LLM extracts values for each input variable and validates them against the input type. Missing required inputs trigger a re-prompt cycle.
The description field is the lever. A description like "Date" gets misread for any date in the utterance. "The customer's preferred appointment date in ISO 8601 (YYYY-MM-DD); reject relative phrases like 'next week'" constrains extraction.
Types and coercion
| Input type | Extraction behavior | Common failure |
|---|
Date | LLM parses natural language → ISO date | "next Tuesday" parses inconsistently across timezones |
DateTime | Same + time-of-day | Vague times ("afternoon") get pinned to noon by default |
String | Free-form | Verbose users put unrelated content in the slot |
Picklist (Apex enum / Flow choice) | LLM matches utterance to one of the values | Synonyms get rejected unless described |