Policy Retrieval via Input Routing
Definitive, no-guessing-needed guide for builders using GLIK Studio to dynamically fetch policy files based on user context.
This page explains how to dynamically retrieve the correct policy file (e.g., .docx, .json, or .yaml) based on user-provided context like user_region, submission_type, and user_role.
This is a core pattern in the Global Control Copilot template, where logic and validation depend on loading the right ruleset for the right user at the right time.
Whether you're pulling from a static dataset, using in-memory config, or accessing GLIK Knowledge, this page shows you exactly how to route logic and retrieve the right file — without hardcoding anything.
🧩 What This Pattern Enables
✅ Load MiCA, SOX, or fallback policies based on
user_region✅ Adjust document-based compliance logic dynamically per session
✅ Inject policy text into downstream LLM blocks, classifiers, and decisions
✅ Enable jurisdiction-aware automation at runtime
✅ Keep workflows modular, reusable, and future-proof
🔁 High-Level Pattern
IF/ELSE → SET VARIABLE → GET POLICY → (use in logic / LLM)This means:
You detect the input conditions
You set a policy key (e.g.,
policy_reference = "SOX")You fetch the associated file or memory chunk using that key
You inject the contents downstream
🖼️ Example Logic (Visual from Studio)
IF/ELSE Conditions:
region == EUsubmission_type == Disclosureuser_role == Finance Manager→ thenSET policy_reference = "MiCA"
GET POLICY Block:
File name or memory key:
{{policy_reference}}.docx
📂 Example Policy Files
These files live in your GLIK Cloud Dataset or are registered in memory/knowledge.
MiCA
MiCA_EU.docx
Dataset
SOX
SOX_Controls_2025.json
Dataset or Memory
GDPR
GDPR-Disclosure.yaml
Knowledge
Fallback_Policy
InternalPolicy.pdf
Static default
Best practice: Keep the file name aligned with the variable (e.g., policy_reference = SOX → SOX.docx).
💡 Tips for Builders
✅ Save Point Logging
Always log the policy name for auditability and traceability.
{
"user_region": "US",
"submission_type": "Attestation",
"user_role": "Legal Counsel",
"policy_reference": "SOX"
}✅ Add session_label or policy_source tags in memory:
session_label or policy_source tags in memory:session_label: "SOX US Submission"
policy_source: "Dataset"🛡️ Fallback Handling
If no policy matches the user's inputs:
Use a default case in your
IF/ELSEblock:
ELSE → SET policy_reference = "Fallback_Policy"Add a logic check before GET POLICY:
IF policy_reference == null → route to escalation or system error handling🔐 Dataset Access & Security
✅ Public or Shared Dataset Policies:
Easy to reuse
Visible across workspaces (read-only recommended)
✅ Private Dataset Policies:
Best for sensitive rules
Assign roles in the GLIK Workspace permissions
✅ In-Memory Policies:
Fastest for demos
Good for SDK-based dynamic injection
🔄 Common Questions (and Clear Answers)
❓ What if I want to store the policy in memory instead of a dataset?
You can. Just assign policy_reference = "MiCA" and use the Memory Get or direct memory block instead of GET POLICY. Same pattern applies.
❓ Can I use Knowledge Retrieval instead of GET POLICY?
Knowledge Retrieval instead of GET POLICY?Yes. If your policies are stored as chunks in GLIK Knowledge, use the Knowledge Retrieval block and query by policy_reference.
retriever_query:
policy_name: {{policy_reference}}❓ What if my file isn’t found?
Handle this gracefully with a fallback route:
IF policy_reference == null OR file not found:
escalate = true
error_message = "Policy not found for session"❓ Can I pass the full contents of the file into the LLM?
Yes. After GET POLICY, pipe the output into your LLM block prompt like:
Here is the policy content:
{{policy_document.text}}
Review this submission against the rules above...Last updated
Was this helpful?

