返回顶部
a

airtable-participants

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
469
下载量
0
收藏
概述
安装方式
版本历史

airtable-participants

# Airtable Participants Skill ## Purpose Query retreat participant data from the Ceremonia Airtable base. This is the authoritative source of truth for who receives emails and SMS messages. Access is read-only by default — record modifications require Austin's explicit instruction per change. ## Required Setup Ensure AIRTABLE_API_KEY is set in .env. You will also need: - **Base ID:** [VERIFY — find in Airtable API docs at airtable.com/developers or ask Austin] - **Table name:** [VERIFY — confirm the participant table name with Austin] Store confirmed values in TOOLS.md and MEMORY.md once verified. ## Expected Data Structure Participant records are expected to have at minimum these fields: | Field | Type | Description | |-------|------|-------------| | name | Text | Full name | | email | Email | Primary email address | | phone | Phone | E.164 format preferred (+1XXXXXXXXXX) | | retreat_status | Select | e.g., active, alumni, prospective, unsubscribed | | tags | Multi-select | e.g., february-2026, guide-circle, donor | | last_contact | Date | Most recent outreach date | | donation_status | Select | e.g., donor, non-donor | [VERIFY actual field names with Austin on first use — update this section when confirmed] ## Common Query Patterns ### Get all active participants (for newsletter sends) ```bash curl -s "https://api.airtable.com/v0/{BASE_ID}/{TABLE_NAME}?filterByFormula={retreat_status}='active'&fields[]=name&fields[]=email" \ -H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '.records[].fields' ``` ### Get participants with phone numbers (for SMS campaigns) ```bash curl -s "https://api.airtable.com/v0/{BASE_ID}/{TABLE_NAME}?filterByFormula=AND({retreat_status}='active',{phone}!='')&fields[]=name&fields[]=phone" \ -H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '.records[].fields' ``` ### Get participant count by status ```bash curl -s "https://api.airtable.com/v0/{BASE_ID}/{TABLE_NAME}?fields[]=retreat_status" \ -H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '[.records[].fields.retreat_status] | group_by(.) | map({status: .[0], count: length})' ``` ### Get participants by tag ```bash curl -s "https://api.airtable.com/v0/{BASE_ID}/{TABLE_NAME}?filterByFormula=FIND('february-2026',ARRAYJOIN({tags}))" \ -H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '.records[].fields' ``` Note: Airtable paginates at 100 records. Use the offset parameter from the response to fetch subsequent pages: ```bash curl -s "https://api.airtable.com/v0/{BASE_ID}/{TABLE_NAME}?offset={OFFSET_TOKEN}" \ -H "Authorization: Bearer $AIRTABLE_API_KEY" | jq . ``` Always paginate fully before reporting totals or building recipient lists. ## Behavior Rules - Read-only by default — never PATCH, POST, or DELETE Airtable records without Austin's explicit instruction per operation - When building a recipient list for email or SMS: always filter out records where retreat_status is 'unsubscribed' - Never include email addresses or phone numbers in Slack messages — summarize counts and segments only - If a query returns 0 results unexpectedly: report the issue to Austin rather than sending to an empty list - Paginate all list queries fully — do not report partial counts or build partial recipient lists - If Airtable API returns an error: surface it to Austin immediately with the error code and message ## Record Modification (Requires Austin Approval) When Austin instructs a record change (e.g., marking someone unsubscribed, updating last_contact): 1. Confirm the specific change with Austin before executing 2. Execute the PATCH request 3. Log the change in memory/logs/crm-writes/YYYY-MM-DD.md with: record name/email, field changed, old value, new value, Austin's instruction timestamp ## Example Invocations - "How many active participants do we have?" - "Get the email list for the February retreat attendees" - "Who attended the last three retreats?" - "How many people have phone numbers in the system?" - "Mark [name] as unsubscribed" (requires Austin approval) - "Pull the full active participant list for the newsletter" - "How many people joined since January?"

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 airtable-participants-1776310400 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 airtable-participants-1776310400 技能

通过命令行安装

skillhub install airtable-participants-1776310400

下载 Zip 包

⬇ 下载 airtable-participants v1.0.0

文件大小: 2.63 KB | 发布时间: 2026-4-16 17:32

v1.0.0 最新 2026-4-16 17:32
Initial release providing read-only access to retreat participant data from Airtable.

- Queries participant records for emails, phone numbers, attendance, donation status, and segments.
- Supplies recipient lists for email-newsletter and sms-outreach, filtering out unsubscribed participants.
- Enforces strict read-only access by default; record edits require explicit instruction and audit logging.
- Includes detailed setup, common query examples, and behavioral guidelines for safe data handling.
- Requires AIRTABLE_API_KEY and verification of base/table configuration before use.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部