Lindy AI integration patterns for webhook handling, HTTP actions, and Run Code.
Use when building integrations, calling Lindy agents from code,
or implementing the Run Code action with Python/JavaScript.
Trigger with phrases like "lindy SDK patterns", "lindy best practices",
"lindy API patterns", "lindy Run Code", "lindy HTTP Request".
Instrucciones de origen · Vista previa de solo lectura
name
lindy-sdk-patterns
description
Lindy AI integration patterns for webhook handling, HTTP actions, and Run Code.
Use when building integrations, calling Lindy agents from code,
or implementing the Run Code action with Python/JavaScript.
Trigger with phrases like "lindy SDK patterns", "lindy best practices",
"lindy API patterns", "lindy Run Code", "lindy HTTP Request".
allowed-tools
Read, Write, Edit, Bash(curl:*)
version
1.15.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
["saas","lindy","api"]
compatibility
Designed for Claude Code, also compatible with Codex and OpenClaw
Lindy SDK & Integration Patterns
Overview
Lindy is primarily a no-code platform. External integration happens through three
channels: Webhook triggers (inbound), HTTP Request actions (outbound), and
Run Code actions (inline Python/JS execution via E2B sandbox). This skill covers
patterns for each.
Prerequisites
Lindy account with active agents
Node.js 18+ or Python 3.10+ for webhook receivers
Completed lindy-install-auth setup
Pattern 1: Webhook Trigger Integration
Your application fires webhooks to wake Lindy agents:
Execute Python or JavaScript directly in Lindy workflows. Code runs in isolated
Firecracker microVMs with ~150ms startup time.
Python example (data transformation in a workflow):
# Run Code action — Python# Input variables: raw_data (string from previous step)import json
data = json.loads(raw_data) # Input vars are always strings# Process
cleaned = [
{"name": item["name"].strip(), "score": float(item["score"])}
for item in data["items"]
iffloat(item["score"]) > 0.5
]
# Sort by score descending
cleaned.sort(key=lambda x: x["score"], reverse=True)
# Return value accessible as {{run_code.result}} in next stepreturn json.dumps({"filtered_count": len(cleaned), "items": cleaned})