<flow name="purchaseOrderTool">
<mcp:tool-listener config-ref="MCP_Server" name="create-concur-purchase-order">
<mcp:description></mcp:description>
<mcp:parameters-schema ><![CDATA[{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name for the purchase order."
},
"description": {
"type": "string",
"description": "Purchase order description."
},
"vendorCode": {
"type": "string",
"description": "Code that identifies the vendor."
},
"itemDescription": {
"type": "string",
"description": "Description of the item purchased in this order."
},
"price": {
"type": "number",
"description": "Monetary amount of the purchase order."
},
"currency": {
"type": "string",
"description": "Currency code for the purchase order monetary amount."
}
},
"required": ["name", "description", "vendorCode", "itemDescription", "price", "currency"]
}]]></mcp:parameters-schema>
<mcp:responses >
<mcp:text-tool-response-content text="#['Created Order $(payload.PurchaseOrderNumber)']" />
</mcp:responses>
</mcp:tool-listener>
<flow-ref name="getTokenFlow" target="token"/>
<mule-sap-concur-connector:create-purchase-order config-ref="SAP_Concur_Config">
<mule-sap-concur-connector:create-purchase-order-request-data ><![CDATA[#[output application/json
---
{
Name: payload.name,
CurrencyCode: payload.currency,
Description: payload.description,
VendorCode: payload.vendorCode,
LineItem: {
Description: payload.itemDescription,
ApprovedLineItemAmount: payload.price as String,
TotalPrice: payload.price as String
}
}]]]></mule-sap-concur-connector:create-purchase-order-request-data>
</mule-sap-concur-connector:create-purchase-order>
</flow>