Search is coming soon — browse Launches, Reviews, or Best Tools from the nav for now.

Tutorial · beginner·By Priya Raman·15 minutes·Sim

How to Build Your First AI Agent Workflow in Sim

Prerequisites

  • · A free Sim account at sim.ai — no API keys needed to start, hosted Sim includes model and search-tool credits
Sim logo, the open-source AI agent workflow platformAI

What you’ll build

A “people research agent” — a workflow that takes a person’s name through a chat interface, searches the web for their location, profession, and education, and hands back a clean, structured JSON object instead of a wall of prose. It’s the same first workflow Sim’s own onboarding uses, and it’s a good way to see the three ideas that matter most in Sim: blocks, tools, and structured output.

By the end, you’ll have a working agent that decides for itself when to search the web, a JSON schema generated from a plain-language description instead of hand-written code, and a sense of how to debug the two things that most commonly go wrong with a first agent: it not searching when it should, and its output not matching the shape you expected.

Step 1: Create a new workflow

In the sidebar, click the + next to Workflows and name it “Getting Started.” Sim drops a Start block on the canvas automatically — that’s the entry point that receives whatever you type into the chat panel.

Step 2: Add and configure an Agent block

Drag an Agent block onto the canvas. This is where the actual LLM call happens. Set:

  • System prompt: You are a people research agent. When given a person's name, use your search tools to find their location, profession, educational background, and other relevant details.
  • User field: insert <start.input> so the agent receives whatever the user typed into the Start block
  • Model: leave the default (Sim ships with claude-sonnet-4-6 pre-selected) or swap in another supported model

The system prompt is doing more work than it looks like — it’s the only thing telling the model it’s allowed to use tools rather than just answering from what it already knows. A vague prompt like “help with people” tends to produce an agent that guesses instead of searching.

Step 3: Give the agent search tools

In the Agent block’s Tools section, add Exa and Linkup — both are web-search tools the agent can call on its own. You don’t script when they’re used; the agent decides at runtime whether a query needs a search to answer.

Giving it two search providers instead of one isn’t redundant: if a query returns thin results from one, the agent can fall back to the other in the same run rather than the workflow failing outright.

Step 4: Run a test query

Open the Chat panel, set the output to agent1.content, and send a test query — a person’s name is enough. You should get back a few sentences describing what the agent found.

Try a second, more ambiguous name (something like a common first-and-last-name combination) to see how the agent handles it — a well-behaved run should either narrow down which person it means using context clues, or say explicitly that the name is ambiguous, rather than confidently describing the wrong person.

Step 5: Force structured output

Prose is fine for a demo, but most real workflows need JSON they can pipe into another system. Click the magic-wand icon in the Agent block’s Response Format field and type a plain-language request, e.g. “create a schema named person, that contains location, profession, and education.” Sim generates the schema for you.

Step 6: Test the structured version

Go back to the Chat panel, switch the output selector to the new structured-output option, and send another query. This time the response comes back as JSON matching the schema you just described — ready to feed into a Slack message, a database write, or another block in the same workflow.

Troubleshooting

  • The agent answers from memory instead of searching — this is almost always the system prompt, not the tools. Make the instruction explicit and unconditional (“always use your search tools before answering, even if you think you already know”) rather than leaving search as implied.
  • Structured output comes back with missing or null fields — the agent can only fill in what it actually found. If a field is consistently empty across several test names, check whether the search tools are returning results at all before assuming the schema is the problem.
  • Schema generation produces fields you didn’t ask for — the magic-wand generator interprets your plain-language request loosely. Re-describe the schema more literally (exact field names, in the order you want them) rather than iterating on the generated JSON by hand.
  • Chat panel shows an error instead of a response — check that the output selector still points at a field that exists; switching between agent1.content and the structured-output option is the most common place this breaks after editing the Response Format.

Where to go from here

This workflow only used one block, but the same pattern — Start → Agent (with tools) → structured output — is the backbone of most things people build in Sim. From here, Sim’s canvas supports 1,000+ integrations (Slack, Supabase, Pinecone, Gmail, and more), so the natural next step is swapping the search tools for whichever service your own workflow actually needs to touch.

Once the workflow does what you want, Sim’s deploy options turn it into something other systems can call without opening the canvas at all: a REST API endpoint your own backend can hit, a shareable hosted chat link for non-technical teammates, or an MCP server that other AI agents can call as a tool in their own workflows. Which one makes sense depends entirely on who’s meant to trigger this workflow next — a script, a person, or another agent.