Hi. I have a workflow where i trigger off of an outbound bland ai call webhook. After the call is completed, i want to generate an email and send it to the caller as a followup. I got it all to work. It sends the email. But, it sends the email per unique webhook id which is not unique to a call. Even if you put a filter for “call completed” from bland, there are still 5 webhooks per call that register as completed. Does anyonea have any good ideas about how to not trigger if the webhook or call ID has been sent before? I tried to store them in a database or google sheets but it still sends 5 emails per call.
I can’t imagine what exactly the situation is in the following sentence, so if you could show us a screenshot or the results of the execution history, it would be easier for the Community people to solve the problem.
This is a good point. I take some screenshots of what I mean and attach them. The first is the simple work flow - trigger from bland ai webhook, filter for completed calls, get call details, generate email with chatgpt with the transcript text, send it with gmail. I also am storing call ID’s in google sheets (perhaps this is part of the solution?)
When i run the process i get the second screenshot, around 5 emails per completed call. (before I added the filter for completed calls it would give me 20-40 emails per call because thats how many webhook triggers were logged).
Thank you very much.
I think I may have somewhat understood the situation.
Are you sure that your goal is to be able to send only one email per call?
From the screenshot and description you gave us, we are assuming the following flow.
- the data received by the webhook has a call ID.
- Record the call ID in Spreadsheet.
- When another webhook is received, the call ID recorded in Spreadsheet is retrieved.
- If the call ID matches, do not run scenario.
The way I can think of to control this is as follows.
- Activate Sequential Processing.
- Place the Add a Row Module in Spreadsheet before the ChatGPT Module
The first can be enabled from the Scenario settings, with the one concern being that when webhooks are received, they are processed one at a time, so if you have a large number of calls, you may have to wait for them to be processed.
We believe #2 is unnecessary if Sequencial Processing is enabled, as it will take time to receive the ChatGPT Response, so it would be nice to record the call ID in Spreadsheet as early in the process as possible. If you want to add the ChatGPT Response, I think you can solve this by placing the Update a Row Module after the ChatGPT.
Thank you so much for your reply. I activated sequential processing and adding a row to the google sheet and it still ends up sending one email per call. Here’s what the google sheet looks like (below):
What we really want to do is have a filter or something that is like, oh, if this call ID is unique in the google sheet then let it pass. Im not sure how to do that in Make, sql or python would be easy
If the ID is already recorded in the Spreadsheet, we should not let it be processed.
How about setting up a Filter in Search a Rows in Spreadsheet to let it run when it is Empty and not run if it is hit by any search?