The situation
An Agentforce assistant answers service questions using current Salesforce Case/order data, approved Knowledge, and external support documents ingested into Data 360. Public articles, customer-specific documents, and restricted internal procedures coexist. In this exercise the document feed runs nightly, order status changes within minutes, and a revoked document is still present in yesterday's index. Payment and identity fields must never enter the model context. A pilot answer cites an old policy and includes another customer's document.
Design a retrieval-before-generation path. (1) Separate ingestion, parsing/chunking, index/retriever selection, and live CRM reads; justify search choices rather than assuming one universal Data 360 setup. (2) Handle freshness, deletion/revocation, and stale caches. (3) Enforce the caller's effective access before content enters the prompt, including external-document entitlements; do not assume CRM sharing automatically follows every ingestion path. (4) Preserve source identity/version and usable citations. (5) Define behavior for absent, conflicting, or unsupported evidence rather than trusting a confidence score alone. (6) Minimize sensitive context and logs, describe negative-access tests, and monitor retrieval failures. Do not assume Trust Layer masking is enabled for runtime Agentforce actions; verify protections for the selected product and execution path.
Consider in your response
- Design retrieval before generation
- Separate freshness from authorization
- Preserve citations and provenance
- Prevent unauthorized context exposure
- Handle unsupported answers safely