-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexample.bpmn
More file actions
180 lines (180 loc) · 23.1 KB
/
Copy pathexample.bpmn
File metadata and controls
180 lines (180 loc) · 23.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0ivd6ll" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.38.1" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.8.0">
<bpmn:process id="A2aMcpExampleProcess" isExecutable="true">
<bpmn:extensionElements />
<bpmn:sequenceFlow id="Flow_0f8b0tc" sourceRef="StartEvent_1" targetRef="Subprocess_AvailableTools" />
<bpmn:endEvent id="Event_1b9qbnh">
<bpmn:incoming>Flow_0zqk837</bpmn:incoming>
</bpmn:endEvent>
<bpmn:adHocSubProcess id="Subprocess_AvailableTools" zeebe:modelerTemplate="io.camunda.connectors.agenticai.aiagent.jobworker.v1" zeebe:modelerTemplateVersion="3" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiNBNTZFRkYiLz4KPG1hc2sgaWQ9InBhdGgtMi1vdXRzaWRlLTFfMTg1XzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjQiIHk9IjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iNCIgeT0iNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIvPgo8L21hc2s+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjAuMDEwNSAxMi4wOTg3QzE4LjQ5IDEwLjU4OTQgMTcuMTU5NCA4LjEwODE0IDE2LjE3OTkgNi4wMTEwM0MxNi4xNTIgNi4wMDQ1MSAxNi4xMTc2IDYgMTYuMDc5NCA2QzE2LjA0MTEgNiAxNi4wMDY2IDYuMDA0NTEgMTUuOTc4OCA2LjAxMTA0QzE0Ljk5OTQgOC4xMDgxNCAxMy42Njk3IDEwLjU4ODkgMTIuMTQ4MSAxMi4wOTgxQzEwLjYyNjkgMTMuNjA3MSA4LjEyNTY4IDE0LjkyNjQgNi4wMTE1NyAxNS44OTgxQzYuMDA0NzQgMTUuOTI2MSA2IDE1Ljk2MTEgNiAxNkM2IDE2LjAzODcgNi4wMDQ2OCAxNi4wNzM2IDYuMDExNDQgMTYuMTAxNEM4LjEyNTE5IDE3LjA3MjkgMTAuNjI2MiAxOC4zOTE5IDEyLjE0NzcgMTkuOTAxNkMxMy42Njk3IDIxLjQxMDcgMTQuOTk5NiAyMy44OTIgMTUuOTc5MSAyNS45ODlDMTYuMDA2OCAyNS45OTU2IDE2LjA0MTEgMjYgMTYuMDc5MyAyNkMxNi4xMTc1IDI2IDE2LjE1MTkgMjUuOTk1NCAxNi4xNzk2IDI1Ljk4OUMxNy4xNTkxIDIzLjg5MiAxOC40ODg4IDIxLjQxMSAyMC4wMDk5IDE5LjkwMjFNMjAuMDA5OSAxOS45MDIxQzIxLjUyNTMgMTguMzk4NyAyMy45NDY1IDE3LjA2NjkgMjUuOTkxNSAxNi4wODI0QzI1Ljk5NjUgMTYuMDU5MyAyNiAxNi4wMzEgMjYgMTUuOTk5N0MyNiAxNS45Njg0IDI1Ljk5NjUgMTUuOTQwMyAyNS45OTE1IDE1LjkxNzFDMjMuOTQ3NCAxNC45MzI3IDIxLjUyNTkgMTMuNjAxIDIwLjAxMDUgMTIuMDk4NyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4wMTA1IDEyLjA5ODdDMTguNDkgMTAuNTg5NCAxNy4xNTk0IDguMTA4MTQgMTYuMTc5OSA2LjAxMTAzQzE2LjE1MiA2LjAwNDUxIDE2LjExNzYgNiAxNi4wNzk0IDZDMTYuMDQxMSA2IDE2LjAwNjYgNi4wMDQ1MSAxNS45Nzg4IDYuMDExMDRDMTQuOTk5NCA4LjEwODE0IDEzLjY2OTcgMTAuNTg4OSAxMi4xNDgxIDEyLjA5ODFDMTAuNjI2OSAxMy42MDcxIDguMTI1NjggMTQuOTI2NCA2LjAxMTU3IDE1Ljg5ODFDNi4wMDQ3NCAxNS45MjYxIDYgMTUuOTYxMSA2IDE2QzYgMTYuMDM4NyA2LjAwNDY4IDE2LjA3MzYgNi4wMTE0NCAxNi4xMDE0QzguMTI1MTkgMTcuMDcyOSAxMC42MjYyIDE4LjM5MTkgMTIuMTQ3NyAxOS45MDE2QzEzLjY2OTcgMjEuNDEwNyAxNC45OTk2IDIzLjg5MiAxNS45NzkxIDI1Ljk4OUMxNi4wMDY4IDI1Ljk5NTYgMTYuMDQxMSAyNiAxNi4wNzkzIDI2QzE2LjExNzUgMjYgMTYuMTUxOSAyNS45OTU0IDE2LjE3OTYgMjUuOTg5QzE3LjE1OTEgMjMuODkyIDE4LjQ4ODggMjEuNDExIDIwLjAwOTkgMTkuOTAyMU0yMC4wMDk5IDE5LjkwMjFDMjEuNTI1MyAxOC4zOTg3IDIzLjk0NjUgMTcuMDY2OSAyNS45OTE1IDE2LjA4MjRDMjUuOTk2NSAxNi4wNTkzIDI2IDE2LjAzMSAyNiAxNS45OTk3QzI2IDE1Ljk2ODQgMjUuOTk2NSAxNS45NDAzIDI1Ljk5MTUgMTUuOTE3MUMyMy45NDc0IDE0LjkzMjcgMjEuNTI1OSAxMy42MDEgMjAuMDEwNSAxMi4wOTg3IiBzdHJva2U9IiM0OTFEOEIiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgbWFzaz0idXJsKCNwYXRoLTItb3V0c2lkZS0xXzE4NV82KSIvPgo8L3N2Zz4K">
<bpmn:extensionElements>
<zeebe:taskDefinition type="io.camunda.agenticai:aiagent-job-worker:1" retries="3" />
<zeebe:ioMapping>
<zeebe:input target="toolCallResults" />
<zeebe:input source="openai" target="provider.type" />
<zeebe:input source="{{secrets.OPEN_API_KEY}}" target="provider.openai.authentication.apiKey" />
<zeebe:input source="{{secrets.OPEN_API_ORG}}" target="provider.openai.authentication.organizationId" />
<zeebe:input source="{{secrets.OPEN_API_PROJ}}" target="provider.openai.authentication.projectId" />
<zeebe:input source="gpt-4o" target="provider.openai.model.model" />
<zeebe:input source="="You are **TaskAgent**, a helpful, generic chat agent that can handle a wide variety of customer requests using your own domain knowledge **and** any tools explicitly provided to you at runtime. If tools are provided, you should prefer them instead of guessing an answer. You can call the same tool multiple times by providing different input values. Don't guess any tools which were not explicitly configured. If no tool matches the request, try to generate an answer. If you're not able to find a good answer, return with a message stating why you're not able to. Wrap minimal, inspectable reasoning in *exactly* this XML template: <thinking> <context>…briefly state the customer’s need and current state…</context> <reflection>…list candidate tools, justify which you will call next and why…</reflection> </thinking> Reveal **no** additional private reasoning outside these tags."" target="data.systemPrompt.prompt" />
<zeebe:input source="=a2aProvidedInput.userRequest" target="data.userPrompt.prompt" />
<zeebe:input source="=uploaded_document" target="data.userPrompt.documents" />
<zeebe:input source="in-process" target="data.memory.storage.type" />
<zeebe:input source="=20" target="data.memory.contextWindowSize" />
<zeebe:input source="=10" target="data.limits.maxModelCalls" />
<zeebe:input source="text" target="data.response.format.type" />
<zeebe:input source="=false" target="data.response.format.parseJson" />
<zeebe:input source="=false" target="data.response.includeAssistantMessage" />
<zeebe:input source="=false" target="data.response.includeAgentContext" />
<zeebe:output source="=agent" target="agent" />
</zeebe:ioMapping>
<zeebe:taskHeaders>
<zeebe:header key="elementTemplateVersion" value="3" />
<zeebe:header key="elementTemplateId" value="io.camunda.connectors.agenticai.aiagent.jobworker.v1" />
<zeebe:header key="retryBackoff" value="PT0S" />
</zeebe:taskHeaders>
<zeebe:adHoc outputCollection="toolCallResults" outputElement="={ id: toolCall._meta.id, name: toolCall._meta.name, content: toolCallResult }" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0f8b0tc</bpmn:incoming>
<bpmn:outgoing>Flow_0hb83gm</bpmn:outgoing>
<bpmn:userTask id="HumanTask_AskHuman" name="Ask Human">
<bpmn:documentation>Whenever it is unclear what tools to use and what to do ask the Human</bpmn:documentation>
<bpmn:extensionElements>
<zeebe:userTask />
</bpmn:extensionElements>
</bpmn:userTask>
<bpmn:serviceTask id="Tool_A2A_CreditCardAgent" name="Handle lost or stolen credit cards" zeebe:modelerTemplate="dev.example.a2a.connector.outbound" zeebe:modelerTemplateVersion="1" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTIwMHB0IiBoZWlnaHQ9IjEyMDBwdCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTIwMCAxMjAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPHBhdGggZD0ibTEwMjAgMzExLjQ4Yy03Mi41MTYgMC0xMzEuNDgtNTkuMDE2LTEzMS40OC0xMzEuNDggMC0xMy41LTExLjAxNi0yNC45ODQtMjQuOTg0LTI0Ljk4NC0xMy41IDAtMjQuOTg0IDExLjQ4NC0yNC45ODQgMjQuOTg0IDAgOC40ODQ0LTAuOTg0MzggMTcuMDE2LTIuNDg0NCAyNC45ODQtMC41MTU2MiAzLjk4NDQtMS41IDguMDE1Ni0zIDEyLTAuOTg0MzggMy45ODQ0LTIuNDg0NCA4LjAxNTYtMy45ODQ0IDExLjQ4NC02IDE1Ljk4NC0xNS41MTYgMzAuNTE2LTI3IDQyLjUxNi0xMi41MTYgMTMuNS0yNy45ODQgMjQtNDUuNTE2IDMwLjk4NC0zIDEuNS02LjUxNTYgMi40ODQ0LTkuOTg0NCAzLjUxNTYtMS41IDAuNTE1NjItMyAwLjk4NDM4LTQuNSAxLjUtNi41MTU2IDIuMDE1Ni0xMy41IDMtMjEgMy45ODQ0LTQuNSAwLjUxNTYyLTkgMC41MTU2Mi0xMy41IDAuNTE1NjItMTQuMDE2IDAtMjQuOTg0IDExLjAxNi0yNC45ODQgMjQuOTg0IDAgMTMuNSAxMS4wMTYgMjQuOTg0IDI0Ljk4NCAyNC45ODQgNzIuNTE2IDAgMTMxLjAyIDU4LjUgMTMxLjAyIDEzMS4wMiAwIDE0LjAxNiAxMS40ODQgMjQuOTg0IDI0Ljk4NCAyNC45ODQgMTQuMDE2IDAgMjQuOTg0LTExLjAxNiAyNC45ODQtMjQuOTg0IDAtNC41IDAtOSAwLjUxNTYyLTEzLjUgMC45ODQzOC03LjUgMi4wMTU2LTE0LjQ4NCAzLjk4NDQtMjEgMC41MTU2Mi0xLjUgMC45ODQzOC0zIDEuNS00LjUgMC45ODQzOC0zLjUxNTYgMi4wMTU2LTYuOTg0NCAzLjk4NDQtOS45ODQ0IDYuNTE1Ni0xNy40ODQgMTcuMDE2LTMzIDMwLjUxNi00NS41MTYgMTItMTEuNDg0IDI2LjQ4NC0yMSA0Mi41MTYtMjcgMy41MTU2LTEuNSA3LjUtMyAxMS40ODQtMy45ODQ0IDMuOTg0NC0xLjUgOC4wMTU2LTIuNDg0NCAxMi0zIDguMDE1Ni0xLjUgMTYuNS0yLjQ4NDQgMjQuOTg0LTIuNDg0NCAxMy41IDAgMjQuOTg0LTExLjQ4NCAyNC45ODQtMjQuOTg0LTAuMDQ2ODc1LTE0LjAxNi0xMS41MzEtMjUuMDMxLTI1LjAzMS0yNS4wMzF6IiBmaWxsPSIjNGMyNWUwIi8+CiA8cGF0aCBkPSJtOTU0IDQ0NS41Yy05Ljk4NDQgMTMuNS0xNS41MTYgMjkuNDg0LTE1LjUxNiA0Ny4wMTYgMCA0MS40ODQtMzMuNTE2IDc1LTc1IDc1LTQxLjAxNiAwLTc1LTMzLjUxNi03NS03NSAwLTQ0LjQ4NC0zNi41MTYtODEtODEtODEtNDEuNDg0IDAtNzUtMzMuOTg0LTc1LTc1IDAtNDEuNDg0IDMzLjUxNi03NSA3NS03NSAxNy40ODQgMCAzMy41MTYtNS40ODQ0IDQ3LjAxNi0xNS41MTYgMTQuMDE2LTkuOTg0NCAyNC45ODQtMjQuNTE2IDMwLTQxLjQ4NC01Ni4wMTYtMjYuNTMxLTExOC41LTQxLjAxNi0xODQuNS00MS4wMTYtMjQwLjUyIDAtNDM2LjUgMTk1Ljk4LTQzNi41IDQzNi41czE5NS45OCA0MzYuNSA0MzYuNSA0MzYuNSA0MzYuNS0xOTUuOTggNDM2LjUtNDM2LjVjMC02Ni0xNC40ODQtMTI4LjQ4LTQxLjAxNi0xODQuNS0xNi45NjkgNS4wMTU2LTMxLjUgMTUuOTg0LTQxLjQ4NCAzMHptLTExNy45OCAxMzMuNWMxNC4wMTYgMCAyNC45ODQgMTEuNDg0IDI0Ljk4NCAyNC45ODQgMCAxNC4wMTYtMTEuMDE2IDI0Ljk4NC0yNC45ODQgMjQuOTg0LTExOC41IDAtMjE1LjAyIDk2LjUxNi0yMTUuMDIgMjE1LjQ4IDAgMTMuNS0xMS40ODQgMjQuOTg0LTI0Ljk4NCAyNC45ODQtMTQuMDE2IDAtMjQuOTg0LTExLjQ4NC0yNC45ODQtMjQuOTg0IDAtMTE5LjAyLTk2LjUxNi0yMTUuNDgtMjE1LjQ4LTIxNS40OC0xMy41IDAtMjQuOTg0LTExLjAxNi0yNC45ODQtMjQuOTg0IDAtMTMuNSAxMS40ODQtMjQuOTg0IDI0Ljk4NC0yNC45ODQgMTE5LjAyIDAgMjE1LjQ4LTk2LjUxNiAyMTUuNDgtMjE1LjAyIDAtMTQuMDE2IDExLjAxNi0yNC45ODQgMjQuOTg0LTI0Ljk4NCAxMy41IDAgMjQuOTg0IDExLjAxNiAyNC45ODQgMjQuOTg0IDAgMTE4LjUgOTYuNTE2IDIxNS4wMiAyMTUuMDIgMjE1LjAyeiIgZmlsbD0iIzRjMjVlMCIvPgogPHBhdGggZD0ibTQ2OCA2MDMuOThjNTYuMDE2IDI2LjQ4NCAxMDEuNDggNzIgMTI4LjAyIDEyOC4wMiAyNi4wMTYtNTYuMDE2IDcxLjQ4NC0xMDEuNDggMTI3LjUtMTI4LjAyLTU2LjAxNi0yNi4wMTYtMTAxLjQ4LTcxLjQ4NC0xMjcuNS0xMjcuNS0yNi41MzEgNTYuMDE2LTcyIDEwMS41My0xMjguMDIgMTI3LjV6IiBmaWxsPSIjNGMyNWUwIi8+Cjwvc3ZnPgo=">
<bpmn:extensionElements>
<zeebe:taskDefinition type="dev.example:a2a:1" />
<zeebe:ioMapping>
<zeebe:input source="http://localhost:8000/a2a/" target="baseUrl" />
<zeebe:input source="A2A" target="mode" />
<zeebe:input target="inputText" />
<zeebe:input target="intent" />
<zeebe:input target="parameters" />
<zeebe:input target="headers" />
<zeebe:input source="= { "jsonrpc": "2.0", "id": "475478", "method": "message/send", "params": { "message": { "messageId": "m-123", "role": "user", "parts": [ { "text": fromAi(toolCall.creditCardAgentIstructions, "The instructions/prompt for the card agent") } ] } } }" target="a2aPayload" />
</zeebe:ioMapping>
<zeebe:taskHeaders>
<zeebe:header key="resultVariable" value="toolCallResult" />
</zeebe:taskHeaders>
</bpmn:extensionElements>
</bpmn:serviceTask>
<bpmn:serviceTask id="Tool_Deepwiki" name="Use Deepwiki provided tools" zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0" zeebe:modelerTemplateVersion="0" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
<bpmn:extensionElements>
<zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:0" retries="3" />
<zeebe:ioMapping>
<zeebe:input source="https://mcp.deepwiki.com/sse" target="data.connection.sseUrl" />
<zeebe:input source="=toolCall.method" target="data.operation.method" />
<zeebe:input source="=toolCall.params" target="data.operation.params" />
</zeebe:ioMapping>
<zeebe:taskHeaders>
<zeebe:header key="elementTemplateVersion" value="0" />
<zeebe:header key="elementTemplateId" value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
<zeebe:header key="resultVariable" value="toolCallResult" />
<zeebe:header key="retryBackoff" value="PT0S" />
</zeebe:taskHeaders>
<zeebe:properties>
<zeebe:property name="io.camunda.agenticai.gateway.type" value="mcpClient" />
</zeebe:properties>
</bpmn:extensionElements>
</bpmn:serviceTask>
</bpmn:adHocSubProcess>
<bpmn:sequenceFlow id="Flow_0hb83gm" sourceRef="Subprocess_AvailableTools" targetRef="Activity_1l12i0n" />
<bpmn:startEvent id="StartEvent_1" zeebe:modelerTemplate="dev.example.a2a.connector.inbound" zeebe:modelerTemplateVersion="1" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTIwMHB0IiBoZWlnaHQ9IjEyMDBwdCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTIwMCAxMjAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPHBhdGggZD0ibTEwMjAgMzExLjQ4Yy03Mi41MTYgMC0xMzEuNDgtNTkuMDE2LTEzMS40OC0xMzEuNDggMC0xMy41LTExLjAxNi0yNC45ODQtMjQuOTg0LTI0Ljk4NC0xMy41IDAtMjQuOTg0IDExLjQ4NC0yNC45ODQgMjQuOTg0IDAgOC40ODQ0LTAuOTg0MzggMTcuMDE2LTIuNDg0NCAyNC45ODQtMC41MTU2MiAzLjk4NDQtMS41IDguMDE1Ni0zIDEyLTAuOTg0MzggMy45ODQ0LTIuNDg0NCA4LjAxNTYtMy45ODQ0IDExLjQ4NC02IDE1Ljk4NC0xNS41MTYgMzAuNTE2LTI3IDQyLjUxNi0xMi41MTYgMTMuNS0yNy45ODQgMjQtNDUuNTE2IDMwLjk4NC0zIDEuNS02LjUxNTYgMi40ODQ0LTkuOTg0NCAzLjUxNTYtMS41IDAuNTE1NjItMyAwLjk4NDM4LTQuNSAxLjUtNi41MTU2IDIuMDE1Ni0xMy41IDMtMjEgMy45ODQ0LTQuNSAwLjUxNTYyLTkgMC41MTU2Mi0xMy41IDAuNTE1NjItMTQuMDE2IDAtMjQuOTg0IDExLjAxNi0yNC45ODQgMjQuOTg0IDAgMTMuNSAxMS4wMTYgMjQuOTg0IDI0Ljk4NCAyNC45ODQgNzIuNTE2IDAgMTMxLjAyIDU4LjUgMTMxLjAyIDEzMS4wMiAwIDE0LjAxNiAxMS40ODQgMjQuOTg0IDI0Ljk4NCAyNC45ODQgMTQuMDE2IDAgMjQuOTg0LTExLjAxNiAyNC45ODQtMjQuOTg0IDAtNC41IDAtOSAwLjUxNTYyLTEzLjUgMC45ODQzOC03LjUgMi4wMTU2LTE0LjQ4NCAzLjk4NDQtMjEgMC41MTU2Mi0xLjUgMC45ODQzOC0zIDEuNS00LjUgMC45ODQzOC0zLjUxNTYgMi4wMTU2LTYuOTg0NCAzLjk4NDQtOS45ODQ0IDYuNTE1Ni0xNy40ODQgMTcuMDE2LTMzIDMwLjUxNi00NS41MTYgMTItMTEuNDg0IDI2LjQ4NC0yMSA0Mi41MTYtMjcgMy41MTU2LTEuNSA3LjUtMyAxMS40ODQtMy45ODQ0IDMuOTg0NC0xLjUgOC4wMTU2LTIuNDg0NCAxMi0zIDguMDE1Ni0xLjUgMTYuNS0yLjQ4NDQgMjQuOTg0LTIuNDg0NCAxMy41IDAgMjQuOTg0LTExLjQ4NCAyNC45ODQtMjQuOTg0LTAuMDQ2ODc1LTE0LjAxNi0xMS41MzEtMjUuMDMxLTI1LjAzMS0yNS4wMzF6IiBmaWxsPSIjNGMyNWUwIi8+CiA8cGF0aCBkPSJtOTU0IDQ0NS41Yy05Ljk4NDQgMTMuNS0xNS41MTYgMjkuNDg0LTE1LjUxNiA0Ny4wMTYgMCA0MS40ODQtMzMuNTE2IDc1LTc1IDc1LTQxLjAxNiAwLTc1LTMzLjUxNi03NS03NSAwLTQ0LjQ4NC0zNi41MTYtODEtODEtODEtNDEuNDg0IDAtNzUtMzMuOTg0LTc1LTc1IDAtNDEuNDg0IDMzLjUxNi03NSA3NS03NSAxNy40ODQgMCAzMy41MTYtNS40ODQ0IDQ3LjAxNi0xNS41MTYgMTQuMDE2LTkuOTg0NCAyNC45ODQtMjQuNTE2IDMwLTQxLjQ4NC01Ni4wMTYtMjYuNTMxLTExOC41LTQxLjAxNi0xODQuNS00MS4wMTYtMjQwLjUyIDAtNDM2LjUgMTk1Ljk4LTQzNi41IDQzNi41czE5NS45OCA0MzYuNSA0MzYuNSA0MzYuNSA0MzYuNS0xOTUuOTggNDM2LjUtNDM2LjVjMC02Ni0xNC40ODQtMTI4LjQ4LTQxLjAxNi0xODQuNS0xNi45NjkgNS4wMTU2LTMxLjUgMTUuOTg0LTQxLjQ4NCAzMHptLTExNy45OCAxMzMuNWMxNC4wMTYgMCAyNC45ODQgMTEuNDg0IDI0Ljk4NCAyNC45ODQgMCAxNC4wMTYtMTEuMDE2IDI0Ljk4NC0yNC45ODQgMjQuOTg0LTExOC41IDAtMjE1LjAyIDk2LjUxNi0yMTUuMDIgMjE1LjQ4IDAgMTMuNS0xMS40ODQgMjQuOTg0LTI0Ljk4NCAyNC45ODQtMTQuMDE2IDAtMjQuOTg0LTExLjQ4NC0yNC45ODQtMjQuOTg0IDAtMTE5LjAyLTk2LjUxNi0yMTUuNDgtMjE1LjQ4LTIxNS40OC0xMy41IDAtMjQuOTg0LTExLjAxNi0yNC45ODQtMjQuOTg0IDAtMTMuNSAxMS40ODQtMjQuOTg0IDI0Ljk4NC0yNC45ODQgMTE5LjAyIDAgMjE1LjQ4LTk2LjUxNiAyMTUuNDgtMjE1LjAyIDAtMTQuMDE2IDExLjAxNi0yNC45ODQgMjQuOTg0LTI0Ljk4NCAxMy41IDAgMjQuOTg0IDExLjAxNiAyNC45ODQgMjQuOTg0IDAgMTE4LjUgOTYuNTE2IDIxNS4wMiAyMTUuMDIgMjE1LjAyeiIgZmlsbD0iIzRjMjVlMCIvPgogPHBhdGggZD0ibTQ2OCA2MDMuOThjNTYuMDE2IDI2LjQ4NCAxMDEuNDggNzIgMTI4LjAyIDEyOC4wMiAyNi4wMTYtNTYuMDE2IDcxLjQ4NC0xMDEuNDggMTI3LjUtMTI4LjAyLTU2LjAxNi0yNi4wMTYtMTAxLjQ4LTcxLjQ4NC0xMjcuNS0xMjcuNS0yNi41MzEgNTYuMDE2LTcyIDEwMS41My0xMjguMDIgMTI3LjV6IiBmaWxsPSIjNGMyNWUwIi8+Cjwvc3ZnPgo=">
<bpmn:extensionElements>
<zeebe:properties>
<zeebe:property name="inbound.type" value="io.example:a2a:1" />
<zeebe:property name="agentId" value="TechnicalDemoAgent" />
<zeebe:property name="skills" value="check deepwiki, handle lost or stolen credit cards, ask a human that is around" />
<zeebe:property name="resultVariable" value="a2aProvidedInput" />
</zeebe:properties>
</bpmn:extensionElements>
<bpmn:outgoing>Flow_0f8b0tc</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_0zqk837" sourceRef="Activity_1l12i0n" targetRef="Event_1b9qbnh" />
<bpmn:userTask id="Activity_1l12i0n" name="Review case">
<bpmn:extensionElements>
<zeebe:userTask />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0hb83gm</bpmn:incoming>
<bpmn:outgoing>Flow_0zqk837</bpmn:outgoing>
</bpmn:userTask>
<bpmn:textAnnotation id="TextAnnotation_13o75gn">
<bpmn:text>MCP Client</bpmn:text>
</bpmn:textAnnotation>
<bpmn:association id="Association_0t085qd" associationDirection="None" sourceRef="Tool_Deepwiki" targetRef="TextAnnotation_13o75gn" />
<bpmn:textAnnotation id="TextAnnotation_1sk8sxl">
<bpmn:text>A2A Client</bpmn:text>
</bpmn:textAnnotation>
<bpmn:association id="Association_0hy2kbp" associationDirection="None" sourceRef="Tool_A2A_CreditCardAgent" targetRef="TextAnnotation_1sk8sxl" />
<bpmn:textAnnotation id="TextAnnotation_071tgbr">
<bpmn:text>A2A Server</bpmn:text>
</bpmn:textAnnotation>
<bpmn:association id="Association_1m4ho6z" associationDirection="None" sourceRef="StartEvent_1" targetRef="TextAnnotation_071tgbr" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="A2aMcpExampleProcess">
<bpmndi:BPMNShape id="Event_1b9qbnh_di" bpmnElement="Event_1b9qbnh">
<dc:Bounds x="1142" y="222" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0wff543_di" bpmnElement="Subprocess_AvailableTools" isExpanded="true">
<dc:Bounds x="450" y="80" width="440" height="370" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0u57ntb_di" bpmnElement="HumanTask_AskHuman">
<dc:Bounds x="570" y="250" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0xdxj61_di" bpmnElement="Tool_A2A_CreditCardAgent">
<dc:Bounds x="720" y="250" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_0nv9xyn" bpmnElement="Tool_Deepwiki">
<dc:Bounds x="570" y="120" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0soospq_di" bpmnElement="StartEvent_1">
<dc:Bounds x="152" y="172" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0o2l3ed_di" bpmnElement="Activity_1l12i0n">
<dc:Bounds x="960" y="200" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="TextAnnotation_13o75gn_di" bpmnElement="TextAnnotation_13o75gn">
<dc:Bounds x="700" y="120" width="99.99691883310554" height="29.99907338769459" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="TextAnnotation_1sk8sxl_di" bpmnElement="TextAnnotation_1sk8sxl">
<dc:Bounds x="770" y="360" width="99.99691883310554" height="29.99907338769459" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="TextAnnotation_071tgbr_di" bpmnElement="TextAnnotation_071tgbr">
<dc:Bounds x="190" y="90" width="99.99691883310554" height="29.99907338769459" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_0f8b0tc_di" bpmnElement="Flow_0f8b0tc">
<di:waypoint x="188" y="190" />
<di:waypoint x="450" y="190" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0hb83gm_di" bpmnElement="Flow_0hb83gm">
<di:waypoint x="890" y="240" />
<di:waypoint x="960" y="240" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0zqk837_di" bpmnElement="Flow_0zqk837">
<di:waypoint x="1060" y="240" />
<di:waypoint x="1142" y="240" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Association_0t085qd_di" bpmnElement="Association_0t085qd">
<di:waypoint x="670" y="150" />
<di:waypoint x="700" y="145" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Association_0hy2kbp_di" bpmnElement="Association_0hy2kbp">
<di:waypoint x="794" y="330" />
<di:waypoint x="811" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Association_1m4ho6z_di" bpmnElement="Association_1m4ho6z">
<di:waypoint x="181" y="176" />
<di:waypoint x="228" y="120" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>