Create a minimal working Lindy AI agent example. Use when starting a new Lindy integration, testing your setup, or learning basic Lindy API patterns. Trigger with phrases like "lindy hello world",...
Build a minimal Lindy AI agent: Webhook Received trigger -> LLM processing -> Slack notification. Demonstrates the three core building blocks every Lindy agent uses: Trigger, Agent Step (prompt + model + skills), and Action.
lindy-install-auth setupClick "New Agent" at
In the prompt field ("How can I help you?"), type:
When I send a webhook, summarize the message and post it to Slack
Agent Builder auto-generates the workflow with trigger + action nodes
Click the trigger node at the top of the workflow canvas
Select Webhook Received
Copy the generated URL:
https://public.lindy.ai/api/v1/webhooks/<unique-id>
Click Generate Secret β copy immediately (shown once)
Channel: #general (or test channel)
Message field mode: AI Prompt
Instruction:
Summarize the webhook payload in one sentence.
Payload: {{webhook_received.request.body}}
Open Settings > Prompt:
You are a webhook summarizer. When you receive a webhook payload,
extract the key information and create a concise one-sentence summary.
Be factual and specific. Do not add opinions or speculation.
curl -X POST "https://public.lindy.ai/api/v1/webhooks/YOUR_ID" \
-H "Authorization: Bearer YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{
"event": "order.created",
"customer": "Jane Doe",
"amount": 149.99,
"items": ["Widget Pro", "Adapter Cable"]
}'
Expected Slack message:
Jane Doe placed a $149.99 order for Widget Pro and Adapter Cable.
Navigate to the Tasks tab in your agent view. Confirm status shows Completed. Click into the task to see each step's input/output for debugging.
The finished agent accepts the test webhook, creates one completed Lindy task, and posts one concise Slack summary without exposing the webhook secret. Keep the agent URL, task ID, and sanitized test payload as the setup receipt so the workflow can be retested after changes.
Send an order.created event to a test-only webhook and confirm that the
configured Slack channel receives βJane Doe placed a $149.99 order for Widget
Pro and Adapter Cable.β If the request returns 401, replace the placeholder
secret with the webhook secret generated for that same agent rather than a
different workspace credential.
| Component | Purpose | Hello World Value |
|---|---|---|
| Prompt | Core behavioral instructions | "Summarize webhook payloads" |
| Model | AI engine powering decisions | Default (GPT-4 / Claude / Gemini) |
| Skills | Available actions & tools | Slack Send Channel Message |
| Exit Conditions | When the task is "done" | Message sent successfully |
| Variable | Contents |
|---|---|
{{webhook_received.request.body}} |
Full JSON payload |
{{webhook_received.request.headers}} |
HTTP request headers |
{{webhook_received.request.query}} |
URL query parameters |
| Mode | Behavior | Credit Cost |
|---|---|---|
| Auto | Agent determines value from context | Standard |
| AI Prompt | Natural language instructions generate content | Standard |
| Set Manually | Exact value, no AI processing | Lower |
Replace the Slack action with Gmail Send Email:
"Summary: {{webhook_received.request.body.event}}""Summarize this event: {{webhook_received.request.body}}"| Issue | Cause | Solution |
|---|---|---|
| Webhook returns 401 | Missing Authorization header | Add Bearer <secret> header |
| Slack message not sent | Channel not authorized | Re-authorize Slack in Lindy |
| Task shows "Failed" | Action misconfigured | Check field references in step config |
| No task created | Agent not active | Publish/activate the agent |
| Empty summary | Payload not reaching LLM | Verify {{webhook_received.request.body}} reference |
~1-3 credits per invocation on basic models. Free tier (400 credits/month) supports ~130-400 test runs per month.
Proceed to lindy-core-workflow-a for a full multi-step agent workflow.