google-agents-cli-scaffold
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
lindy-deploy-integration
Deploy applications that integrate with Lindy AI agents.
Full skill instructions
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.
// 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}`));
# 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
# 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"
}
}
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
#!/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"
# 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
| 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 |
| 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 |
See lindy-webhooks-events for advanced webhook patterns.
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.
Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.
Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.
Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.
Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.
Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.
Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.