在扣子(Coze)中接入Asana API,轻松实现项目看板自动同步
想要将Asana项目看板的状态实时同步到钉钉群或飞书多维表格?听起来像是一项复杂的工程,但实际操作下来,逻辑并不复杂。核心步骤只有四步:获取Asana的访问令牌(Token)、安装Coze插件、搭建工作流自动化流水线、最后进行验证闭环。
尤其是获取Token时,勾选权限务必注意:“custom_fields:read”这个选项绝对不能遗漏,否则后续所有自定义字段都无法读取——这是很多用户踩过的高频坑点。

在扣子(Coze)中集成Asana API,本质上是让工具替你完成重复劳动。迭代任务无需人工搬运,进度更新不再需要手动操作,那些被卡住的阻塞项也不会被遗漏。
准备好Token:第一步,获取Asana的访问钥匙
登录Asana官网,进入Developer Console,点击【Create new token】。为你的应用命名,例如“Coze-Asana-Sync”,然后在作用域选项中,务必勾选tasks:read、tasks:write、projects:read——但千万别忘了,还要勾选custom_fields:read,这一项至关重要。
【务必勾选custom_fields:read】 否则后续同步时,任务中的“迭代周期”“优先级”“验收标准”等自定义字段将完全无法读取,关键业务属性直接缺失,同步也就失去了实际意义。
生成后请立即复制Token值——它只显示一次,一旦关闭页面就无法找回。这是很多新手容易犯的低级错误,请务必避免。
在Coze Bot里安装插件,授权一步到位
进入Coze Bot编辑页面,左侧菜单找到【Plugins】,点击右上角的【+ Add Plugin】。搜索“Asana”,选中官方插件,点击【Install】即可。
安装完成后,点击【Configure】,将刚才复制的Token粘贴到Token字段中。注意:粘贴时前后不要有多余的空格,否则会返回401错误,这个细节容易被忽略。粘贴好后点击【Test Connection】,看到“Connection successful”的提示,就说明授权成功,可以继续后续操作了。
构建同步工作流:让Asana任务一变,Coze立即响应
实现方式有两种,你可以根据实际需求选择。
方法一:使用Workflow编排,简单直接
- 新建一个Workflow,触发器选择【Asana - Task updated】。在过滤条件中填写Project ID——这个ID可以从Asana项目URL的末尾获取,例如
https://app.asana.com/0/1234567890/1122334455,其中1234567890就是Project ID。 - 添加节点【Get task details】,记得勾选“Include custom fields”,这样才能提取到“Sprint”“Status”“Assignee”等字段。
- 再添加一个【Send message to DingTalk】节点(或飞书的消息节点),选择已绑定的机器人,消息模板使用Markdown格式,将任务标题、迭代周期、状态、负责人等变量填入,消息结构清晰直观。
示例消息模板:
? {{task.name}}
? 迭代:{{custom_fields.Sprint}}
✅ 状态:{{custom_fields.Status}}
? 负责人:{{assignee.name}}
方法二:使用Function Call手动调用,更加灵活
在Bot对话流中插入一个Function Call节点,选择Asana插件,方法选择get_task,输入task_id变量——这个变量可以从事件payload中提取event.object.id。然后将返回结果传递给后续的消息卡片组件。
这种方式更适合需要字段映射或条件分支的场景。例如,当Status变成“Blocked”时,可以自动@对应的负责人,非常实用。
映射字段到钉钉多维表格,一个都不能少
在Coze Workflow中添加一个【Update record in Feishu Table】节点(如果对接飞书)或【Update DingTalk multi-table】节点(如果对接钉钉)。
确保钉钉多维表格中已经预先创建了同名字段:任务标题、迭代周期、当前状态、负责人、最后更新时间。
关键映射规则如下:
- Asana的
custom_fields[xxx].text_value→ 钉钉表格“迭代周期”字段 - Asana的
custom_fields[yyy].enum_value.name→ 钉钉表格“当前状态”字段 - Asana的
assignee.name→ 钉钉表格“负责人”字段(需要提前在钉钉表格中启用人员字段并关联组织架构)
【Asana custom field ID必须与钉钉表格字段ID一一对应】 这一点非常关键。如果对应不上,写入会失败,而且系统不会给出明确报错,只会静默跳过该字段,导致同步不完整。
部署前必做的三项验证,确保万无一失
整个链路搭建完成后,不要急于上线。花几分钟进行一次完整的闭环验证,可以节省后续大量的排查时间。
第一步: 在Asana中新建一条任务,务必带上完整的自定义字段(如迭代周期、状态、优先级)。然后观察Coze Workflow是否被触发,钉钉群中是否收到结构化的消息。
第二步: 将这条任务的“Status”字段修改一下,例如从“进行中”改为“已完成”。确认钉钉多维表格中对应的数据行是否实时更新。
第三步: 在钉钉表格中手动修改“负责人”字段,然后回头查看Asana任务的Assignee是否同步变化——前提是已在Coze中配置了反向同步节点。如果未配置,这一步可以跳过。
这三个步骤走下来,只要每一步都通过,同步链路基本就稳定了。后续只需偶尔观察日志,确保Token没有过期即可。
