Retool Agents
The following lab covers the use of Retool Agents product to build a project manager from scratch.
Requirements
It is recommended that you complete the following courses in Retool University to understand terminology and the Retool Agents product. These are available in the AI Fundamentals Path and Adv. Developer Path, or individually as courses.
- AI Agent Concepts Course
- Retool Agents Course
Introduction
Agents are AI systems that can take on complex tasks by using tools, accessing systems, and querying data—without needing step-by-step instructions. With Retool Agents, developers can quickly spin up agents using templates or start from scratch. You can define their behavior with natural language instructions, connect them to tools like workflows, queries, and backend functions, and interact with them through a built-in chat interface. Once live, you can monitor and improve your agents with built-in evals and deep observability features.
With Agents, the use cases are endless, but we have a few use cases we believe you’ll get value from immediately. In today’s Lab, we’ll be building the first Agent listed in the below table:
Agent Name | Description | Tools |
---|---|---|
Project Management Agent | Purpose: Assistant that helps synthesize stand‑up meetings and translate actions into Linear tickets. Capabilities:
| Linear, AI‑notetaker, Email |
Executive Assistant Agent | Purpose: Intelligent meeting scheduler that handles complex calendar coordination. Capabilities:
| Calendar, Slack, Email |
Sales Research Agent | Purpose: Personalized prospect engagement within minutes of signup. Capabilities:
| Calendar, Email, Salesforce, Internal Docs, Gong, Video/Slide APIs |
Chargeback Resolution Agent | Purpose: Automated fraud detection and chargeback dispute management. Capabilities:
| Stripe, Databricks |
Use Case Introduction
Objective
We're going to tackle that first use case focused on project management. Let's streamline your workday by automating the most repetitive, high‑volume tasks: capturing action items from stand‑ups and converting them into Linear issues.
This lab will involve a few external resources:
Resource | Purpose | Setup |
---|---|---|
Linear (personal developer sandbox) | Issue tracking + API endpoint for creating tasks | Create a sandbox workspace and a Linear app (clientID + secret) |
AWS Lambda – Call Transcripts | Provides example stand‑up transcript data for parsing | Connect to the provided Lambda function |
Setup
Ensure you can access Retool Agents (Public Beta, Cloud only)
- In your Retool Cloud org, locate Retool Agents Beta in the global header.
- Admins see it automatically. Other roles need an admin to enable the beta (Settings → AI → AI Agents).
- Self‑hosted users must upgrade to v3.207‑edge (or later) and toggle Agents in Settings → Beta features.
- Click Agents to open the All agents page.
- Confirm AI Models are enabled and that you have at least one Anthropic connection (for Claude 3.7 Sonnet) or an OpenAI connection.
Create a Linear Developer Sandbox & Retool Resource
-
Sign up on Linear and create a workspace (skip any extras).
-
Create an OAuth app (
Settings
→API
→OAuth Applications
→New OAuth app
):- Name –
ProjectPal Agent
- Developer name –
Hello World
- Developer URL –
http://test.com
- Click Create.
- Save your Client ID and Client Secret for the next step.
- Name –
-
In Retool, navigate to Resources → Create new resource → GraphQL.
-
Define your new resource:
- Name –
Linear Resource
- Base URL –
https://api.linear.app/graphql
- Headers
Authorization
–Bearer OAUTH2_TOKEN
- Authentication – OAuth 2.0
- Auth URL –
https://linear.app/oauth/authorize?actor=app
- Access Token URL –
https://api.linear.app/oauth/token
- Client ID –
{{ Paste your Client ID from Linear }}
- Client Secret –
{{ Paste your Client Secret from Linear }}
- Scopes –
read write issues:create comments:create timeSchedule:write
- Prompt –
Consent
- Name –
-
Back in Linear, add the Callback URL supplied by Retool to your OAuth app.
-
Return to Retool and click Connect with OAuth to test the resource.
Connect to a Demo Transcripts Resource
- In Retool, navigate to Resources → Create new Resource → OpenAPI
- Name your resource “Transcript Resource”
- Define your new resource
- baseURL –
https://9z1qea8sjk.execute-api.us-east-2.amazonaws.com/openapi.json
- Authentication – None
- baseURL –
- Test Connection
Steps
Create an Agent & Define the Goal
The first step in building your Agents involves defining the Agent configuration. Retool Agents pre‑define most of the “Cognitive Architecture,” letting you add instructions & select your preferred model to perform high‑order ReAct‑based reasoning.
-
From Agents → + Agent → Start from scratch, click Create.
-
Name the agent (e.g., ProjectPal) and write a concise Description.
-
In the Configuration tab, replace the default Instructions with the following outcome‑focused statement:
You are ProjectPal, an intelligent project management assistant designed to help teams stay organized, track progress, and maintain alignment on priorities and deadlines. you are chatting with {{ current_user.firstName }} {{ current_user.lastName }}. Their email is {{ current_user.email }}, and the date is {{ new Date() }}.
PRIMARY CAPABILITIES:
- Analyze meeting transcripts to extract action items, decisions, and commitments
- Track project progress and identify potential blockers or risks
- Create and manage tasks in Linear based on conversations and commitments
- Provide status updates across projects and team members
- Connect meeting discussions to project tracking systems
AVAILABLE TOOLS:
1. getAllTranscripts: Retrieves all transcripts from weekly Monday standup meetings
2. getTranscript: Retrieves a single transcript by date (format: "YYYY-MM-DD")
3. Get Linear Users: Retrieves all users from the Linear project management system
4. Get Linear Issues: Retrieves all issues from Linear
5. Create Linear Issue: Creates a Linear issue with the specified title and description, automatically assigned to the team
CORE BEHAVIORS:
- Proactively identify action items in meeting transcripts and convert them to trackable tasks
- Maintain awareness of project timelines and alert users to upcoming deadlines
- Connect related discussions across multiple meetings to provide context
- Identify when team members commit to deliverables and follow up appropriately
- Surface potential conflicts in priorities or resource allocation
- Maintain a neutral, helpful tone focused on team productivity
CONSTRAINTS:
- Never create tasks without clear ownership and context
- Respect privacy when discussing individual performance
- Prioritize accuracy over comprehensiveness when creating summaries
- Do not make assumptions about timelines unless explicitly stated
- Maintain a clear audit trail between meeting discussions and created tasks
When responding to users, always:
1. Acknowledge their request clearly
2. Explain what information you're using to respond
3. Provide concise, actionable information
4. Offer relevant follow-up options
Your primary goal is to reduce administrative overhead while ensuring nothing important falls through the cracks. -
Select Claude 3.7 Sonnet (Retool‑managed) in the Model dropdown.
-
Set the Temperature to 0.70.
-
Set the Max Iterations to 14.
Add & Customize Tools
After crafting your agent’s instructions, the next step is to integrate external resources and functions through Tools.There are a variety of Tool types, including Core Tools, Custom tools, and MCP Server Tools.
Add Core Tools
Let’s start by empowering your Agent to send and reply to emails.
- Click Add Tool → enable Send Email & Reply to Email.
- Click Add 2 tools to attach them to the agent.
Create a Custom Tool Get All Transcripts
Build a custom tool that retrieves all call transcripts.
- Add Tool → Create new custom tool.
- Name:
getAllTranscripts
; Description: “This gets all meeting transcripts for our standup meetings that happen every Monday.” - Parameters: N/A
- Function Logic:
- REST query accessing the Transcript Resource
GET /transcripts/getAllTranscripts
- Save
Create a Custom Tool Get Transcript
Now create a second custom tool to retrieve one transcript.
- Add Tool → Create new custom tool.
- Name:
getTranscript
; Description: “Get a single transcript by date (YYYY‑MM‑DD). Valid dates: '2025‑04‑28', '2025‑05‑05', '2025‑05‑12', …” - Parameters:
date
(String, required) - Function Logic:
- REST query accessing the Transcript Resource
GET /transcripts/getTranscript/{date}
- Path
{{ params.date }}
Create a Custom Tool Get Linear Users
Retrieve Linear users.
-
Add Tool → Create new custom tool.
-
Name:
Get Linear Users
; Description: “Get all Linear users.” -
Parameters: N/A
-
Function Logic:
-
GraphQL query (Linear Resource)
-
Body:
query {
users {
nodes {
name
email
active
teams {
nodes {
id
name
}
}
}
}
}
-
-
Run the query and note your
teamId
for later. -
Return statement:
return query.data.users.nodes
Create a Custom Tool Get Linear Issues
Retrieve all Linear issues.
- Add Tool → Create new custom tool.
- Name:
Get Linear Issues
; Description: “Get all open Linear issues.” - Parameters:
startDate
andendDate
(String, required) - Function Logic:
-
GraphQL query (Linear Resource)
-
Body:
query {
issues {
nodes {
title
description
}
}
} -
Return statement:
return query.data.issues.nodes
-
Create a Custom Tool Create Linear Issue
Automatically create issues.
- Add Tool → Create new custom tool.
- Name:
Create Linear Issue
; Description: “Create a Linear issue via Linear’s GraphQL API.” - Parameters:
title
(String, required) &description
(String, required) - Function Logic:
-
GraphQL query (Linear Resource)
-
Body:
mutation IssueCreate {
issueCreate(
input: {
title: "{{ params.title }}"
description: "{{ params.description }}"
teamId: "{{ insert_teamID_from_previous_step }}"
}
) {
success
issue {
id
title
}
}
}
-
Deploy the Agent
- Click Deploy (upper‑right).
- Choose Major version, add a short description, then Deploy.
Test the Agent
- Switch to the Chats tab.
- Ask, “What action items came from the most recent stand‑up?”
- Observe tool‑chips for each execution.
Build a Sample Dataset
- Switch to the Datasets tab.
- Create a dataset called “tool‑use‑dataset.”
- Add Test Case – Get all tickets from Linear
- Expected Tool: Get Linear Issues
- Add Test Case – Get the transcript from 2025‑05‑12
- Expected Tool: getTranscript
- Expected Params:
date: 2025‑05‑12
- Add Test Case – Please get all transcripts from the Transcripts API
- Expected Tool: getAllTranscripts
Run Your First Eval
- Switch to the Evals tab.
- Click Run.
- Select tool‑use‑dataset and run.
Your eval should complete at 100 % accuracy.
Wrap‑Up
By completing the lab, you can now:
- Configure a Retool Agent from scratch.
- Combine core and custom tools.
- Deploy safely with release versions.
- Validate results using an Eval and golden dataset.