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:

  1. You detect the input conditions

  2. You set a policy key (e.g., policy_reference = "SOX")

  3. You fetch the associated file or memory chunk using that key

  4. You inject the contents downstream


πŸ–ΌοΈ Example Logic (Visual from Studio)

IF/ELSE Conditions:

  • region == EU

  • submission_type == Disclosure

  • user_role == Finance Manager β†’ then SET 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.

policy_reference
File Name
Source Type

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: "SOX US Submission"
policy_source: "Dataset"

πŸ›‘οΈ Fallback Handling

If no policy matches the user's inputs:

  1. Use a default case in your IF/ELSE block:

ELSE β†’ SET policy_reference = "Fallback_Policy"
  1. 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?

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?