资讯中心

如何编写Tracardi工作流:185+内置插件构建自动化客户旅程

📅 2026/8/27 16:19:47
如何编写Tracardi工作流:185+内置插件构建自动化客户旅程
如何编写Tracardi工作流185内置插件构建自动化客户旅程【免费下载链接】tracardiTRACARDI is a new HOME for your customer data. TRACARDI is an Composable API-first solution for any company that need inexpensive CDP to intergrate with.项目地址: https://gitcode.com/gh_mirrors/tr/tracardiTRACARDI 是一个 API-first 的客户数据平台CDP它的核心能力之一就是工作流Workflow——你可以通过拖拽节点把 185 个内置插件像积木一样拼装起来自动触发营销动作、更新客户画像、清洗数据。本文将带你快速掌握 Tracardi 工作流的编写思路无需深厚编程背景即可上手。一、工作流在 Tracardi 中是什么在 Tracardi 中工作流被实现为一个有向无环图DAG每个插件是一个节点节点之间的连线代表数据流向。当追踪器Tracker收到一个事件后平台会自动检查哪些工作流被触发然后按图执行。核心执行链路如下事件进入→ 系统加载该客户最新的画像Profile与会话Session规则匹配→ 根据触发规则找到需要运行的工作流DAG 执行→ 把可视化画布转换成可执行图逐节点调用插件结果回写→ 工作流中修改的画像、会话字段自动保存并记录字段变更日志这套逻辑集中在两个文件里理解它们你就理解了 Tracardi 工作流的心脏工作流管理器tracardi/service/wf/workflow_manager_async.py事件触发入口tracardi/service/wf/triggers.py执行引擎的画布转执行图逻辑在tracardi/service/wf/domain/work_flow.py二、185 插件全景从哪里选节点Tracardi 的内置插件全部位于 tracardi/process_engine/action/ 目录下源码中实际提供了 185 个可用插件节点按功能分成多个子目录分类目录说明典型用途strings/字符串处理拼接、分割、正则替换、验证time/时间处理时区转换、时间差计算traits/画像属性操作增删改客户属性traitssegmentation/分群客户分层、标签计算connectors/第三方连接器HubSpot、Mailchimp、Slack、Elasticsearch 等 40 平台operations/通用运算条件判断、数据变换consents/同意管理GDPR 合规的同意状态处理flow/流程控制循环、分支、异常处理几个常用插件示例条件分支if_action.py—— 判断条件后走不同分支是构建客户旅程的骨架属性更新tracardi/process_engine/action/traits/ 下的插件可增量修改客户属性连接器tracardi/process_engine/action/v1/connectors/hubspot/ 可直接把数据推送到 HubSpot兴趣分组group_and_rank_interests_action.py—— 自动为客户兴趣打分排序 选型建议先用strings/、traits/这类数据处理型节点清洗和丰富数据最后用connectors/型节点把结果送到外部系统。三、编写一个工作流的完整步骤步骤 1定义触发规则工作流需要一个何时运行的触发条件。触发规则由规则引擎Rules Engine管理源码位于 tracardi/process_engine/rules_engine.py。典型触发方式事件触发某类型事件发生如用户提交表单时立即执行字段变更触发画像某个属性被更新时执行计划任务触发按调度时间从指定节点开始执行见 tracardi/service/wf/domain/work_flow.py 中对scheduled_event_config的处理步骤 2用画布搭建 DAG在可视化编辑器中拖入节点并连线。保存后的工作流是一个Flow对象其结构定义在 tracardi/domain/flow.pytype工作流类型如collection收集型、journey旅程型flowGraph节点与边的集合tags用于检索的标签lock防止未部署的草稿被误执行平台内置了DAG 保护机制防环检测源码在 tracardi/service/wf/domain/dag_protection.py——你无法画出一个死循环。步骤 3配置每个节点的输入节点之间通过**点号路径dot notation**传递数据例如把事件属性event.profile.email传入下一个节点。这套路径系统的实现路径访问器tracardi/service/notation/dot_accessor.py路径遍历器tracardi/service/notation/dict_traverser.py这意味着你可以跨层级引用任意深度的数据结构如event.payload.products[0].name。步骤 4调试与验证Tracardi 内置了完整的调试器能逐步显示每个节点的输入输出调试核心tracardi/process_engine/debugger.py调试信息模型tracardi/service/wf/domain/debug_info.py每个节点的执行结果都会写入FlowInvokeResulttracardi/service/wf/domain/flow_invoke_result.py出错时会给出明确的DagGraphError信息。步骤 5部署草稿draft与工作流本体分离存储只有**部署deploy**后才会被规则引擎匹配到。部署状态映射见 test/unit/mysql/test_workflow.py 中WorkflowTable的deployed字段用法。四、实战一个客户旅程的典型形态以新用户注册 → 分级 → 推送营销为例触发signup事件到达判断if_action检查邮箱域名——企业邮箱走高价值分支打标签traits/插件写入customer_tier: enterprise分群segmentation/插件把客户加入对应实时群组外发connectors/hubspot/或connectors/mailchimp/推送到营销系统合规consents/插件确认用户同意状态后再执行整个流程不需要写一行胶水代码——所有逻辑都是现成插件。五、进阶编写自定义插件内置插件不够用时可以注册自己的插件。插件注册与元数据体系位于插件注册模型tracardi/service/plugin/domain/register.py插件运行器tracardi/service/plugin/service/plugin_runner.py插件安装入口tracardi/service/plugin/plugin_install.py单元测试模板可参考 test/unit/plugins/test_plugin_base64_encode.py集成测试参考 test/integration/plugins/test_plugin_start.py。六、常见问题速查Q1工作流没有触发先确认配置中enable_workflow已开启见 tracardi/service/wf/triggers.py 第 31 行的开关逻辑再检查工作流是否已 deploy。Q2数据在节点间丢了检查点号路径是否写对可用dict_traverser手动验证路径可达性。Q3修改画像后没生效工作流结束后平台会检查profile.is_updated_in_workflow()自动写回数据库与缓存见 tracardi/service/wf/triggers.py 中_exec_workflow的保存逻辑。Q4如何避免节点执行顺序问题DAG 拓扑排序由 tracardi/service/wf/utils/dag_graph_sorter.py 保证同层节点并行、跨层严格有序无需手动控制。小结Tracardi 的工作流引擎把客户旅程自动化拆解成了三件事定触发规则、拖节点连线、配点号路径。185 个内置插件覆盖了从数据清洗到营销触达的全链路加上内置调试器与 DAG 保护新手也能快速搭建出生产级的工作流。建议从 tracardi/process_engine/action/ 目录的字符串与 traits 类插件练手再逐步尝试 connectors 完成端到端集成。【免费下载链接】tracardiTRACARDI is a new HOME for your customer data. TRACARDI is an Composable API-first solution for any company that need inexpensive CDP to intergrate with.项目地址: https://gitcode.com/gh_mirrors/tr/tracardi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考