ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Automatisch Eventbrite Actions 实战指南:创建活动与发布草稿活动的自动化集成

Automatisch Eventbrite Actions 实战指南:创建活动与发布草稿活动的自动化集成 Automatisch Eventbrite Actions 实战指南创建活动与发布草稿活动的自动化集成【免费下载链接】automatischThe open source Zapier alternative. Build workflow automation without spending time and money.项目地址: https://gitcode.com/GitHub_Trending/au/automatisch本文以 Automatisch 开源自动化平台中 Eventbrite 应用的 Action动作为核心深入解析Create event与Publish event两个动作的完整配置参数、底层 API 调用逻辑与动态下拉数据源实现并给出在 workflow 中组合使用的实战思路。读完本文你将掌握如何在不编写代码的情况下通过 Automatisch 流程自动创建 Eventbrite 活动并将其发布上线。Eventbrite 应用概览与连接前提AutomatischThe open source Zapier alternative是一个开源的工作流自动化平台其 Eventbrite 应用模块位于 packages/backend/src/apps/eventbrite该模块对外暴露两类能力Triggers触发器与 Actions动作。本篇文章聚焦文档 packages/docs/pages/apps/eventbrite/actions.md 中登记的两个动作动作名称功能描述Create event创建新的活动draft 状态Publish event将草稿活动发布上线在流程中使用这两个动作之前必须先建立 Eventbrite 连接。应用级配置在 应用定义文件 中声明了apiBaseUrl: https://www.eventbriteapi.com所有动作与动态数据请求均基于该 API 根路径发起。连接采用 OAuth 2.0 方式需要在 Eventbrite 开发者后台创建 API Key详细步骤见 Eventbrite 连接文档将 Automatisch 提供的 OAuth Redirect URL 填入 Eventbrite 的 OAuth Redirect URI并把 API KeyclientId与 Client SecretclientSecret填写到 Automatisch 连接表单后提交即可字段定义见 认证配置。连接建立后每次发往 Eventbrite API 的请求都会由 add-auth-header.js 自动注入Authorization: Bearer accessToken请求头因此你在配置动作时无需手动处理令牌。Create event在指定组织下创建活动Create event动作的完整定义位于 create-event/index.js底层对应 Eventbrite API 的POST /v3/organizations/{organizationId}/events/。它会创建一个状态为draft草稿的活动后续可用Publish event动作发布。参数清单与配置说明该动作共包含 8 个输入参数下表逐一说明类型、必填性与取值要点参数字段 key类型必填说明OrganizationorganizationIddropdown动态数据是活动所属组织选项来自listOrganizations动态数据Namenamestring是活动名称可带变量Summarysummarystring否活动摘要可带变量Event StarteventStartstring是活动开始时间格式为 ISO 8601如2018-05-12T02:00:00ZEvent EndeventEndstring是活动结束时间格式同上VenuevenueIddropdown动态数据否活动场地选项来自listVenues且依赖所选组织CurrencycurrencyIddropdown动态数据是结算币种ISO 4217 货币代码选项来自listCurrencyListed?listeddropdown否活动是否可被在 Eventbrite 上搜索到取值Yes/No即true/false从源码结构看所有参数均声明了variables: true意味着每个字段都可以引用流程中此前步骤的输出值从而支撑上一个动作的输出作为本动作输入的链式编排。底层请求构造原理run($)函数将各参数组装为 Eventbrite 要求的嵌套结构const fields { name: { html: name }, summary, start: { timezone: UTC, utc: eventStart }, end: { timezone: UTC, utc: eventEnd }, currency: currencyId, venue_id: venueId, listed, };这里有两个实现细节值得注意时区固定为 UTCstart与end对象中timezone硬编码为UTC同时utc字段接收你填入的 ISO 时间字符串。因此配置时间时务必使用带Z后缀的 UTC 时间如2026-10-01T09:00:00Z而非本地时间以免活动时间与预期不符。空值自动剔除组装完成后通过 lodash 的omitBy(fields, isEmpty)过滤掉所有空字段如未填写的summary、venue_id、listed避免向 API 发送多余参数。最终请求体形如{ event: { name: { html: My Event }, summary: A brief summary, start: { timezone: UTC, utc: 2026-10-01T09:00:00Z }, end: { timezone: UTC, utc: 2026-10-01T17:00:00Z }, currency: USD, venue_id: 123456789, listed: true } }请求成功后动作通过$.setActionItem({ raw: data })将 API 返回的完整活动对象包含id、status、url等字段写入执行步骤输出供流程后续步骤引用。Publish event发布草稿活动Publish event动作的定义位于 publish-event/index.js底层对应 Eventbrite API 的POST /v3/events/{eventId}/publish/用于把草稿状态的活动正式发布上线。参数配置该动作仅有两个参数整体非常简单参数字段 key类型必填说明OrganizationorganizationIddropdown动态数据否用于筛选事件列表的组织选项来自listOrganizationsEventeventIddropdown动态数据是要发布的活动选项来自listEvents关键点在 Event 下拉框其动态数据源在请求时额外注入了两个参数——parameters.organizationId跟随所选组织与parameters.unpublished: true即只列出指定组织下处于 draft 状态的活动从数据源头就过滤掉已发布事件避免误选。执行逻辑run($)只取eventId直接拼接发布端点const { data } await $.http.post(/v3/events/${eventId}/publish/);同样通过$.setActionItem({ raw: data })保存 API 返回的发布后活动数据。推荐组合创建后立即发布由于Create event产出的活动是草稿而Publish event只接受草稿活动两者天然形成创建 → 发布的两步式流水线第一步Create event的输出活动id可通过变量语法{{step.第一步ID.data.id}}传入第二步Publish event的 Event 字段实现一次运行完成从无到有、从草稿到上线的完整闭环。动作背后的动态数据源实现上述两个动作中的 4 个下拉框Organization、Venue、Currency、Event均由 dynamic-data 目录下的动态数据Dynamic Data模块支撑用户在选择参数时实时拉取真实数据。逐个剖析如下List organizationslist-organizations/index.js 请求GET /v3/users/me/organizations获取当前用户所属组织。它实现了分页循环只要响应中data.pagination.has_more_items为真就用continuation令牌继续请求下一页直至拉全所有组织再转换为{ value: organization.id, name: organization.name }选项结构。List venueslist-venues/index.js 请求GET /v3/organizations/{organizationId}/venues/。它从$.step.parameters.organizationId读取当前所选组织若尚未选择组织则直接返回空列表保证场地选项始终与组织匹配同样实现了基于continuation的分页遍历。List currencylist-currency/index.js 不发起网络请求而是在本地维护了一份静态的 ISO 4217 货币清单共 20 种常用币种包括 USD、EUR、GBP、JPY、CNY、INR 等直接映射为下拉选项。List eventslist-events/index.js 请求GET /v3/organizations/{organizationId}/events/按order_by: created_desc创建时间倒序排序。当收到unpublished: true参数时会追加status: draft过滤条件这正是Publish event下拉框只显示草稿活动的实现来源。选项名称格式为活动名称 (活动状态)例如Annual Conference (draft)方便用户识别。典型使用场景与注意事项将两个动作纳入 Automatisch 流程后常见落地场景包括定时批量发布结合Scheduler触发器定时把积累的草稿活动批量发布表单触发创建活动用Google Forms或Webhook等触发器接收报名数据通过变量映射自动填充活动名称、时间、摘要后创建并发布活动与其他应用联动创建活动后用Email、Slack或Google Calendar等动作发送通知或同步日程活动id、url等返回值可直接作为下游动作的变量。使用中请留意以下边界时间字段必须使用 UTC ISO 8601 格式如2026-10-01T09:00:00Z源码中时区被固定为 UTCCreate event产出的活动为草稿状态若流程中缺少Publish event活动不会对外可见除listCurrency外其余动态数据均依赖已建立的 OAuth 连接与正确的组织选择未选组织时相关下拉框会为空本文描述基于当前仓库代码API 端点v3/organizations/{id}/events/与v3/events/{id}/publish/Eventbrite 官方 API 若发生版本调整需以实际可用性为准。如需进一步了解连接配置细节、触发器能力或动作的测试用例可继续阅读 Eventbrite 连接文档、动态数据源码目录 以及 触发器源码目录。【免费下载链接】automatischThe open source Zapier alternative. Build workflow automation without spending time and money.项目地址: https://gitcode.com/GitHub_Trending/au/automatisch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表