You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过HubSpot API获取工作流全分支的自动化邮件?

解决HubSpot工作流全分支邮件获取问题

方案一:递归解析工作流完整结构

你当前调用的GET /automation/v3/workflows/:workflowId其实返回了完整的工作流结构,只是分支操作没有直接放在顶层actions里,而是嵌套在分支节点的branch字段中。你需要递归遍历整个工作流的节点树:

  • 遍历顶层actions数组,每个操作如果包含branch属性(分支节点),就进入该分支的actions数组继续遍历
  • 类型为SEND_EMAIL的操作里,直接提取emailId和关联的campaignId
  • 注意处理多级嵌套分支(比如分支里再分支的场景)

示例伪代码逻辑:

def extract_emails_from_workflow(workflow_data):
    emails = []
    def traverse_actions(actions):
        for action in actions:
            if action['actionType'] == 'SEND_EMAIL':
                emails.append({
                    'email_id': action['emailId'],
                    'campaign_id': action.get('campaignId'),
                    'workflow_id': workflow_data['id']
                })
            # 递归处理分支节点
            if 'branch' in action:
                traverse_actions(action['branch']['actions'])
    traverse_actions(workflow_data['actions'])
    return emails

方案二:从邮件维度反向筛选

如果不想处理复杂的工作流分支结构,也可以直接从邮件维度入手:

  • 调用GET /marketing/emails/automation/v1/emails获取所有自动化邮件,每个邮件的associatedWorkflows字段会记录关联的工作流ID
  • 结合你持有的工作流列表,筛选出属于目标工作流的邮件,同时可获取对应的campaignId
  • 这个方式不用遍历工作流分支,适合批量获取关联邮件场景

注意事项

  • 确保API密钥拥有automation和marketing_email的权限
  • 部分旧版工作流结构可能略有差异,需要测试适配不同类型的工作流
  • 分支节点可能包含条件判断、延迟等不同类型,递归时要覆盖所有带branch属性的节点

内容的提问来源于stack exchange,提问作者Matthieu ALLIER

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 16:22:04