← 返回
开发者工具 Key 中文

Airtable Participants

Read and query retreat participant data from the Ceremonia Airtable base. Use this skill when asked about participants, subscriber counts, retreat attendance...
从 Ceremonia Airtable 库读取和查询静修参与者数据。用于回答关于参与者、订阅人数、静修出席情况等问题。
austinmao austinmao 来源
开发者工具 clawhub v1.0.0 1 版本 99891.7 Key: 需要
★ 0
Stars
📥 922
下载
💾 8
安装
1
版本
#latest

概述

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:

FieldTypeDescription
--------------------------
nameTextFull name
emailEmailPrimary email address
phonePhoneE.164 format preferred (+1XXXXXXXXXX)
retreat_statusSelecte.g., active, alumni, prospective, unsubscribed
tagsMulti-selecte.g., february-2026, guide-circle, donor
last_contactDateMost recent outreach date
donation_statusSelecte.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)

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)

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

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

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:

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?"

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-29 16:11 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Tavily 搜索

jacky1n7
通过 Tavily API 进行网页搜索(Brave 替代方案)。当用户要求搜索网页、查找来源或链接,且 Brave 网页搜索不可用时使用。
★ 272 📥 99,837
data-analysis

AdMapix

fly0pants
广告情报与应用数据分析助手,支持搜索广告素材、分析应用排名、下载量、收入及市场洞察,用于广告素材和竞品分析。
★ 295 📥 136,968
data-analysis

Stock Watcher

robin797860
管理和监控个人股票自选列表,支持利用同花顺数据添加、删除、列出股票及汇总近期表现。适用于用户希望追踪特定股票、获取表现汇总或管理自选列表时。
★ 112 📥 45,636