Anti-Scam Utilities
Contact Centres
Insight Advisor
Patient Experience

Train AI agents to generate insights from institutional data

Workflow purpose

This guide demonstrates how to use Proto's platform to train an AI agent on your own institutional data – tickets, analytics exports, and reports – so it can answer open-ended analytical questions in chat instead of someone building a new dashboard each time. Insight Advisor turns "what was our fraud report rate last quarter compared to the annual average" into a conversational query rather than a data request that sits in someone's inbox for a week.

Who can benefit from this guide:

  • Regulators and central banks fielding recurring internal data requests
  • Enterprise operations teams who want self-serve reporting for non-technical staff
  • Compliance teams tracking trends across a large regulated population
  • Anyone currently exporting the same reports on a recurring basis

Generate insights from institutional data

This workflow lets anyone ask a plain-language question about institutional data and get a grounded answer, escalating for more detail when the question is too broad to answer safely. See how to train AI agents to generate insights from institutional data.

Just starting with the platform?
For initial setup of your AI agent – including workspace setup, agent training, and channel deployment – please start here. This workflow guide assumes your AI agent is set up and ready for more advanced configurations.

1. Create a trigger

Purpose: Start the flow whenever someone asks an analytical question in chat.

  • Navigate to the Actions tab in the AI agent settings.
  • Click “+ Add Trigger” and select the Message Received trigger type.
  • Name the trigger “Institutional insight”.
  • Add a description such as “Triggers when the user asks a question about institutional data, trends, or reports.”

2. Set chat variable – capture the question

Purpose: Store the user’s question exactly as asked, since it doubles as the LLM action’s input.

  • Add a Set chat variable action: question = _user_input.

3. LLM action – institutional insight

Purpose: Ground the answer in your own data rather than the model’s general knowledge.

  • Add an LLM action named Institutional insight.
  • Input text: {question}.
  • Output variable: insight_response.
  • Success branch: first action is Set chat variableinsight_response = _.json_parse(insight_response).
  • System prompt should define the fields answer (string), data_source (string, which report or dataset it drew from), and follow_up_question (string, “none” if the question was answerable as asked).

4. Branch – check for a follow-up

Purpose: Ask for more scope before guessing at an answer that could be wrong.

  • Add a Branch action.
  • Condition: insight_response["follow_up_question"] != "none" and insight_response["follow_up_question"] != none.
  • If a follow-up is needed: Send message with {insight_response["follow_up_question"]}, then Survey more_detail (Text, skip: On), then Set chat variable question = {question} {more_detail}, then jump back to the LLM action.
  • Branch (back check) on more_detail – “back” in _.lower(more_detail) → jump to menu.

5. Send the insight

Purpose: Deliver the answer with its source, so the person can trust and trace it.

  • Add a Send message action: “{insight_response[“answer”]} (Source: {insight_response[“data_source”]})“

6. Test the flow

Purpose: Confirm the agent asks for clarification rather than fabricating an answer.

  • Ask a deliberately vague question and confirm the follow-up loop fires instead of a guessed answer.
  • Ask a question outside the trained dataset’s scope and confirm the agent says so rather than answering anyway.
  • Ask the same question twice and confirm the answer and data source stay consistent.