Install in one line
curl -fsSL https://infolobby.com/skill/install.sh | bash
install.sh sha256: 3aa9afe74665eb533aa48ab33761cbe3e7118c7f21724af91acbea7d2feb5b9c
curl -fsSL https://infolobby.com/skill/install.sh | bash
install.sh sha256: 3aa9afe74665eb533aa48ab33761cbe3e7118c7f21724af91acbea7d2feb5b9c
iwr https://infolobby.com/skill/install.ps1 | iex
install.ps1 sha256: cce8e92a077cc5c25dc9227da42093339ad10a8f4fb9184a3eb560af823b8e48
Download the ZIP and extract its contents into your agent's infolobby/ skill directory (e.g. ~/.claude/skills/infolobby/ for Claude Code).
Or clone the source: https://github.com/andreas-globi/infolobby-skill
Inspect the installer scripts before piping them to a shell
install.sh (sha256 3aa9afe74665eb533aa48ab33761cbe3e7118c7f21724af91acbea7d2feb5b9c):
#!/usr/bin/env bash
# InfoLobby AI Agent Skill installer - https://infolobby.com/skill
set -e
BASE="https://infolobby.com/skill/files"
DIR="${CLAUDE_SKILLS_DIR:-$HOME/.claude/skills}/infolobby"
mkdir -p "$DIR/references"
curl -fsSL "$BASE/SKILL.md" -o "$DIR/SKILL.md"
curl -fsSL "$BASE/references/endpoints.md" -o "$DIR/references/endpoints.md"
curl -fsSL "$BASE/references/fields.md" -o "$DIR/references/fields.md"
curl -fsSL "$BASE/references/flows.md" -o "$DIR/references/flows.md"
echo "InfoLobby skill installed at $DIR"
install.ps1 (sha256 cce8e92a077cc5c25dc9227da42093339ad10a8f4fb9184a3eb560af823b8e48):
# InfoLobby AI Agent Skill installer - https://infolobby.com/skill
$ErrorActionPreference = "Stop"
$Base = "https://infolobby.com/skill/files"
$Root = if ($env:CLAUDE_SKILLS_DIR) { $env:CLAUDE_SKILLS_DIR } else { Join-Path $HOME ".claude\skills" }
$Dir = Join-Path $Root "infolobby"
New-Item -ItemType Directory -Force (Join-Path $Dir "references") | Out-Null
Invoke-WebRequest -UseBasicParsing -Uri "$Base/SKILL.md" -OutFile (Join-Path $Dir "SKILL.md")
Invoke-WebRequest -UseBasicParsing -Uri "$Base/references/endpoints.md" -OutFile (Join-Path $Dir "references\endpoints.md")
Invoke-WebRequest -UseBasicParsing -Uri "$Base/references/fields.md" -OutFile (Join-Path $Dir "references\fields.md")
Invoke-WebRequest -UseBasicParsing -Uri "$Base/references/flows.md" -OutFile (Join-Path $Dir "references\flows.md")
Write-Host "InfoLobby skill installed at $Dir"
SKILL.md content sha256: 0919c7a0da8ede037912b15d9cf305190e0c27842343a6a0cb549ba091a002ff — view
InfoLobby AI Agent Skill
A drop-in Agent Skill that lets any compatible AI agent — Claude Code, Cursor, Gemini CLI, Goose, OpenCode, and many others — read and write your InfoLobby data through the public API.
You install one folder. The agent loads it on demand. The first time the agent runs it, it asks for your InfoLobby API key once and caches it locally. From then on you can say things like "add a new lead for Acme with email hello@acme.test" and have it work.
What it lets the agent do
- Discover your data — list workspaces, list tables, fetch a table's field schema so writes use the correct keys
- Query records — filter, search, sort, paginate; query through saved views for repeatable reports
- Create, update, delete records — partial updates, batch deletes
- Read and post comments — including with file attachments
- Manage record attachments — upload, download, delete files up to 50 MB
- Build and edit flows — author table automations as visual builder bricks (advanced; requires an account key)
The skill is scoped to data work, plus flow authoring for account keys. It does not create or modify workspaces, change table schemas, manage members, or touch billing — those are easy to misuse through an AI agent, so use the full public API directly if you need them. Flow authoring is powerful (a flow runs server-side and can email or call external services), so the skill keeps new flows inactive until you review and enable them.
Example session
You: "List the open opportunities over $10k in my Sales workspace."
The agent (running the skill):
- Reads
~/.infolobby/keyfor your token. - Calls
GET /api/spaces/list, picks the one named Sales. - Calls
GET /api/space/{id}/tables/list, picks Opportunities. - Calls
GET /api/table/{id}/getto learn the field id slugs (status,amount,account, …). - POSTs to
/api/table/{id}/records/querywith a filter[{column: "amount", compare: ">", value: 10000}]plus a status filter. - Returns the table to you, complete with linked account names.
Every step happens in plain curl. No SDK, no daemon, and no MCP server sitting in your context window.
That last part is the point. InfoLobby does run an MCP server, and the skill deliberately does not use it: an MCP server's tool definitions occupy the model's context on every turn, used or not, while a skill costs about a hundred tokens until the moment it is needed. For a local agent that already has network access, the skill is the cheaper tool.
Use the connector instead when you are working in Claude on the web or ChatGPT — their sandboxes cannot make the outbound calls this skill relies on.
Install on macOS, Linux, or Windows
Use the tabbed installer at the top of this page. It downloads three files into your agent's skill directory:
~/.claude/skills/infolobby/
├── SKILL.md
└── references/
├── endpoints.md
└── fields.md
For agents that look in a different location, set CLAUDE_SKILLS_DIR before piping the installer, or download the ZIP and copy the files where your agent expects them.
Inspect before you install
Piping a remote script into a shell is fast but worth checking. We make that easy:
install.shandinstall.ps1are short — fewer than 20 lines each — and rendered in full below the installer.- The ZIP and installer scripts have SHA256 hashes shown on the page. Compare against your downloaded copy with
shasum -a 256orGet-FileHash. - The full source lives in the public GitHub mirror.
git cloneinto your skills directory is a fine third install path.
How authentication works
The skill stores your InfoLobby API key in a single-line text file at ~/.infolobby/key. On the first call in a session the skill reads this file. If it does not exist, the skill asks you to paste your key, then writes it (with umask 077 on Unix, so only your user can read it).
Two key types work:
- Account key (
il_live_…) — created in Account → API Keys. Account-owner only. Acts as the owner across whichever workspaces the key is scoped to. - Personal key (
il_user_…) — created in Profile → Personal API Keys. Acts as you, with your permissions. Use this if you do not own the account but want the agent to work as you would.
You can revoke either key at any time from the same screen — the skill will simply prompt for a new one on the next call. See the Authentication doc for the full lifecycle (rotate, reveal, IP allowlists, read-only flag).
What the skill won't do
By design:
- It does not create, modify, or delete workspaces.
- It does not create or modify table schemas.
- It does not manage workspace members or roles.
- It does not send email directly or modify webforms.
- It does not read or write billing or integrations.
It can build and edit flows (automations), but only with an account key, and it keeps new flows inactive until you enable them.
For the excluded operations, use the full REST API (account-level operations are gated behind an unrestricted account key and intentionally absent from the skill).
Troubleshooting
| Symptom | What it means | Fix |
|---|---|---|
401 Unauthorized |
Key missing, revoked, or IP not allowed | Re-run; the skill will reprompt and rewrite ~/.infolobby/key. Check the key's IP allowlist in Account → API Keys. |
403 Forbidden |
Read-only key tried to write, or endpoint out of scope for key type | Create a writeable key, or switch from a personal to an account key for workspace-wide operations. |
429 Too Many Requests |
Hit the per-minute or per-hour bucket | Wait for the Retry-After value. Rate limits scale with your plan. |
Unauthorized - no field edit permissions for field: X |
Field id slug is wrong in a record write | The agent should refetch the table schema with GET /api/table/{id}/get and use the id values, not the display labels. |
Invalid User N for Agent |
User field got a numeric id | Send the member's email address instead. |
| 200 with empty body on create | User field got an object shape; record was not created | Re-issue with email-string only. |
If your agent does the wrong thing in spite of correct API behaviour, open an issue on the GitHub mirror with the prompt and API response body.
Works with Claude Code and other Agent Skills clients
The skill is built for Claude Code first — the one-liner installs straight into ~/.claude/skills/infolobby/ and the agent loads it on demand. Because the Agent Skills format is an open standard, the same SKILL.md also works with Cursor, Gemini CLI, Codex, Goose, OpenCode, OpenHands, Letta, and many other clients — drop the infolobby/ folder into whichever skills directory your agent uses, or point CLAUDE_SKILLS_DIR at it before running the installer.
Using the skill in Claude on the web
Claude.ai accepts custom skills as a zip upload, but the skill only works there if
Claude's code-execution container is allowed to reach infolobby.com. By default it
is not, and the curl calls fail silently.
- Download
infolobby.zipand upload it under Settings → Capabilities → Skills. - In the same Capabilities section, turn on code execution, then enable network egress.
- On Team or Enterprise, egress is controlled by an admin: ask them to add
infolobby.comto the allowed domains under Organization settings → Capabilities.
If you would rather not depend on that setting, use the connector instead — it needs no network permissions because the calls happen on InfoLobby's side, not inside Claude's sandbox. For most people on claude.ai the connector is the better answer.
Privacy and safety notes
- Your API key sits on your machine in plaintext at
~/.infolobby/key. On macOS and Linux the file is mode0600. On Windows the default user-only ACL applies. If your host is compromised the key is gone; rotate it from Account → API Keys if you suspect that. - The skill never echoes the key back to chat or includes it in command-history-visible arguments — it is read into a variable and sent only as a header.
- Account keys can be scoped to specific workspaces and made read-only at creation. For experimentation, create a read-only key against one workspace before granting broader access.