Core Lindy workflow for creating and configuring AI agents. Use when building new agents, defining agent behaviors, or setting up agent capabilities. Trigger with phrases like "create lindy agent",...
Complete workflow for creating, configuring, and testing Lindy AI agents. Agents consist of four components: Prompt (behavioral instructions), Model (AI engine), Skills (available actions), and Exit Conditions (completion criteria).
Before building, document:
Option A — Natural Language (recommended):
Click New Agent at
Describe your agent in plain English:
When a customer emails support@company.com, classify the email as
billing/technical/general, draft a response using our knowledge base,
and post the classification to #support-triage in Slack
Agent Builder auto-generates trigger + action nodes
Option B — Manual Build:
Open Settings > Prompt. Structure it with clear sections:
## Identity
You are a customer support classifier and responder for [Company].
## Instructions
1. Read the incoming email carefully
2. Classify into: billing, technical, or general
3. Search the knowledge base for relevant answers
4. Draft a professional response using the KB results
5. If no KB match found, escalate to human
## Constraints
- Never promise refunds or credits without human approval
- Keep responses under 200 words
- Always include ticket reference number
Prompt best practices (from Lindy docs):
"Go down this path if the email is about billing"For each action, set field modes:
Auto mode — Agent infers the value from all previous step data:
Best for: predictable mappings where field names align
AI Prompt mode — Give natural language instructions:
Summarize the email in 2 sentences, then include the classification.
Reference: {{email_received.body}}
Set Manually mode — Exact value, no AI:
Channel: #support-triage
| Trigger | Use Case | Configuration |
|---|---|---|
| Webhook Received | External API calls | URL + secret key |
| Email Received | Inbox automation | Gmail/Outlook + label filters |
| Schedule | Recurring tasks | Cron-style: daily, weekly, custom |
| Chat Message | Interactive bot | Lindy Chat or Embed widget |
| Slack Message | Team automation | Channel + keyword filters |
| Agent Message | Multi-agent delegation | Receives from other Lindies |
| Calendar Event | Meeting automation | Minutes offset (-30 = 30 min before) |
| Form Submission | Lead capture | Connected form integration |
| Category | Actions |
|---|---|
| Send Email, Draft Reply, Search Inbox, Add Label | |
| Slack | Send Channel Message, Send DM, Thread Reply |
| Sheets | Update Spreadsheet, Get Document |
| Calendar | Create Event, Reschedule, Cancel |
| Knowledge | Search Knowledge Base, Resync KB |
| Code | Run Code (Python/JS in E2B sandbox) |
| Web | HTTP Request, Web Search, Website Crawler |
| Memory | Read/Create/Update/Delete Memory |
| Phone | Make Call, Transfer Call, End Call |
| Agent | Agent Send Message (delegation) |
| Error | Cause | Solution |
|---|---|---|
| "No trigger configured" | Agent has no trigger | Add at least one trigger node |
| Action fails silently | Wrong field mode | Switch to AI Prompt or Set Manually |
| KB returns no results | Fuzziness too low | Increase to 100 (semantic search) |
| Condition always picks same path | Ambiguous prompt | Make conditions more specific |
| Agent loops indefinitely | No exit condition | Add measurable exit criteria |
Produce an agent specification with a named trigger, explicit identity and constraints, ordered actions, safe failure behavior, and one acceptance fixture that proves the agent performs the intended task without unintended side work.
Create a lead-routing agent triggered by a tagged form submission. It validates the required fields, assigns the record only when the stated routing rule matches, and otherwise records a review task; a fixture for each branch proves the constraints are applied before any connected-system action.
Proceed to lindy-core-workflow-b for triggers, automation, and multi-agent delegation.