I've noticed many users encountering difficulties with function calling using the Message Assistant module, so I've put together a guide. Please feel free to ask any questions.
Thank you so much…this was a HUGE help!!
Great job. I've also included some technical specifics on how this functions, which you can find in this thread here.
Your example is excellent! The response from the initial scenario using the OpenAI module's “Generate summary” function works without any problems when executed on the callin.io platform.
However, the resulting response is not being delivered to the assistant within the OpenAI Assistant chatbox on the OpenAI playground, as I illustrated with the images accompanying this explanation. After the user sends links, it indicates "running in process..." and then just continues to run, as you can observe in the images below.
Could you please offer some suggestions on what might be causing this issue or what might be missing? Thank you in advance!
PS: I've included images below for a clearer understanding of the problem.
Thanks! On Playground, I don't believe the assistant automatically executes the workflow (it lacks knowledge of your webhook URL, preventing it from functioning). My understanding is that on Playground, you should manually input the response the assistant is expected to receive. This enables the assistant to generate a message using that response, context, or information. Therefore, you can only observe and attempt to refine the final message within Playground. Does this explanation clarify things?
Hi, thanks for taking the time to respond to my question! I really appreciate it!
Now I understand that if I call an OpenAI assistant function in the OpenAI playground, it's required to manually enter some input like "success" or "okay" to complete the process and receive the response in the user prompt.
I am using callin.io to execute the functions via webhook. Do you think it's possible to instruct the assistant in one of the callin.io modules to automatically run all functions and then send the final response to the prompt (without requiring manual input like "success" or "okay")?
Hope my explanation is understood (my English isn't good enough).
PD: I'm mentioning callin.io only as an example; I might use other platforms like Pabbly or Latenode or whatever can do what I want.
Thanks in advance! Kind regards!! You're great!
Hey, it seems you're discussing function calling with two scenarios, similar to what I outlined in my Medium post. If that's correct, then yes, it functions without needing to write a success message. This is a manual step required only in the Playground, and nowhere else. I apologize if I'm not fully grasping your question, but I hope this provides the answer you're looking for! Regarding other automation tools, I'm uncertain if function calling is supported. callin.io handles the calling aspect on their end, which you would typically need to code. I'm not sure if other platforms offer this functionality. My guess is probably not.
Hello there! Yes, that is precisely what I was looking to clarify. Really appreciate your time and knowledge!!!
Hello there. Is there any alternative to using a function tool with just one scenario? I'm wondering if it's possible to retrieve a URL from another source.
Hey hey. Hmm, may I ask what you are trying to achieve?
I'm developing an SDR AI agent and currently have two active workflows for it.
The initial workflow focuses on fetching lead details from a CRM and dispatching a WhatsApp message.
The second workflow is set up to maintain the conversation with the lead and assess their qualification. If the SDR assistant determines the lead is approved, the automation proceeds to create an event in Google Calendar. Consequently, I need to implement a function to save the qualification outcome and the date selected by the lead.
I had to set up these two workflows because the first requires an HTTP request, and the second utilizes a custom webhook. As I'm on the free tier, which permits only two workflows, this agent serves solely to illustrate the process to a prospective client. This is why I inquired about the possibility of getting the URL without needing to create an extra workflow.
Ah, I understand now. I haven't experimented with this approach before, but it seems promising. For your second scenario, where a webhook serves as the trigger, consider inserting a router immediately after the trigger. Then, implement a filter on each subsequent branch. You can direct the workflow to a specific branch by appending a query string to your webhook URL, for instance, yourWebhookUrl?branch=addToCalendar
and yourWebhookUrl?branch=functionCalling
. This method allows you to utilize a single webhook URL for distinct functions. Configure one branch to operate as it currently does, and have the other branch manage the function calling. Essentially, this process involves self-invoking the same scenario during its execution. I recently tested sending an HTTP request to a webhook from within the same scenario where that webhook is the trigger, and it appears to function correctly without causing an infinite loop. Therefore, it's definitely worth a try!