Lindy integration patterns for webhook handling, HTTP actions, and Run Code.

MITAuto-check passedBackend & APIs

Install Lindy SDK Patterns

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-sdk-patterns -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace lindy-sdk-patterns --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/lindy-sdk-patterns .claude/skills/lindy-sdk-patterns && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lindy-sdk-patterns
GitHub stars
2.8k
Token cost
~2.2k tokens
SKILL.md length
836 words
Files
2 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Lindy integration patterns for webhook handling, HTTP actions, and Run Code.

  • Works in 5 steps: Configure an Inbound Webhook Received… → Configure an Outbound HTTP Request → Use Run Code for Bounded Transformation → …
  • Building integrations
  • SKILL.md covers Overview, Prerequisites, Authentication and Trust… and Instructions, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Lindy SDK Patterns is an agent skill from jeremylongshore/tons-of-skills-marketplace. Lindy 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 integration patterns", "lindy best practices", "lindy webhook patterns", "lindy Run Code", "lindy HTTP Request".

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/implementation-guide.md`). Compatibility notes: Designed for Claude Code

It sits in Backend & APIs, covering Webhooks and Third-party API integration. It works with JavaScript and Python. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Building integrations
  • Calling Lindy agents from code
  • Implementing the Run Code action with Python/JavaScript
  • With phrases like lindy integration patterns

Example prompts

  • “lindy integration patterns”
  • “lindy best practices”
  • “lindy webhook patterns”
  • “/lindy-sdk-patterns”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Configure an Inbound Webhook Received Trigger
  2. Configure an Outbound HTTP Request
  3. Use Run Code for Bounded Transformation
  4. Add an Optional Callback Flow
  5. Test the Boundaries

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.lindy.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Lindy SDK Patterns loads about 2.2k tokens when it runs, and up to ~3.2k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 836 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 836 words, ~2,181 tokens.

Download SKILL.mdSave it as .claude/skills/lindy-sdk-patterns/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
lindy-sdk-patterns
description
Lindy 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 integration patterns", "lindy best practices", "lindy webhook patterns", "lindy Run Code", "lindy HTTP Request".
allowed-tools
Read, Write, Edit
compatibility
Designed for Claude Code
version
1.20.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, lindy, api

Lindy Integration Patterns

Overview

Use Lindy's documented integration primitives: Webhook Received for inbound calls, HTTP Request for outbound calls, Run Code for bounded transformations, and Send POST Request to Callback for the documented callback workflow. This is not an SDK guide: Lindy's current public documentation does not provide the package, client, agent CRUD, streaming, API key, or general API-host surface that older copies of this skill claimed.

Prerequisites

  • Lindy workspace with an editable custom agent
  • An application-owned HTTPS endpoint when outbound calls or callbacks are required
  • A secret manager for the Lindy-generated Webhook Received secret and any separate credential owned by the target application
  • Sanitized test fixtures and access to Tasks/Test Panel

Authentication and Trust Boundaries

  • Inbound to Lindy: create the webhook in the Webhook Received trigger, select Generate Secret, store the one-time value, and send it as an Authorization bearer value. Use only the generated public.lindy.ai webhook URL.
  • Outbound from Lindy: configure authentication required by the target service in the HTTP Request action. This is the target service's credential, not a Lindy API key.
  • Callback: Lindy's webhook guide documents callbackUrl and Send POST Request to Callback, but does not document a Lindy callback signature. Treat callback content as untrusted unless the receiving application establishes its own authenticated boundary; never invent or claim a Lindy signing header.
  • Keep inbound, outbound, and callback credentials distinct. Never put secrets in a prompt, body, query string, task title, log, or Run Code text output.

Instructions

1. Configure an Inbound Webhook Received Trigger
  1. Add Webhook Received and create a named webhook.
  2. Generate its secret and store it immediately; Lindy documents that it is shown once.
  3. Choose follow-up behavior deliberately: same task, new task, or ignore.
  4. Define a minimal request schema and reject oversized/unknown fields in the calling application before sending.
  5. Send a sanitized fixture, then verify the new task in Tasks.

This is a small application wrapper around the documented webhook, not a Lindy SDK:

typescript
type Intake = { event: 'document.ready'; documentRef: string };

async function triggerLindyWebhook(input: {
  webhookUrl: string;
  webhookSecret: string;
  payload: Intake;
}): Promise<number> {
  const url = new URL(input.webhookUrl);
  if (
    url.protocol !== 'https:' ||
    url.hostname !== 'public.lindy.ai' ||
    !url.pathname.startsWith('/api/v1/webhooks/') ||
    url.username ||
    url.password
  ) {
    throw new Error('Refusing an unrecognized Lindy webhook URL');
  }
  if (!input.webhookSecret.trim()) throw new Error('Webhook secret is empty');
  if (!/^doc_[a-z0-9_-]{1,64}$/i.test(input.payload.documentRef)) {
    throw new Error('Invalid document reference');
  }

  const response = await fetch(url, {
    method: 'POST',
    redirect: 'error',
    headers: {
      Authorization: `Bearer ${input.webhookSecret}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(input.payload),
  });
  if (!response.ok) throw new Error(`Webhook rejected with status ${response.status}`);
  return response.status;
}

