lindy-reference-architecture by jeremylongshore
Reference architectures for Lindy AI agent integrations.
Content & Writing
2.5K Stars
355 Forks
Updated May 23, 2026, 05:41 AM
Why Use This
This skill provides specialized capabilities for jeremylongshore's codebase.
Use Cases
- Developing new features in the jeremylongshore repository
- Refactoring existing code to follow jeremylongshore standards
- Understanding and working with jeremylongshore's codebase structure
Install Guide
2 steps- 1
Skip this step if Ananke is already installed.
- 2
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Repository claude-code-plugins-plus-skills
Skill Version
main
Community
2.5K 355
Updated At May 23, 2026, 05:41 AM
Skill Stats
SKILL.md 252 Lines
Total Files 2
Total Size 9.3 KB
License MIT
---
name: lindy-reference-architecture
description: 'Reference architectures for Lindy AI agent integrations.
Use when designing systems, planning multi-agent architectures,
or implementing production integration patterns.
Trigger with phrases like "lindy architecture", "lindy design",
"lindy system design", "lindy patterns", "lindy multi-agent".
'
allowed-tools: Read, Write, Edit
version: 1.0.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- lindy
- lindy-reference
compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
---
# Lindy Reference Architecture
## Overview
Production-ready architecture patterns for integrating Lindy AI agents into
applications. Covers webhook integration, multi-agent societies, event-driven
pipelines, and high-availability patterns.
## Prerequisites
- Understanding of Lindy agent model (triggers, actions, skills)
- Familiarity with webhook-based architectures
- Production requirements defined (throughput, latency, reliability)
## Architecture 1: Simple Webhook Integration
Single agent triggered by your application, results sent via callback.
```
┌─────────────┐ POST (webhook) ┌──────────────┐
│ Your App │ ─────────────────────────→ │ Lindy Agent │
│ │ │ │
│ /callback │ ←───────────────────────── │ HTTP Request │
│ │ POST (callback) │ Action │
└─────────────┘ └──────────────┘
```
**Implementation**:
- Your app sends webhook with `callbackUrl` field
- Lindy agent processes and responds via Send POST Request to Callback
- Your app receives results asynchronously
**Best for**: Simple automations (email triage, lead scoring, content generation)
## Architecture 2: Event-Driven Pipeline
Multiple event sources feed agents through a central webhook router.
```
┌──────────┐
│ Stripe │──webhook──┐
└──────────┘ │
▼
┌──────────┐ ┌───────────┐ ┌──────────────┐
│ Shopify │──→ │ Router │──→ │ Lindy Agents │
└──────────┘ │ Service │ │ │
└───────────┘ │ • Order Bot │
┌──────────┐ ▲ │ • Support Bot│
│ Your App │──webhook──┘ │ • Analytics │
└──────────┘ └──────────────┘
```
**Implementation**:
```typescript
// Event router — maps events to specific Lindy agents
const agentWebhooks: Record<string, string> = {
'order.created': process.env.LINDY_ORDER_AGENT_WEBHOOK!,
'customer.support_request': process.env.LINDY_SUPPORT_AGENT_WEBHOOK!,
'analytics.daily_report': process.env.LINDY_ANALYTICS_AGENT_WEBHOOK!,
};
app.post('/events', async (req, res) => {
const { event, data } = req.body;
const webhookUrl = agentWebhooks[event];
if (!webhookUrl) {
return res.status(400).json({ error: `Unknown event: ${event}` });
}
await fetch(webhookUrl, {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.LINDY_WEBHOOK_SECRET}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ event, data, callbackUrl: `${BASE_URL}/callback` }),
});
res.json({ routed: true, agent: event });
});
```
**Best for**: Multiple event sources, different agents per event type
## Architecture 3: Multi-Agent Society (Delegation)
Specialized agents collaborate through Lindy's built-in delegation system.
```
┌─────────────────┐
│ Orchestrator │
│ Lindy │
│ (receives │
│ initial task) │
└───┬────────┬────┘
│ │
▼ ▼
┌────────┐ ┌────────┐
│Research│ │Analysis│
│ Lindy │ │ Lindy │
└───┬────┘ └───┬────┘
│ │
▼ ▼
┌─────────────────┐
│ Writer Lindy │
│ (synthesizes │
│ final output) │
└─────────────────┘
```
**Setup in Lindy**:
1. Create specialized agents with **Agent Message Received** triggers
2. Orchestrator uses **Agent Send Message** action to delegate
3. Each agent completes its specialty and sends results forward
4. Writer agent synthesizes and delivers final output
**Key decisions**:
| Decision | Option A | Option B |
|----------|---------|---------|
| Context passing | Full context (accurate, expensive) | Selective context (cheap, focused) |
| Error handling | Agent retries | Orchestrator retry logic |
| Parallelism | Sequential delegation | Parallel delegation with merge |
**Best for**: Complex tasks requiring multiple specialties (research + analysis + writing)
## Architecture 4: Scheduled Pipeline
Agents run on schedules, each feeding data to the next.
```
Schedule: Daily 6 AM
│
▼
┌──────────────┐
│ Data Fetch │ Pulls from APIs/databases
│ Lindy │
└──────┬───────┘
│ Agent Send Message
▼
┌──────────────┐
│ Analysis │ Processes & summarizes
│ Lindy │
└──────┬───────┘
│ Agent Send Message
▼
┌──────────────┐
│ Report │ Formats & delivers
│ Lindy │
│ → Slack │
│ → Email │
└──────────────┘
```
**Best for**: Daily reports, weekly digests, scheduled data processing
## Architecture 5: Chat + Knowledge Base
Agent deployed as customer-facing chatbot with RAG-powered responses.
```
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Website │ │ Lindy Agent │ │ Knowledge │
│ (Embed │◀──▶ │ │◀──▶ │ Base │
│ Widget) │ │ Chat Trigger │ │ PDFs, Docs, │
└──────────────┘ │ + KB Search │ │ Websites │
│ + Condition │ └──────────────┘
│ + Escalate │
└──────────────┘
│
▼ (if escalation needed)
┌──────────────┐
│ Slack DM to │
│ human agent │
└──────────────┘
```
**Deploy the embed widget**:
```html
<!-- Paste near end of <body> tag -->
<script src="https://embed.lindy.ai/widget.js"
data-lindy-id="YOUR_AGENT_ID"></script>
```
**KB configuration**:
- Sources: Product docs, FAQ PDFs, knowledge articles
- Fuzziness: 100 (semantic search)
- Max Results: 5 (balance relevance vs context size)
- Auto-resync: every 24 hours
**Best for**: Customer support, FAQ bots, internal knowledge assistants
## Architecture Decision Matrix
| Pattern | Throughput | Latency | Complexity | Cost |
|---------|-----------|---------|-----------|------|
| Simple webhook | Low-Med | 2-15s | Low | Low |
| Event-driven pipeline | High | 5-30s | Medium | Medium |
| Multi-agent society | Low-Med | 30-120s | High | High |
| Scheduled pipeline | Batch | N/A | Medium | Predictable |
| Chat + KB | Interactive | 2-10s | Low-Med | Per-message |
## Error Handling
| Pattern | Failure Mode | Recovery |
|---------|-------------|----------|
| Simple webhook | Agent fails | Retry webhook with backoff |
| Event-driven | Router crash | Queue events, replay on recovery |
| Multi-agent | Delegation fails | Orchestrator retries or skips |
| Scheduled | Missed schedule | Next run catches up |
| Chat + KB | KB empty | Fallback to generic response + escalate |
## Resources
- [Lindy Introduction](https://docs.lindy.ai/fundamentals/lindy-101/introduction)
- [Delegation 101](https://www.lindy.ai/academy-lessons/delegation-101)
- [Building a Chatbot](https://www.lindy.ai/academy-lessons/building-a-chatbot-101)
- [Lindy Embed](https://www.lindy.ai/integrations/lindy-embed)
## Next Steps
Proceed to Flagship tier skills for enterprise features: multi-env, observability,
incident response, data handling, RBAC, and migration.
Name Size