lindy-deploy-integration
A deployment guide for hosting the application layers and webhook receivers that interact with Lindy AI.
Install
mkdir -p .claude/skills/lindy-deploy-integration && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8912" && unzip -o skill.zip -d .claude/skills/lindy-deploy-integration && rm skill.zipInstalls to .claude/skills/lindy-deploy-integration
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Deploy applications that integrate with Lindy AI agents.Key capabilities
- →Deploy webhook receivers
- →Configure production callback handlers
- →Set up environment variables
- →Implement webhook authentication
- →Verify production deployment health
How it works
This workflow guides the deployment of webhook receivers and callback handlers that interact with Lindy agents. It includes steps for securing endpoints with secrets and updating agent URLs to production environments.
Inputs & outputs
When to use lindy-deploy-integration
- →Deploy webhook receivers for Lindy
- →Configure production callback handlers
- →Set up environment variables for Lindy API
- →Implement security for webhook endpoints
About this skill
Lindy Deploy Integration
Overview
Lindy agents run on Lindy's managed infrastructure. Deployment focuses on your integration layer: webhook receivers, callback handlers, and application code that Lindy agents interact with via HTTP Request actions and webhook triggers.
Prerequisites
- Lindy agents configured and tested
- Application with webhook receiver endpoints
- Deployment platform (Vercel, Railway, Docker, AWS, GCP)
- Lindy API key and webhook secrets
Instructions
Step 1: Prepare Application for Deployment
// src/server.ts — Production-ready Lindy webhook receiver
import express from 'express';
import helmet from 'helmet';
const app = express();
app.use(helmet());
app.use(express.json({ limit: '1mb' }));
// Health check for load balancer
app.get('/health', (req, res) => {
res.json({
status: 'ok',
timestamp: new Date().toISOString(),
version: process.env.APP_VERSION || 'unknown',
});
});
// Lindy webhook receiver with auth verification
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' });
}
// Respond immediately, process async
res.json({ received: true });
// Async processing
processWebhook(req.body).catch(err => {
console.error('Webhook processing error:', err);
});
});
async function processWebhook(payload: any) {
const { taskId, status, result } = payload;
// Your business logic here
console.log(`Task ${taskId}: ${status}`, result);
}
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Listening on :${PORT}`));
Step 2: Docker Deployment
# Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY dist/ ./dist/
EXPOSE 3000
ENV NODE_ENV=production
HEALTHCHECK --interval=30s --timeout=3s \
CMD wget -qO- http://localhost:3000/health || exit 1
CMD ["node", "dist/server.js"]
# Build and run
docker build -t lindy-integration .
docker run -d \
-p 3000:3000 \
-e LINDY_API_KEY="$LINDY_API_KEY" \
-e LINDY_WEBHOOK_SECRET="$LINDY_WEBHOOK_SECRET" \
--name lindy-app \
lindy-integration
Step 3: Vercel Deployment
# Install Vercel CLI
npm i -g vercel
# Set secrets
vercel secrets add lindy-api-key "$LINDY_API_KEY"
vercel secrets add lindy-webhook-secret "$LINDY_WEBHOOK_SECRET"
# Deploy
vercel --prod
// vercel.json
{
"env": {
"LINDY_API_KEY": "@lindy-api-key",
"LINDY_WEBHOOK_SECRET": "@lindy-webhook-secret"
}
}
Step 4: Update Lindy Agent Webhook URLs
After deployment, update all Lindy agents with production URLs:
-
In Lindy dashboard, open each agent with a webhook trigger
-
Navigate to the HTTP Request action (if agent calls your API)
-
Update URL from dev/staging to production:
OLD: https://abc123.ngrok.io/lindy/callback NEW: https://api.yourapp.com/lindy/callback -
For webhook triggers, callers need the Lindy-generated URL (unchanged)
-
Test with a sample webhook to verify end-to-end
Step 5: Post-Deploy Verification
#!/bin/bash
echo "=== Post-Deploy Verification ==="
PROD_URL="https://api.yourapp.com"
# Health check
echo "[1/3] Health check..."
curl -sf "$PROD_URL/health" | jq .
# Webhook endpoint reachable
echo "[2/3] Webhook endpoint..."
STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
-X POST "$PROD_URL/lindy/callback" \
-H "Authorization: Bearer $LINDY_WEBHOOK_SECRET" \
-H "Content-Type: application/json" \
-d '{"test": true}')
echo "Webhook endpoint: HTTP $STATUS (expect 200)"
# Trigger a test agent run
echo "[3/3] Agent trigger test..."
curl -s -X POST "https://public.lindy.ai/api/v1/webhooks/YOUR_ID" \
-H "Authorization: Bearer $LINDY_WEBHOOK_SECRET" \
-H "Content-Type: application/json" \
-d '{"event": "deploy.verify", "env": "production"}'
echo "Agent triggered — check Tasks tab in Lindy dashboard"
Step 6: Rollback Plan
# If deployment fails, rollback:
# Vercel
vercel rollback
# Docker
docker stop lindy-app
docker run -d --name lindy-app-rollback \
-e LINDY_API_KEY="$LINDY_API_KEY" \
-e LINDY_WEBHOOK_SECRET="$LINDY_WEBHOOK_SECRET" \
lindy-integration:previous-tag
# Update Lindy agents back to previous URLs if needed
Deployment Checklist
| Step | Verification |
|---|---|
| Build passes | npm run build exits 0 |
| Tests pass | npm test all green |
| Secrets configured | API key + webhook secret in platform |
| Health check responds | GET /health returns 200 |
| Webhook auth works | POST with valid token returns 200 |
| Webhook auth rejects | POST without token returns 401 |
| Lindy agent URLs updated | HTTP Request actions point to prod |
| End-to-end test | Trigger agent, receive callback |
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Webhook 502 | App crashed/not running | Check container logs, restart |
| Webhook timeout | Slow processing | Respond 200 immediately, process async |
| Wrong URL in Lindy | Not updated post-deploy | Update HTTP Request action URLs |
| SSL error | Certificate issue | Verify HTTPS cert is valid |
| Secret mismatch | Dev secret in prod | Verify production secrets match Lindy config |
Resources
Next Steps
See lindy-webhooks-events for advanced webhook patterns.
When not to use it
- →When deploying non-webhook-based applications
- →When the application does not require Lindy integration
Prerequisites
Limitations
- →Requires valid HTTPS certificate for production
- →Webhook processing must be asynchronous to avoid timeouts
How it compares
This process provides specific patterns for async webhook processing and health checks, rather than generic deployment instructions.
Compared to similar skills
lindy-deploy-integration side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| lindy-deploy-integration (this skill) | 0 | 27d | Caution | Intermediate |
| workflow | 4 | 2mo | Review | Intermediate |
| setup-build-tools | 2 | 6mo | Review | Beginner |
| agent-release-manager | 0 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
workflow
vercel
Creates durable, resumable workflows using Vercel's Workflow DevKit. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow devkit", or step-based orchestration.
setup-build-tools
aaddrick
Install build and extraction tools needed for building Claude Desktop Debian packages
agent-release-manager
ruvnet
Agent skill for release-manager - invoke with $agent-release-manager
replit-deploy-integration
jeremylongshore
Deploy Replit integrations to Vercel, Fly.io, and Cloud Run platforms. Use when deploying Replit-powered applications to production, configuring platform-specific secrets, or setting up deployment pipelines. Trigger with phrases like "deploy replit", "replit Vercel", "replit production deploy", "replit Cloud Run", "replit Fly.io".
agentnote-release
wasabeef
Prepare and publish Agent Note releases with the repo-local Markdown workflow, including version bump validation, release note preview, tag creation, workflow monitoring, and npm/GitHub verification.
telegram-bot-builder
davila7
Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.