Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Set up Lindy AI account, API access, and webhook authentication. Use when onboarding to Lindy, configuring API keys for webhook triggers, or connecting Lindy agents to your application. Trigger with phrases like "install lindy", "setup lindy", "lindy auth", "configure lindy API key", "lindy webhook secret".
.claude/skills/jeremylongshore-lindy-install-auth/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -15% | 0% |
Lindy AI is a no-code/low-code AI agent platform. Agents ("Lindies") are built in the web dashboard at . External integration uses webhook endpoints, the HTTP Request action, and optional Node.js/Python SDKs for programmatic access.
bash# Environment variable export LINDY_API_KEY="lnd_live_xxxxxxxxxxxxxxxxxxxx" # Or .env file (add .env to .gitignore) echo 'LINDY_API_KEY=lnd_live_xxxxxxxxxxxxxxxxxxxx' >> .env
bash# Node.js SDK npm install lindy-ai # Python SDK pip install lindy-ai
typescript// Node.js import { Lindy } from 'lindy-ai'; const lindy = new Lindy({ apiKey: process.env.LINDY_API_KEY, }); // Verify connection const agents = await lindy.agents.list(); console.log(`Connected: ${agents.length} agents found`);
python# Python import os from lindy import Lindy client = Lindy(api_key=os.environ["LINDY_API_KEY"]) # Verify connection agents = client.agents.list() print(f"Connected: {len(agents)} agents found")
When creating a webhook trigger in the Lindy dashboard, generate a secret key. Callers must include this in every request:
Authorization: Bearer <your-webhook-secret>Your webhook endpoint URL follows the pattern:
https://public.lindy.ai/api/v1/webhooks/<unique-id>bash# Test your webhook trigger curl -X POST "https://public.lindy.ai/api/v1/webhooks/YOUR_WEBHOOK_ID" \ -H "Authorization: Bearer YOUR_SECRET" \ -H "Content-Type: application/json" \ -d '{"test": true, "message": "hello from setup"}'
| Plan | Price | Credits/mo | Tasks | Extras | |------|-------|-----------|-------|--------| | Free | $0 | 400 | ~40 | Basic models | | Pro | $49.99/mo | 5,000 | ~1,500 | +$19.99/seat, phone calls | | Business | $299.99/mo | 30,000 | ~3,000 | 100 phone calls, 50M KB chars | | Enterprise | Custom | Custom | Custom | SSO, SCIM, RBAC, audit logs |
Credit consumption: 1-3 credits on basic models, ~10 on large models per task.
| Error | Cause | Solution | |-------|-------|----------| | 401 Unauthorized | Invalid or expired API key | Regenerate key in Settings > API Keys | | 403 Forbidden | Key lacks required scope | Check plan tier supports API access | | 429 Too Many Requests | Credit limit exceeded | Upgrade plan or wait for monthly reset | | Webhook 401 | Missing/wrong Bearer token | Verify secret matches dashboard value | | ECONNREFUSED | Lindy API unreachable | Check https://status.lindy.ai |
.env added to .gitignoreAfter successful auth, proceed to lindy-hello-world for your first AI agent.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | fail→pass | 15,899 | 7,926 | -50% | 1 | 1 | 0% | 1,824 | 1,519 | -17% | 0 | 0 | — |
case-01 | fail→pass | 15,371 | 12,238 | -20% | 1 | 1 | 0% | 1,900 | 2,182 | +15% | 0 | 0 | — |
case-02 | fail→pass | 22,459 | 16,432 | -27% | 1 | 1 | 0% | 2,963 | 3,237 | +9% | 0 | 0 | — |
case-03 | pass→pass | 21,883 | 18,670 | -15% | 1 | 1 | 0% | 2,413 | 3,284 | +36% | 0 | 0 | — |
case-04 | pass→pass | 17,384 | 21,840 | +26% | 1 | 1 | 0% | 2,096 | 3,388 | +62% | 0 | 0 | — |
case-05 | pass→pass | 22,296 | 24,763 | +11% | 1 | 1 | 0% | 2,730 | 4,237 | +55% | 0 | 0 | — |
case-06 | fail→pass | 14,491 | 7,903 | -45% | 1 | 1 | 0% | 1,692 | 1,640 | -3% | 0 | 0 | — |
case-07 | fail→pass | 15,404 | 7,794 | -49% | 1 | 1 | 0% | 1,902 | 1,608 | -15% | 0 | 0 | — |
case-08 | fail→pass | 13,950 | 7,124 | -49% | 1 | 1 | 0% | 1,742 | 1,525 | -12% | 0 | 0 | — |
case-10 | fail→pass | 16,487 | 9,299 | -44% | 1 | 1 | 0% | 1,631 | 1,671 | +2% | 0 | 0 | — |
case-11 | fail→pass | 11,873 | 2,714 | -77% | 1 | 1 | 0% | 1,251 | 1,638 | +31% | 0 | 0 | — |
case-12 | fail→fail | 6,085 | 7,638 | +26% | 1 | 1 | 0% | 852 | 1,576 | +85% | 0 | 0 | — |
case-13 | pass→pass | 15,786 | 8,193 | -48% | 1 | 1 | 0% | 1,967 | 1,500 | -24% | 0 | 0 | — |
case-14 | pass→pass | 13,697 | 11,853 | -13% | 1 | 1 | 0% | 1,886 | 2,738 | +45% | 0 | 0 | — |
case-15 | pass→pass | 15,317 | 10,010 | -35% | 1 | 1 | 0% | 1,363 | 1,786 | +31% | 0 | 0 | — |
case-16 | pass→pass | 9,661 | 2,397 | -75% | 1 | 1 | 0% | 688 | 1,370 | +99% | 0 | 0 | — |
case-17 | fail→pass | 11,253 | 10,887 | -3% | 1 | 1 | 0% | 1,929 | 2,191 | +14% | 0 | 0 | — |
case-18 | pass→pass | 10,685 | 3,903 | -63% | 1 | 1 | 0% | 1,479 | 1,577 | +7% | 0 | 0 | — |
case-19 | fail→pass | 12,523 | 2,193 | -82% | 1 | 1 | 0% | 1,173 | 1,413 | +20% | 0 | 0 | — |
case-20 | fail→pass | 11,330 | 2,781 | -75% | 1 | 1 | 0% | 1,469 | 1,499 | +2% | 0 | 0 | — |
case-21 | pass→pass | 8,137 | 3,340 | -59% | 1 | 1 | 0% | 463 | 1,457 | +215% | 0 | 0 | — |
case-22 | fail→pass | 17,260 | 9,945 | -42% | 1 | 1 | 0% | 2,002 | 1,781 | -11% | 0 | 0 | — |
case-23 | fail→pass | 14,031 | 7,821 | -44% | 1 | 1 | 0% | 1,255 | 1,389 | +11% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +57 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.