Skip to main content 홈 크리에이터 jeremylongshore tons-of-skills-marketplace lindy-webhooks-events
lindy-webhooks-events Configure Lindy AI webhook triggers, callback patterns, and event handling.
Use when setting up webhook triggers, implementing callback receivers,
or building event-driven Lindy integrations.
Trigger with phrases like "lindy webhook", "lindy events",
"lindy callback", "lindy webhook trigger".
설치로 이동 Skills Marketplace 커뮤니티가 만든 AI 스킬을 발견하고 탐색하세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/jeremylongshore/tons-of-skills-marketplace --skill lindy-webhooks-events명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Zip 다운로드 다운로드 중... 이 저장소의 다른 Skills langchain-deploy-integration Deploy a LangChain 1.0 / LangGraph 1.0 app to Cloud Run, Vercel, or LangServe correctly — with timeouts sized for chain length, cold-start mitigation, SSE anti-buffering headers, and Secret Manager over .env. Use when prepping a first production deploy, debugging a stream that hangs behind a proxy, or diagnosing p99 latency spikes. Trigger with "langchain deploy", "langchain cloud run", "langchain vercel python", "langchain langserve", or "langchain docker".
langchain-langgraph-agents Build a correct LangGraph 1.0 ReAct agent with create_react_agent — typed tools, error propagation, recursion caps, and stop conditions that actually stop. Use when writing a first tool-calling agent, migrating from AgentExecutor or initialize_agent, or diagnosing an agent that loops on vague prompts. Trigger with "langgraph agent", "create_react_agent", "langgraph tool calling", "AgentExecutor migration", or "agent loop cost".
langchain-langgraph-human-in-loop Build LangGraph 1.0 human-in-the-loop approval flows with interrupt_before /
interrupt_after and Command(resume=...) — JSON-serializable state, clean
resume semantics, and UI wiring for approval decisions. Use when adding an
approval gate before an expensive tool call, wiring a Slack/web UI for agent
approvals, or debugging a graph that crashes on interrupt.
Trigger with "langgraph human in loop", "langgraph interrupt_before",
"langgraph approval flow", "Command resume", "langgraph HITL".
jeremylongshore
jeremylongshore/tons-of-skills-marketplace
GitHub 저장소 열기 name lindy-webhooks-events description Configure Lindy AI webhook triggers, callback patterns, and event handling.
Use when setting up webhook triggers, implementing callback receivers,
or building event-driven Lindy integrations.
Trigger with phrases like "lindy webhook", "lindy events",
"lindy callback", "lindy webhook trigger".
allowed-tools Read, Write, Edit, Bash(curl:*) version 1.15.0 license MIT author Jeremy Longshore <jeremy@intentsolutions.io> tags ["saas","lindy","webhooks"] compatibility Designed for Claude Code
Lindy Webhooks & Events
Overview
Lindy supports webhooks in two directions: Inbound (Webhook Received trigger
wakes an agent) and Outbound (HTTP Request action calls your API). This skill
covers both patterns, plus the callback pattern for async two-way communication.
Prerequisites
Lindy account with active agents
HTTPS endpoint for receiving callbacks (if using outbound/callback patterns)
Completed lindy-install-auth setup
Webhook Architecture
INBOUND (your system triggers Lindy):
[Your App] --POST--> https://public.lindy.ai/api/v1/webhooks/<id>
↓
[Lindy Agent Wakes Up]
↓
[Processes with LLM]
↓
[Executes Actions]
OUTBOUND (Lindy calls your system):
[Lindy Agent] --HTTP Request action--> https://your-api.com/endpoint
↓
[Your Handler]
CALLBACK (two-way async):
[Your App] --POST with callbackUrl--> [Lindy Agent]
↓
[Your App] <--POST to callbackUrl-- [Lindy: Send POST to Callback]
Instructions
Step 1: Create Webhook Received Trigger
In your agent, click the trigger node
Select Webhook Received
Lindy generates a unique URL:
https://public.lindy.ai/api/v1/webhooks/<unique-id>
Click Generate Secret — copy immediately (shown only once)
Configure follow-up processing mode:
Process in workflow : Handle in current workflow
Spawn separate task : Each webhook creates a new task
Discard follow-ups : Ignore subsequent requests while processing
Step 2: Access Webhook Data in Workflow
Reference incoming webhook data in any subsequent action field:
Variable Description Example {{webhook_received.request.body}}Full JSON payload {"event": "order.created", ...}{{webhook_received.request.body.event}}Specific field
{{webhook_received.request.headers}}All HTTP headers {"content-type": "application/json"}
{{webhook_received.request.query}}URL query params {"source": "stripe"}
Step 3: Implement Webhook Sender
interface LindyWebhookPayload {
event : string ;
data : Record <string , unknown >;
callbackUrl ?: string ;
metadata ?: Record <string , unknown >;
}
async function triggerLindy (payload : LindyWebhookPayload ): Promise <void > {
const response = await fetch (process.env .LINDY_WEBHOOK_URL !, {
method : 'POST' ,
headers : {
'Authorization' : `Bearer ${process.env.LINDY_WEBHOOK_SECRET} ` ,
'Content-Type' : 'application/json' ,
},
body : JSON .stringify (payload),
});
if (!response.ok ) {
throw new Error (`Lindy webhook failed: ${response.status} ` );
}
}
await triggerLindy ({
event : 'customer.support_request' ,
data : { email : 'user@co.com' , subject : 'Billing question' , body : '...' },
});
await triggerLindy ({
event : 'lead.qualified' ,
data : { name : 'Jane Doe' , company : 'Acme' , score : 85 },
callbackUrl : 'https://api.yourapp.com/lindy/callback' ,
});
Step 4: Implement Callback Receiver When you include a callbackUrl in your webhook payload, the agent can respond
using the Send POST Request to Callback action:
import express from 'express' ;
const app = express ();
app.use (express.json ());
app.post ('/lindy/callback' , (req, res ) => {
const auth = req.headers .authorization ;
if (auth !== `Bearer ${process.env.LINDY_WEBHOOK_SECRET} ` ) {
return res.status (401 ).json ({ error : 'Unauthorized' });
}
res.json ({ received : true });
handleCallback (req.body );
});
async function handleCallback (data : any ) {
console .log ('Lindy callback:' , data);
const { classification, sentiment, draft_response, confidence } = data;
if (confidence > 0.9 ) {
await sendAutoResponse (draft_response);
} else {
await escalateToHuman (data);
}
}
Step 5: Configure HTTP Request Action (Outbound) For Lindy agents that call your API as an action step:
Add action: HTTP Request
Configure:
Method : POST (or GET, PUT, DELETE)
URL : https://api.yourapp.com/endpoint
Headers (Set Manually):
Content-Type: application/json
Authorization: Bearer {{your_api_key}}
Body (AI Prompt mode):
Send the analysis result as JSON with fields:
classification, sentiment, summary
Based on: {{previous_step.result}}
Step 6: Add Trigger Filters Prevent unnecessary agent triggers:
Filter: body.event equals "order.created"
AND body.data.amount greater_than 100
This ensures the agent only processes high-value orders, saving credits.
Event Patterns
Pattern: Webhook + Slack Notification Webhook Received → Condition (classify event type)
→ "billing" → Search KB → Draft Reply → Send Email + Slack Alert
→ "technical" → Agent Step (investigate) → Create Ticket → Slack Alert
→ "other" → Forward to team inbox
Pattern: Webhook + Callback Webhook Received (with callbackUrl) → Process Data → Run Code
→ Send POST Request to Callback (returns results to caller)
Pattern: Webhook + Multi-Agent Webhook Received → Agent Send Message (to Research Lindy)
→ Research Lindy completes → Agent Send Message (to Writer Lindy)
→ Writer Lindy completes → Send Email with final output
Monitoring Triggers Lindy provides built-in monitoring triggers:
Task Completed : Fires when an agent completes a task
Use this to build observability pipelines: Agent completes → log to sheet → alert on failures
Error Handling Issue Cause Solution 401 on webhook send Wrong or missing Bearer token Verify secret matches Generate Secret value Webhook URL returns 404 Agent deleted or URL changed Re-copy URL from agent trigger settings Callback not received callbackUrl unreachable Ensure HTTPS, public endpoint, no firewall Duplicate processing Webhook retried Implement idempotency with event IDs Payload too large Body exceeds limit Reduce payload size, send references not data
Security
Always use HTTPS for webhook URLs
Generate and verify webhook secrets on every request
Rotate secrets every 90 days
Log all webhook attempts (including rejected ones)
Rate limit your webhook sender to prevent flooding
Resources
Next Steps Proceed to lindy-performance-tuning for agent optimization.