Do not blindly retry an ambiguous response: the public webhook documentation does not promise an idempotency key. Check Tasks and the application's operation record before a controlled retry.

2. Configure an Outbound HTTP Request
  1. Add HTTP Request from Popular or By Lindy.
  2. Use a fixed, allowlisted HTTPS URL rather than task-controlled host text.
  3. Select the method and content type required by the target service.
  4. Put the target service's protected credential in the appropriate header.
  5. Constrain the body to named fields from previous steps; omit full source messages, headers, credentials, and unrelated context.
  6. Branch on the documented status-code/response outputs and fail closed on rejected or malformed responses.
3. Use Run Code for Bounded Transformation

Lindy documents Python/JavaScript variables as strings and exposes result, text, and stderr to later steps. Parse, validate, bound, and return only the minimum data:

python
import json

data = json.loads(raw_items)
if not isinstance(data, list) or len(data) > 100:
    raise ValueError("raw_items must be a list with at most 100 entries")

allowed = []
for item in data:
    if not isinstance(item, dict) or set(item) != {"reference", "score"}:
        raise ValueError("unexpected item schema")
    reference = item["reference"]
    score = item["score"]
    if not isinstance(reference, str) or len(reference) > 64:
        raise ValueError("invalid reference")
    if not isinstance(score, (int, float)) or not 0 <= score <= 1:
        raise ValueError("invalid score")
    if score >= 0.5:
        allowed.append({"reference": reference, "score": score})

return {"count": len(allowed), "items": allowed}

Avoid printing input data: printed content becomes text. Prefer HTTP Request for network calls so URL, authentication, response status, and error branches remain visible in the workflow. Do not rely on an undocumented runtime, sandbox vendor, startup time, timeout value, or library version; check the current Run Code page.

Show full SKILL.md (318 more words)Show less
4. Add an Optional Callback Flow

Include a fixed application-owned callbackUrl only when two-way processing is needed, then add Send POST Request to Callback as documented. The receiver should accept a minimal result schema and stage the result for validation/approval. A callback alone must not authorize payments, deletion, access changes, or external communications.

5. Test the Boundaries

Verify one valid call and negative cases for a missing/wrong bearer secret, wrong host, extra/oversized input, outbound 4xx/5xx response, malformed Run Code input, and untrusted callback content. The Test Panel executes real actions, so use synthetic data, test integrations, and confirmation for side effects.

Error Handling

FailureFail-closed response
Webhook returns 401Stop; confirm the Lindy-generated secret without printing it
Webhook outcome is ambiguousInspect Tasks/operation record before a manual retry
Outbound URL is dynamic or non-HTTPSRefuse and replace it with an allowlisted endpoint
HTTP response is rejected or malformedRoute to an error branch; do not consume partial data
Run Code input violates schemaRaise an error and inspect only metadata in Tasks
Callback is unauthenticated/untrustedQuarantine for validation; perform no side effect

Output

Return an integration contract containing:

  • selected primitive and direction of trust;
  • exact minimal request/response schemas and size/cardinality bounds;
  • URL ownership/allowlist and distinct credential owners;
  • failure, retry, callback, and human-approval behavior;
  • data-minimization and logging rules; and
  • a test receipt covering happy path and every negative boundary above.

Examples

For a document workflow, the application sends only {"event":"document.ready","documentRef":"doc_sample_001"} to the exact generated webhook URL with its generated bearer secret. Lindy transforms the reference, calls a fixed application endpoint with that endpoint's separate credential, and returns a minimal status callback. Raw document text, user identity, and either secret never enter the payload, prompt, task title, Run Code output, or logs.

Resources

Next Steps

