一键导入
luma-events
Create events on Luma and send bulk invites via the Luma API. Handles event creation (private by default), cover image upload, and invite sending.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create events on Luma and send bulk invites via the Luma API. Handles event creation (private by default), cover image upload, and invite sending.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Webinar coordination — speakers, agendas, promotion, invites, attendee tracking
Event execution — venues, vendors, invites, logistics, chapter coordination
P&L tracking, cash flow, runway, expense management, financial forecasting
Growth flywheels, data-driven insights, community scaling metrics
Community health metrics, legacy tracking, chapter health, impact reporting
Newsletter, social media, brand, design, cross-department promotions
| name | luma-events |
| description | Create events on Luma and send bulk invites via the Luma API. Handles event creation (private by default), cover image upload, and invite sending. |
Create and manage events on Luma programmatically.
All requests use header: x-luma-api-key
LUMA_API_KEY="$(jq -r '.tools.luma_api_key' ~/.agi/config.json)"
LUMA_API="https://public-api.luma.com/v1"
All AIC events should be created under the AIC Luma calendar:
cal-E74MDlDKBaeAwXK"calendar_id": "cal-E74MDlDKBaeAwXK" in the create payloadcurl -s -X POST "$LUMA_API/event/create" \
-H "x-luma-api-key: $LUMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"calendar_id": "cal-E74MDlDKBaeAwXK",
"name": "Event Title",
"description_md": "Full markdown description",
"start_at": "2026-04-15T01:30:00.000Z",
"end_at": "2026-04-15T04:30:00.000Z",
"timezone": "America/Los_Angeles",
"visibility": "private",
"geo_address_json": {
"address": "Venue Name",
"city": "San Francisco",
"region": "California",
"full_address": "123 Main St, San Francisco, CA 94105"
}
}'
Response: {"api_id": "evt-xxxxx"}
Parameters:
| Field | Type | Required | Notes |
|---|---|---|---|
name | string | yes | Event title |
description_md | string | yes | Markdown description (full event page body) |
start_at | ISO 8601 | yes | UTC datetime |
end_at | ISO 8601 | yes | UTC datetime |
timezone | string | yes | IANA timezone, e.g. America/Los_Angeles |
visibility | string | yes | private, public, or members-only. Always use private for AIC partner events |
geo_address_json | object | no | Location with address, city, region, full_address, google_maps_place_id |
meeting_url | string | no | Virtual meeting link |
Important: Always create events as private first. AJ or Jamie will change to public after review.
curl -s -X GET "$LUMA_API/event/get?api_id=evt-xxxxx" \
-H "x-luma-api-key: $LUMA_API_KEY"
Returns full event object with url field (the public Luma link like https://luma.com/abc123).
curl -s -X POST "$LUMA_API/event/send-invites" \
-H "x-luma-api-key: $LUMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event_api_id": "evt-xxxxx",
"guests": [
{"email": "guest1@example.com"},
{"email": "guest2@example.com"},
{"email": "guest3@example.com"}
]
}'
Response: {} (empty = success)
Luma sends an email to each guest. If the guest has a Luma account with a phone number, they also get an SMS.
Batch size: Send in batches of 50-100 emails per request to avoid timeouts.
visibility: "private" → get api_idurl (public Luma link)curl -s -X GET "$LUMA_API/calendar/list-events" \
-H "x-luma-api-key: $LUMA_API_KEY"
Returns {"entries": [{"api_id": "...", "event": {...}, "tags": [...]}]}.
Filter by date: ?after=2026-04-01T00:00:00.000Z
All Luma times are UTC. For Pacific Time events:
Example: "April 15, 2026, 6:30 PM PDT" → "2026-04-16T01:30:00.000Z"