Hi everyone. I'm working on a workflow that's triggered by an outbound callin.io AI call webhook. My goal is to generate and send a follow-up email to the caller once the call is finished. I've managed to get the email sending part working, but the issue is that it sends an email for each unique webhook ID, which isn't unique to a single call. Even when I apply a filter for "call completed" from callin.io, there are still about 5 webhooks per call that register as completed. Does anyone have any suggestions on how to prevent triggering if the webhook or call ID has already been processed? I've attempted to store these IDs in a database or Google Sheets, but it still results in 5 emails being sent per call.
I'm not entirely sure about the exact situation you're facing. If you could share a screenshot or the results from your execution history, it would greatly assist others in the Community in resolving the issue.
That's a valid observation. I've captured some screenshots to illustrate my point. The first image shows a straightforward workflow: it's triggered by a callin.io webhook, filters for completed calls, retrieves call details, generates an email using ChatGPT with the transcript, and then sends it via Gmail. I'm also logging call IDs in Google Sheets – perhaps this is part of the issue?
When I execute the process, I encounter the situation shown in the second screenshot, where approximately 5 emails are generated per completed call. (Before implementing the filter for completed calls, I was getting 20-40 emails per call because that's how many webhook triggers were being logged).
Thank you very much.
I believe I might have a partial understanding of the situation.
Are you certain your objective is to send only one email per call?
Based on the screenshot and description you provided, we are inferring the following workflow.
- The data received by the webhook includes a call ID.
- Record the call ID in a Spreadsheet.
- When another webhook is received, retrieve the call ID stored in the Spreadsheet.
- If the call ID matches, do not execute the scenario.
The method I can suggest to manage this is as follows:
- Activate Sequential Processing.
- Position the Add a Row Module in the Spreadsheet before the ChatGPT Module.
The first option can be enabled via the Scenario settings. The potential drawback is that when webhooks are received, they will be processed sequentially, meaning if you have a high volume of calls, there might be a waiting period for processing.
We believe step #2 might be redundant if Sequential Processing is enabled. It will take time to receive the ChatGPT Response, so it would be beneficial to record the call ID in the Spreadsheet as early in the process as possible. If you intend to include the ChatGPT Response, I suggest placing the Update a Row Module after the ChatGPT module to achieve this.
Thank you for your reply. I enabled sequential processing and added a row to the Google Sheet, but it's still sending one email per call.
Here's how the Google Sheet looks (below):
What we're aiming for is a filter that checks if a call ID is unique within the Google Sheet before proceeding. I'm not sure how to implement this in callin.io, but it would be straightforward in SQL or Python.
If the ID is already present in the Spreadsheet, we should prevent it from being processed.
Perhaps we could implement a Filter within the 'Search Rows in Spreadsheet' action to allow it to run only when the ID field is empty, and to stop processing if it finds a match?