Use lindy-security-basics to review the resulting credential, connection, approval, data, and monitoring boundaries before activating the workflow.

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/.curated/lindy-sdk-patterns of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/implementation-guide.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Lindy SDK Patterns next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Lindy SDK Patterns compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lindy SDK Patterns this skilljeremylongshore/tons-of-skills-marketplace2.8k—~2.2kAutomated safety check: PassMIT
Telegram Development Guide2025Emma/vibe-coding-cn23k1 repos~3.7kAutomated safety check: PassMIT
Bfl APIblack-forest-labs/skills1281 repos~2.5kAutomated safety check: NotesMIT
E2a Integratetokencanopy/e2a193—~840Automated safety check: PassApache-2.0
Fishjam Python Server SDKsoftware-mansion-labs/skills291—~1.3kAutomated safety check: PassApache-2.0
Shopify APIMicrock/ordinary-claude-skills404—~4.3kAutomated safety check: PassCustom licence

Similar skills

  • Telegram Development Guide

    2025Emma/vibe-coding-cn

    Chinese-language guide to building on Telegram: bots through the Bot API, Mini Apps in JavaScript and custom clients through TDLib, with Python examples.

    23k GitHub starsUsed in 1 repo~3.7k tokens
    Backend & APIsAuto-check passed
  • Bfl API

    black-forest-labs/skills

    BFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeScript code examples.

    128 GitHub starsUsed in 1 repo~2.5k tokens
    Backend & APIsAuto-check: notes
  • E2a Integrate

    tokencanopy/e2a

    A skill your agent uses when adding e2a email capabilities to an application or codebase: outbound sending, inbound signed webhooks, REST polling, or SDK integration.

    193 GitHub stars~840 tokensUpdated 4 days ago
    Backend & APIsAuto-check passed
  • Fishjam Python Server SDK

    software-mansion-labs/skills

    Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server notifications, and run voice agents.

    291 GitHub stars~1.3k tokensUpdated 12 days ago
    Backend & APIsAuto-check passed
  • Shopify API

    Microck/ordinary-claude-skills

    Complete API integration guide for Shopify including GraphQL Admin API, REST Admin API, Storefront API, Ajax API, OAuth authentication, rate limiting, and webhooks.

    404 GitHub stars~4.3k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • CCXT Crypto Exchange Library

    2025Emma/vibe-coding-cn

    Reference help for the CCXT library covering crypto exchange APIs, market data, trading and order management across 150+ exchanges in JavaScript, Python and PHP.

    23k GitHub starsUsed in 1 repo~4.4k tokens
    Business, Finance & HRAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Categories

Questions about Lindy SDK Patterns

What does Lindy SDK Patterns do?

Lindy integration patterns for webhook handling, HTTP actions, and Run Code. Lindy SDK Patterns is an agent skill from jeremylongshore/tons-of-skills-marketplace. Lindy integration patterns for webhook handling, HTTP actions, and Run Code.

When should I use Lindy SDK Patterns?

Lindy SDK Patterns fits situations like: building integrations; calling Lindy agents from code; implementing the Run Code action with Python/JavaScript; with phrases like lindy integration patterns.

How do I install Lindy SDK Patterns in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-sdk-patterns -a claude-code`. Or copy the skill folder (skills/.curated/lindy-sdk-patterns in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/lindy-sdk-patterns in your project. Claude Code loads it when a task matches its description.

How do I install Lindy SDK Patterns in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-sdk-patterns -a codex`. Or copy the skill folder (skills/.curated/lindy-sdk-patterns in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/lindy-sdk-patterns in your project. Codex loads it when a task matches its description.

Can I use Lindy SDK Patterns in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-sdk-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lindy-sdk-patterns, .gemini/skills/lindy-sdk-patterns, .github/skills/lindy-sdk-patterns and .opencode/skills/lindy-sdk-patterns in your project.

What does Lindy SDK Patterns need to run?

SKILL.md names no scripts, command-line tools or credentials: Lindy SDK Patterns is instructions for the agent only. Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit. Compatibility (from SKILL.md): Designed for Claude Code.

Does Lindy SDK Patterns access the network?

SKILL.md names 1 domain. As links in the text: docs.lindy.ai. This is read from the text; nothing was executed.

Is Lindy SDK Patterns safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Lindy SDK Patterns use?

Lindy SDK Patterns is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lindy SDK Patterns use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1k tokens, read only when the agent opens those files.

What are the alternatives to Lindy SDK Patterns?

Skills that share tags, products or a category with Lindy SDK Patterns: Telegram Development Guide (2025Emma/vibe-coding-cn, 23k stars), Bfl API (black-forest-labs/skills, 128 stars), E2a Integrate (tokencanopy/e2a, 193 stars) and Fishjam Python Server SDK (software-mansion-labs/skills, 291 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lindy SDK Patterns?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.