如何将Teams来电Caller ID发送至Jira并触发预定义筛选
解决方案
针对你需要在Teams来电时自动通过Caller ID检索Jira未结工单的需求,以下是两种可行的实现方案:
方案1:Power Automate无代码集成(推荐)
无需开发能力,依托微软和Atlassian的原生连接器即可实现:
- 步骤1:创建Teams来电触发流
打开Power Automate新建自动化云流,选择触发器当有来电到达(Microsoft Teams),配置筛选规则(比如仅处理呼入来电),提取来电的Caller ID。关键要统一号码格式:如果Jira中存储的号码是不带+的纯数字(如49176xxxxxxx),用Power Automate的「替换」动作去掉Caller ID开头的+,确保和Jira内的存储格式完全匹配。 - 步骤2:调用Jira检索工单
添加「Jira(Atlassian)」连接器的「搜索问题」动作,选择你的Jira站点,输入拼接好的JQL:将你预定义筛选器的JQL(比如status != Resolved AND status != Closed)加上号码匹配条件,例如AND (customfield_xxxx = '@{triggerBody()['callerId']}')(customfield_xxxx是Jira中存储来电号码的自定义字段ID)。 - 步骤3:推送结果到Teams
添加「Microsoft Teams」连接器的「发送消息到聊天或频道」动作,将检索到的工单列表格式化为Markdown(比如每条工单显示标题、状态、链接),发送到当前来电的Teams通话聊天窗口,或指定的客服团队频道。由于你已安装Jira Teams应用,点击工单链接会直接在Teams内打开Jira工单详情。 - 步骤4:优化异常处理
添加条件判断:如果返回的工单数量为0,发送「未找到该来电者的未结工单」提示;如果API调用失败,触发重试或通知管理员。
方案2:自定义开发集成(适合技术团队)
如果需要更低延迟或更定制化的体验,可通过API实现深度集成:
- 步骤1:订阅Teams来电事件
通过Microsoft Graph API注册应用,申请Calls.Read.All权限,订阅Teams呼入电话事件,当来电触发时,通过Webhook获取Caller ID。 - 步骤2:调用Jira API检索工单
在后端服务中调用Jira的/rest/api/3/search接口,传入包含Caller ID的JQL(复用预定义筛选器的核心逻辑+号码匹配条件),获取未结工单列表。 - 步骤3:在Teams内展示结果
开发Teams自定义Tab应用,或扩展现有Jira Teams应用的功能,将检索到的工单列表嵌入到Teams通话侧边面板或Jira应用标签页,实现来电时实时弹窗展示。
关键注意事项
- 号码格式必须统一:这是筛选成功的核心,务必在传递Caller ID前完成格式标准化(比如去掉所有非数字字符、统一国家码前缀)。
- Jira权限配置:用于调用API的账号必须拥有预定义筛选器的访问权限,以及目标工单的查看权限,建议使用专门的服务账号避免个人权限变动影响集成。
- 实时性控制:Power Automate的触发延迟通常在3-5秒,可满足大部分客服场景;若需要毫秒级延迟,优先选择自定义Webhook集成。
内容的提问来源于stack exchange,提问作者Christian Rupitsch
相关产品推荐
相关产品推荐

