Skip to content
callin.io and calli...
 
Notifications
Clear all

callin.io and callin.io sync issue

2 Posts
2 Users
0 Reactions
3 Views
George_Tasan
(@george_tasan)
Posts: 2
Active Member
Topic starter
 

I'm encountering significant difficulties getting my callin.io voice agent to communicate my calendar availability when asked over the phone.

I'm using the following JSON response format in my “respond to webhook” node:

json
{
"results": [
{
"toolCallId": "{{ $(‘Event = tool-call’).item.json.body.message.toolWithToolCallList[0].toolCall.id }}",
"output": {
"available": true,
"suggestedSlots": {{ JSON.stringify($json.availSlots) }},
"message": "We’ve got available slots at {{ $json.availSlots.toString() }}. Do any of those work for you?"
}
}
]
}

The callin.io workflow functions correctly and successfully books the call without any errors. However, my voice agent fails to convey this information audibly. It consistently states that no availability exists at the requested time and is unable to check my calendar, even though an HTTP GET request has been sent to my cal.com calendar with the proper credentials. The workflow itself is able to book a call based on the availability and the time I requested.

I have also established a function/tool within callin.io to verify my calendar availability and have explicitly instructed the agent to use it in the assistant prompt.

I'm uncertain why this is not functioning as expected. It's possible that I'm using an incorrect JSON response format, or my function might not be configured properly. I'm hoping for assistance with this issue.

I've also incorporated the following into my assistant prompt:

When receiving a function response:

  • If output.available is true, extract each time in suggestedSlots and read them aloud to the user, formatted in human-friendly language. Example: “We’ve got times at 7:15 PM, 7:30 PM, and 8:15 PM. Do any of those work?”
  • If output.message exists, read it naturally.
  • If output.available is false and suggestedSlots exists, offer those as fallback options.
  • If suggestedSlots is empty or missing and output.message exists, only read the message and let the user know no times are currently available.
 
Posted : 13/06/2025 6:53 pm
Erick_Torres
(@erick_torres)
Posts: 9
Active Member
 

Make sure the Respond to Webhook node executes only after all booking logic has finished.

Include distinct inputs in the output JSON, for instance:

{
"bookingStatus": "success",
"slotTime": "2025-06-14T10:00:00Z",
"available": true,
"suggestedSlots": ["2025-06-14T10:00:00Z"]
}

Utilize decision nodes (IF) to differentiate between available and unavailable scenarios, and transmit a suitable response for each situation.

 
Posted : 13/06/2025 7:43 pm
Share: