Skip to main content

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.

  1. AI Agent Concepts Course
  2. 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 NameDescriptionTools
Project Management AgentPurpose: Assistant that helps synthesize stand‑up meetings and translate actions into Linear tickets.

Capabilities:
  • Answers questions about past team meetings
  • Generates tickets in the backlog from transcripts
  • Distributes meeting notes and action items via email
Linear, AI‑notetaker, Email
Executive Assistant AgentPurpose: Intelligent meeting scheduler that handles complex calendar coordination.

Capabilities:
  • Finds optimal meeting times across attendees & time zones
  • Distinguishes movable internal meetings from fixed external commitments
  • Proactively reschedules lower‑priority events
  • Follows natural‑language rescheduling rules
Calendar, Slack, Email
Sales Research AgentPurpose: Personalized prospect engagement within minutes of signup.

Capabilities:
  • Sends tailored welcome emails for new sign‑ups
  • Researches prospects via LinkedIn/X for personalization opportunities
  • References relevant customer logos and success stories by industry
  • Generates custom briefing materials and sales decks before calls
  • Creates personalized demo materials for immediate follow‑up
Calendar, Email, Salesforce, Internal Docs, Gong, Video/Slide APIs
Chargeback Resolution AgentPurpose: Automated fraud detection and chargeback dispute management.

Capabilities:
  • Monitors Stripe daily for new chargebacks
  • Compiles evidence (usage logs, IP validation, support history)
  • Submits dispute documentation to the payment processor
  • Contacts customers when appropriate for resolution
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:

ResourcePurposeSetup
Linear (personal developer sandbox)Issue tracking + API endpoint for creating tasksCreate a sandbox workspace and a Linear app (clientID + secret)
AWS Lambda – Call TranscriptsProvides example stand‑up transcript data for parsingConnect to the provided Lambda function

Setup

Ensure you can access Retool Agents (Public Beta, Cloud only)

  1. 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.
  2. Click Agents to open the All agents page.
  3. 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

  1. Sign up on Linear and create a workspace (skip any extras).

  2. Create an OAuth app (Settings → API → OAuth Applications → New OAuth app):

    1. NameProjectPal Agent
    2. Developer nameHello World
    3. Developer URLhttp://test.com
    4. Click Create.
    5. Save your Client ID and Client Secret for the next step.
  3. In Retool, navigate to Resources → Create new resource → GraphQL.

  4. Define your new resource:

    1. NameLinear Resource
    2. Base URLhttps://api.linear.app/graphql
    3. Headers
      • AuthorizationBearer OAUTH2_TOKEN
    4. AuthenticationOAuth 2.0
    5. Auth URLhttps://linear.app/oauth/authorize?actor=app
    6. Access Token URLhttps://api.linear.app/oauth/token
    7. Client ID{{ Paste your Client ID from Linear }}
    8. Client Secret{{ Paste your Client Secret from Linear }}
    9. Scopesread write issues:create comments:create timeSchedule:write
    10. PromptConsent
  5. Back in Linear, add the Callback URL supplied by Retool to your OAuth app.

  6. Return to Retool and click Connect with OAuth to test the resource.


Connect to a Demo Transcripts Resource

  1. In Retool, navigate to Resources → Create new Resource → OpenAPI
  2. Name your resource “Transcript Resource”
  3. Define your new resource
    1. baseURL – https://9z1qea8sjk.execute-api.us-east-2.amazonaws.com/openapi.json
    2. Authentication – None
  4. 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.

  1. From Agents → + Agent → Start from scratch, click Create.

  2. Name the agent (e.g., ProjectPal) and write a concise Description.

  3. 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.
  4. Select Claude 3.7 Sonnet (Retool‑managed) in the Model dropdown.

  5. Set the Temperature to 0.70.

  6. 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.

  1. Click Add Tool → enable Send Email & Reply to Email.
  2. 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.

  1. Add Tool → Create new custom tool.
  2. Name: getAllTranscripts; Description: “This gets all meeting transcripts for our standup meetings that happen every Monday.”
  3. Parameters: N/A
  4. Function Logic:
    • REST query accessing the Transcript Resource
    • GET /transcripts/getAllTranscripts
  5. Save

Create a Custom Tool Get Transcript

Now create a second custom tool to retrieve one transcript.

  1. Add Tool → Create new custom tool.
  2. Name: getTranscript; Description: “Get a single transcript by date (YYYY‑MM‑DD). Valid dates: '2025‑04‑28', '2025‑05‑05', '2025‑05‑12', …”
  3. Parameters: date (String, required)
  4. Function Logic:
    • REST query accessing the Transcript Resource
    • GET /transcripts/getTranscript/{date}
    • Path
      1. {{ params.date }}

Create a Custom Tool Get Linear Users

Retrieve Linear users.

  1. Add Tool → Create new custom tool.

  2. Name: Get Linear Users; Description: “Get all Linear users.”

  3. Parameters: N/A

  4. Function Logic:

    • GraphQL query (Linear Resource)

    • Body:

      query {
      users {
      nodes {
      name
      email
      active
      teams {
      nodes {
      id
      name
      }
      }
      }
      }
      }
  5. Run the query and note your teamId for later.

  6. Return statement: return query.data.users.nodes

Create a Custom Tool Get Linear Issues

Retrieve all Linear issues.

  1. Add Tool → Create new custom tool.
  2. Name: Get Linear Issues; Description: “Get all open Linear issues.”
  3. Parameters: startDate and endDate (String, required)
  4. 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.

  1. Add Tool → Create new custom tool.
  2. Name: Create Linear Issue; Description: “Create a Linear issue via Linear’s GraphQL API.”
  3. Parameters: title (String, required) & description (String, required)
  4. 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

  1. Click Deploy (upper‑right).
  2. Choose Major version, add a short description, then Deploy.

Test the Agent

  1. Switch to the Chats tab.
  2. Ask, “What action items came from the most recent stand‑up?”
  3. Observe tool‑chips for each execution.

Build a Sample Dataset

  1. Switch to the Datasets tab.
  2. Create a dataset called “tool‑use‑dataset.”
  3. Add Test CaseGet all tickets from Linear
    • Expected Tool: Get Linear Issues
  4. Add Test CaseGet the transcript from 2025‑05‑12
    • Expected Tool: getTranscript
    • Expected Params: date: 2025‑05‑12
  5. Add Test CasePlease get all transcripts from the Transcripts API
    • Expected Tool: getAllTranscripts

Run Your First Eval

  1. Switch to the Evals tab.
  2. Click Run.
  3. 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.

Additional Resources