Atlas / Skills / jeremylongshore / Lindy Hello World

Lindy Hello WorldSAFE

skills/jeremylongshore/lindy-hello-world

Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
1.20.0
Hosts
1 documented
License
MIT
Stars
2,824
01

Overview

Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.

Read from source at commit 4f83675ca38aOBSERVED · 2026-10-09
02

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
03

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: lindy-hello-world
description: 'Create your first Lindy AI agent with a real trigger and action.

  Use when starting with Lindy, testing your setup,

  or learning basic agent workflow patterns.

  Trigger with phrases like "lindy hello world", "lindy example",

  "lindy quick start", "simple lindy agent", "first lindy".

  '
allowed-tools: Read, Write, Edit, Bash(curl:*)
version: 1.20.0
license: MIT
author: Jeremy Longshore <[email protected]>
tags:
- saas
- lindy
- api
- testing
compatibility: Designed for Claude Code
---
# Lindy Hello World

## Overview

Build a minimal Lindy AI agent: **Webhook Received** trigger -> LLM processing ->
**Slack notification**. Demonstrates the three core building blocks every Lindy agent
uses: Trigger, Agent Step (prompt + model + skills), and Action.

## Prerequisites

- Lindy account at
- Slack workspace connected (or Gmail for email variant)
- Completed `lindy-install-auth` setup

## Instructions

### Step 1: Create Agent via Dashboard

1. Click **"New Agent"** at
2. In the prompt field ("How can I help you?"), type:

   ```
   When I send a webhook, summarize the message and post it to Slack
   ```

3. Agent Builder auto-generates the workflow with trigger + action nodes

### Step 2: Configure the Webhook Trigger

1. Click the trigger node at the top of the workflow canvas
2. Select **Webhook Received**
3. Copy the generated URL:

   ```
   https://public.lindy.ai/api/v1/webhooks/<unique-id>
   ```

4. Click **Generate Secret** — copy immediately (shown once)

### Step 3: Add the Slack Action

1. Click **"+"** to add a step
2. Search for **Slack Send Channel Message**
3. Authorize your Slack workspace when prompted
4. Configure fields:
   - **Channel**: `#general` (or test channel)
   - **Message** field mode: **AI Prompt**
   - Instruction:

     ```
     Summarize the webhook payload in one sentence.
     Payload: {{webhook_received.request.body}}
     ```

### Step 4: Set the Agent Prompt

Open **Settings > Prompt**:

```
You are a webhook summarizer. When you receive a webhook payload,
extract the key information and create a concise one-sentence summary.
Be factual and specific. Do not add opinions or speculation.
```

### Step 5: Test It

```bash
curl -X POST "https://public.lindy.ai/api/v1/webhooks/YOUR_ID" \
  -H "Authorization: Bearer YOUR_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "event": "order.created",
    "customer": "Jane Doe",
    "amount": 149.99,
    "items": ["Widget Pro", "Adapter Cable"]
  }'
```

Expected Slack message:
> Jane Doe placed a $149.99 order for Widget Pro and Adapter Cable.

### Step 6: Verify in Dashboard

Navigate to the **Tasks** tab in your agent view. Confirm status shows **Completed**.
Click into the task to see each step's input/output for debugging.

## Output

The finished agent accepts the test webhook, creates one completed Lindy task,
and posts one concise Slack summary without exposing the webhook secret. Keep
the agent URL, task ID, and sanitized test payload as the setup receipt so the
workflow can be retested after changes.

## Examples

Send an `order.created` event to a test-only webhook and confirm that the
configured Slack channel receives “Jane Doe placed a $149.99 order for Widget
Pro and Adapter Cable.” If the request returns 401, replace the placeholder
secret with the webhook secret generated for that same agent rather than a
different workspace credential.

## Agent Anatomy

| Component | Purpose | Hello World Value |
|-----------|---------|-------------------|
| **Prompt** | Core behavioral instructions | "Summarize webhook payloads" |
| **Model** | AI engine powering decisions | Default (GPT-4 / Claude / Gemini) |
| **Skills** | Available actions & tools | Slack Send Channel Message |
| **Exit Conditions** | When the task is "done" | Message sent successfully |

## Webhook Data Variables

| Variable | Contents |
|----------|----------|
| `{{webhook_received.request.body}}` | Full JSON payload |
| `{{webhook_received.request.headers}}` | HTTP request headers |
| `{{webhook_received.request.query}}` | URL query parameters |

## Field Configuration Modes

| Mode | Behavior | Credit Cost |
|------|----------|-------------|
| **Auto** | Agent determines value from context | Standard |
| **AI Prompt** | Natural language instructions generate content | Standard |
| **Set Manually** | Exact value, no AI processing | Lower |

## Variant: Email Instead of Slack

Replace the Slack action with **Gmail Send Email**:

- **To**: Set manually or reference a webhook field
- **Subject**: AI Prompt — `"Summary: {{webhook_received.request.body.event}}"`
- **Body**: AI Prompt — `"Summarize this event: {{webhook_received.request.body}}"`

## Error Handling

| Issue | Cause | Solution |
|-------|-------|----------|
| Webhook returns 401 | Missing Authorization header | Add `Bearer <secret>` header |
| Slack message not sent | Channel not authorized | Re-authorize Slack in Lindy |
| Task shows "Failed" | Action misconfigured | Check field references in step config |
| No task created | Agent not active | Publish/activate the agent |
| Empty summary | Payload not reaching LLM | Verify `{{webhook_received.request.body}}` reference |

## Cost

~1-3 credits per invocation on basic models. Free tier (400 credits/month) supports
~130-400 test runs per month.

## Resources

- [Getting Started 101](https://www.lindy.ai/academy-lessons/getting-started-101)
- [Webhook Triggers Academy](https://www.lindy.ai/academy-lessons/webhook-triggers)
- [Lindy Documentation](https://docs.lindy.ai)

## Next Steps

Proceed to `lindy-core-workflow-a` for a full multi-step agent workflow.
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-10-09 · audit v0.4.1 · source sha 4f83675ca38afull audit observations/trust-audit/skill/jeremylongshore__lindy-hello-world.json · Report an issue / request a re-scan
05

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-094f83675ca38aSAFEB89first audit
06

Questions

What does the Lindy Hello World skill do?

Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.

Is Lindy Hello World safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can Lindy Hello World access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

Which assistants does Lindy Hello World work with?

Its documentation mentions claude-code. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (4f83675ca38a), read on 2026-10-09. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement