Blu Research Agents
How a Research Agent actually runs: streaming live while you test it, running once for a single user or account, or running automatically inside a Journey.
Covered in the Academy. Intempt Academy covers blu, your ai copilot step by step.
Overview
A Research Agent is one of Blu's agent types, alongside Lifecycle and Qualification agents. Unlike the Blu Chat panel, it isn't a back-and-forth conversation: you set up a list of natural-language questions once, and the agent answers them against a user or account, then maps each answer to an attribute.
This article covers how a Research Agent actually runs, once it exists: testing it live, running it once for a single user or account, or running it automatically inside a Journey. For building the agent itself, see Creating a Research agent.
How it works
Three ways a Research Agent runs
Testing it while you build it. The Test button in the agent editor runs your questions against a sample user or account without saving anything. Results stream in one question at a time as each one finishes, so you can see which questions are working before you save the agent.
Running it once for a single user or account. A saved agent can also be run directly against one user or account, for testing or one-off enrichment, instead of waiting for that entity to reach a Journey. This always runs fresh: even if the agent already has an answer for that user or account, running it manually re-asks the questions and overwrites the stored result.
Running it automatically inside a Journey. Add the Research Agent block to a Journey and pick the agent from the block's dropdown. When a user or account reaches that block, the agent runs in the background and updates the specified attributes. Unlike a manual run, a Journey-triggered run skips re-asking a question it's already answered for that user or account, so the same enrichment isn't repeated on every pass through the Journey.
📘 Good to know
A Journey's Research Agent block only completes if every question in the agent returns a valid answer. If even one question fails, the Journey ends for that user or account at that block. See Managing a Research agent for how to configure this.
Filters decide who's eligible
An agent can be scoped to a segment, and the same check applies no matter how it runs. If the user or account doesn't match the agent's filters, a Test or manual run reports it as not eligible instead of processing it, and a Journey run ends for that user at that block, the same as a failed question.
Getting started
- Go to Attributes, click Create attribute and pick Research under AI Attribute Types, or open an existing Research attribute. See Creating a Research agent for the full editor walkthrough.
- Add one or more questions, and pick which attribute each answer should update.
- Click Test and pick a sample user or account. Watch each question's result stream in before deciding to save.
- Save the agent. Then either add the Research Agent block to a Journey, or run the agent directly against a single user or account when you need a one-off answer.
- Open that user's or account's profile to see the target attribute update once the agent completes.
Use cases
- Spot-checking one prospect before turning an agent loose on a Journey. Run it manually against a single account first, so you're not debugging a bad prompt across your whole audience.
- Refreshing a stale answer. A manual run always re-asks the questions, even if the agent already answered them for that user or account, so you can correct or update an out-of-date result on demand.
- Trying out a new question before it goes live. Use Test to see a question's result before it's part of a Journey that real users pass through.
- Letting a Journey skip repeat work. Rely on the Journey-triggered run's automatic skip for users or accounts an agent has already answered, instead of re-running the same enrichment on every pass.
- Diagnosing a Journey that's dropping users at a Research Agent block. Check whether a filter is excluding them, or whether one of the agent's questions is failing to return an answer.
