So, I'm trying out the new Tools functionality. I made one called DuplicateChecking. Based on what I understand, the way to use a tool is through the API. So I setup an API (which has the same name, but we'll call it DupAPI) but, the Tool is calling the API for our WMS (Excalibur WMS by Camelot). When it does so, DupAPI doesn't seem to resolve the handlebars in the OData request to Excalibur. Any ideas on how I can get that to work or whether I'm doing something wrong?
This is my attempt to call the new API in Postman
Here's the mock API request
This is the input to the Tool
This is the preview, which is why I started attempting it in Postman
From within the tool, this is the input
transform out of the Input
Mapping of the input into the API Call in the tool
Transformation out of the API call
Results mapping
Mapping into the output of the tool
Output of the tool
Successful test of the tool
@jackharris
Thanks for sharing the screenshots! Based on what I can see, here's what's happening and how to resolve it:
Your current setup is a GET API call, and it appears you're trying to pass body parameters — which isn't supported in GET requests. Here are your two options:
Option 1 — Switch to POST Update the HTTP method on your connection/endpoint from GET to POST, which will allow you to pass the data as a request body.
Option 2 — Use Query Parameters (keep it as GET) If the API must remain a GET call, pass your values as query parameters in the URL and add a transformation as shown in the attached screenshot.
This will correctly extract the query parameters from the incoming request and map them into the record for further processing downstream.
Hope this helps! Let us know if you run into any issues.
You can reference a Tool from Flows, APIs, AI Agents, an MCP Server, or even another Tool. To learn more about how Tools work in Celigo, check out the documentation.
So, it isn't erroring now, but I'm not getting anything back. When I try to run the tool from the API I get this in the Preview:
I also tried making a clone that used
{
"data": [
{
"Client": "SWE03",
"HeaderRef": "2BL0000082"
}
]
}
as the input, but I still get the same result.
Hi @jackharris ,
Thanks for the update! There was an issue on our end causing the Send on the Tool Import step to not work as expected. This has since been fixed.
That said, the API should have worked when executed from postman. Could you please try again and let us know if the issue persists so we can investigate further?
Thanks for the feedback. It's working as expected now!