@@ -236,12 +236,21 @@ class N8nWorkflowConfig:
236236 """n8n workflow configuration embedded in a hook.
237237
238238 Attributes:
239- workflow_id: n8n workflow ID.
239+ ord_id: ORD ID of the API resource for this workflow.
240+ card_ord_id: MCP translation card ORD ID (per ADR-021).
241+ tool_name: MCP tool name (apiName segment of ordId, per ADR-021).
242+ global_tenant_id: Global tenant ID of the n8n workflow tenant (per ADR-022).
240243 method: HTTP method for the n8n webhook call.
244+ workflow_id: n8n workflow ID. Retained for backward compatibility; not
245+ populated by the current backend (defaults to "").
241246 """
242247
243- workflow_id : str
248+ ord_id : str
249+ card_ord_id : str
250+ tool_name : str
251+ global_tenant_id : str
244252 method : HTTPMethod
253+ workflow_id : str = ""
245254
246255 @classmethod
247256 def from_dict (cls , obj : Dict [str , Any ]) -> N8nWorkflowConfig :
@@ -250,7 +259,10 @@ def from_dict(cls, obj: Dict[str, Any]) -> N8nWorkflowConfig:
250259 Expected JSON shape::
251260
252261 {
253- "workflowId": "unique_n8n_workflow_id",
262+ "ordId": "sap.n8nwfrt:apiResource:invoice-po-solution_my-workflow.postInvoice:v1",
263+ "cardOrdId": "sap.n8nwfrt:apiResource:invoice-po-solution_my-workflow.postInvoice_mcp:v1",
264+ "toolName": "postInvoice",
265+ "globalTenantId": "tenant-abc",
254266 "method": "POST"
255267 }
256268
@@ -262,8 +274,12 @@ def from_dict(cls, obj: Dict[str, Any]) -> N8nWorkflowConfig:
262274 """
263275 method = _parse_http_method (obj .get ("method" , "POST" )) or HTTPMethod .POST
264276 return cls (
265- workflow_id = obj .get ("workflowId" , "" ),
277+ ord_id = obj .get ("ordId" , "" ),
278+ card_ord_id = obj .get ("cardOrdId" , "" ),
279+ tool_name = obj .get ("toolName" , "" ),
280+ global_tenant_id = obj .get ("globalTenantId" , "" ),
266281 method = method ,
282+ workflow_id = obj .get ("workflowId" , "" ),
267283 )
268284
269285
@@ -338,7 +354,10 @@ def from_dict(cls, obj: Dict[str, Any]) -> Hook:
338354 "order": 1,
339355 "canShortCircuit": true,
340356 "n8nWorkflowConfig": {
341- "workflowId": "unique_n8n_workflow_id",
357+ "ordId": "sap.n8nwfrt:apiResource:invoice-po-solution_my-workflow.postInvoice:v1",
358+ "cardOrdId": "sap.n8nwfrt:apiResource:invoice-po-solution_my-workflow.postInvoice_mcp:v1",
359+ "toolName": "postInvoice",
360+ "globalTenantId": "tenant-abc",
342361 "method": "POST"
343362 }
344363 }
@@ -698,7 +717,10 @@ def from_dict(cls, obj: Dict[str, Any]) -> ExtensionCapabilityImplementation:
698717 "order": 1,
699718 "canShortCircuit": true,
700719 "n8nWorkflowConfig": {
701- "workflowId": "unique_n8n_workflow_id",
720+ "ordId": "sap.n8nwfrt:apiResource:invoice-po-solution_my-workflow.postInvoice:v1",
721+ "cardOrdId": "sap.n8nwfrt:apiResource:invoice-po-solution_my-workflow.postInvoice_mcp:v1",
722+ "toolName": "postInvoice",
723+ "globalTenantId": "tenant-abc",
702724 "method": "POST"
703725 }
704726 }
0 commit comments