stormy-gold
stormy-gold4mo ago

custom tool HTTP Params

Hi, I'm using PipeDream + SendGrid and want to send an email to our sales team after call specifically with the callers details and their enquiry. I've noticed that when the sendEmail tool is triggered, the endpoint is receiving a lot of information (essentially the whole bot config) - is there way to force that it only sends through the defined parameter in the tool?
5 Replies
stormy-gold
stormy-goldOP4mo ago
Tool: { "id": "8339651a-9ba5-4603-a94b-54b72d23f382", "createdAt": "2025-05-22T23:15:12.323Z", "updatedAt": "2025-05-23T01:32:16.719Z", "type": "function", "function": { "name": "sendEmail", "strict": true, "description": "This tool is to be triggered after the call; it's an email to our sales team, only the emailBody parameter should be sent, this parameter should contain the captured callers details as well as a brief summary of what they are enquiring about.\nEnsure the content is formatted for JSON, like replacing line breaks with \\n", "parameters": { "type": "object", "properties": { "emailBody": { "description": "This is the body content of the email", "type": "string" } }, "required": [ "emailBody" ] } }, "orgId": "62c50b68-c08c-4ab3-bbe4-6c52392d0e66", "server": { "url": "REDACTED", "timeoutSeconds": 30, "headers": { "Authorization": "REDACTED" } }, "async": true }
Shubham Bajaj
Shubham Bajaj4mo ago
Hey Daco, we don't allow limiting the response that needs to be sent.
stormy-gold
stormy-goldOP4mo ago
Thanks for replying Sahil
Vapi
Vapi4mo ago
Vapi does not currently support restricting the payload to only the defined tool parameters—your endpoint will receive the full context. As a workaround, you can filter the payload on your server to extract just the emailBody before sending it to PipeDream or SendGrid. For example, in Node.js/Express:
app.post('/your-endpoint', (req, res) => {
const emailBody = req.body?.message?.toolCallList?.[0]?.function?.arguments?.emailBody;
// Now use emailBody with SendGrid or PipeDream
});
app.post('/your-endpoint', (req, res) => {
const emailBody = req.body?.message?.toolCallList?.[0]?.function?.arguments?.emailBody;
// Now use emailBody with SendGrid or PipeDream
});
This ensures only the relevant data is processed further. Source: - Custom Tools Request Format
⤵️ Mention @Vapi Support Bot for follow-ups 🐥
Shubham Bajaj
Shubham Bajaj4mo ago
Please reach out to us if you have any other questions regarding this issue

Did you find this page helpful?