Troubleshooting contact progression issues in a flow
Contacts enter your flow through its starting element and progress based on your configured scenario. In some cases, contacts may wait in a queue while actions are being processed. They may also stop in an element due to sending time settings, expired pricing plans, or a pending moderation.
Let’s talk about how to fix contact progression issues in your flow.
Initial checks
Before getting started, see if the contact stopped in your flow or did not enter it at all.
To do this, click the starting element to open its page. Go to the Recipients tab and filter the list by contact details.
The contact did not enter your flow
If you cannot find the contact in the starting element by their email address or phone number, they did not enter your flow. See the subsections below to learn why this happens and how to fix it.
Check the contact’s email address or phone number
Flows identify contacts by email address or phone number. If a contact has neither, flows with a CRM trigger or chatbot event still start. In this case, your flow uses the record's ID to move it through the elements.
The flow bypasses the Email, SMS, Viber, and Push sending elements. It marks these elements as skipped, excludes them from the sending statistics, and moves on to the next element.
The Messaging app element can still send a message if the flow finds the chatbot subscriber. With a chatbot event, your flow uses the subscriber's ID. With a CRM trigger, it uses the subscriber linked to the CRM contact.
To avoid this, always make sure that relevant contact details are available, even if you send messages only through the Messaging app element. You can add these details manually or request them from subscribers through website forms or chatbot conversations.
Check the contact re-entry settings
When using the New subscriber, Assign tag, New deal, Overdue deal date, New task, Meet segment criteria, and Custom events triggers, you can turn on the Start when contact is added to the flow again toggle and select how often your flow should run when a contact is added.
If this toggle is turned off, the flow will not start when a subscriber is added to your mailing list again.
When you turn on the toggle, a contact can enter your flow only once within the selected interval. This setting applies once you save the flow.
To check the settings, click the Start element and review the information on the element page. To change the settings, open the flow builder and go to the Trigger element settings.
Check the contact’s phone number
When the Start when contact is added to the flow again toggle is disabled for the New subscriber trigger, the system will use the phone number added date when sending a message. If it was added more than two hours ago, your flow does not start again for that phone number.
Re-entry is tracked using both the email address and phone number. If a phone number has already entered the flow with another email address, a contact with a new address and the same number enters the flow only after the selected interval. If re-entry is disabled, this contact won't enter the flow.
A placeholder phone number shared by different contacts also blocks them. The same happens if a mistyped email address has already entered your flow with this number.
To check the date when a phone number was added, go to your mailing list, find the contact, and see the date added column. To see if a phone number has already entered your flow, open the starting element, go to the Recipients tab, and search for the number.
Send a phone number only if the contact actually has one.
Check the event data uniqueness
When using the Custom event trigger, the system checks whether the event data points are unique. If the same event and data points are sent again within 15 minutes, the system may reject the event as a duplicate.
To send the event again, change the event parameters in the request body or wait before retrying.
Check the flow start limit
Every SendPulse account has a daily limit of 100,000 flow starts. The limit resets once a day at 12:00 AM, based on your account time zone.
To proceed, wait for the limit to reset, lower the number of flow starts, or contact the sales team to expand your flow start limits.
Check if the flow is paused
Paused flows do not respond to starting events. The system accepts the event, but the flow does not start.
To avoid this, make sure your flow is running before you send the starting event.
Check the stages in the Change deal stage trigger
If the Change deal stage trigger is set to track a move from All to All stages, your flow runs every time a deal moves between stages. The contact receives a message on every run.
To send a message only once, select the specific stages the deal moves from and to.
The contact stopped in your flow
If the contact appears in the starting element, click View path next to their details to see where they stopped. See the subsections below to learn why this happens and how to fix it.
Check the pricing plan
To make sure contacts move through your flow uninterrupted, you need an active pricing plan in the relevant SendPulse tools.
Inactive or expired pricing plans will cause contacts to stop in related elements.
You have a four-day grace period after your plan expires. If you renew your plan during this time, queued contacts continue through your flow automatically. After four days, they're removed from the queue.
Keep your flow active while contacts are queued due to plan limits. If you change your plan while the flow is paused, queued contacts are removed right away.
If you have pricing plans for Email, Chatbots, and CRM, your flow limits are based on the highest of these plans.
Check the moderation status
Each email or SMS template you create or edit is automatically sent for moderation. This process takes about 30 minutes.
While moderation is in progress, contacts entering your flow are placed in a queue.
| New campaign (grey indicator) | Your template has been added to the flow and submitted for moderation. The flow has not started yet. |
| Moderation | Your template is under review. Wait until moderation is complete. |
| New campaign (blue indicator) | Moderation is complete. Contacts will continue moving through your flow during the next check. |
| Some edits required | Your template does not meet anti-spam policy requirements. |
| The campaign is blocked | Your template does not meet anti-spam policy requirements. It will not be sent. |
Check the subscriber status
Campaigns are sent only to active email addresses. Unsubscribed or invalid email addresses do not receive campaigns.
To check a subscriber’s status, go to your mailing list and open their contact card. Check the email address status and the statuses of the most recent emails.
Contacts labeled as Pending manual review can’t enter your flow, even when you run it for a mailing list. Wait until their status changes to New or Active.
Check the element sending time
You can set when each element should run. When a contact reaches the element, the system puts them in a queue.
If you change the sending time, such as from After 30 minutes to Immediately, but the contact is already in the queue, this change will not affect them. The contact will still wait for 30 minutes.
To access the sending time settings, open the element and view the related campaign.
To avoid this, configure all timing settings before running your flow and before contacts enter it.
Check the contact re-entry interval
When using the New subscriber trigger, the system ignores repeated additions of the same email address if they happen within one minute.
To avoid interruptions, re-add the contact after 5 minutes or use a different starting element.
Check the priority sending time
You can set a priority sending time for each flow. If a contact reaches the start of your flow before this time, the system puts them in a queue.
If you change the priority time, such as from sending only on Tuesdays and Fridays to sending every day, queued contacts will still continue to follow the previous schedule.
To avoid this, set all timing settings before launching your flow and before contacts enter it.
Check the element execution time
If two consecutive elements are set to run at the same time — for example, a Filter is set to run after 1 day at 11:00 AM, and an Email is set to run at 11:00 AM — the filter may not finish processing in time. In this case, contacts will be scheduled for the next day.
To avoid delays, set different execution times for consecutive elements.
Check variable values in the Filter element
A contact gets Stopped at the Filter element if the variable has no value during the check. This happens if the value wasn't sent, was empty, or was still waiting in the queue. The contact stays at the filter and doesn't move to the Yes or No branch.
If a contact moved to the No branch, even though the value or tag matches the condition, the data points were probably saved after the filter ran. In flows started by an event or a CRM trigger, variable values are saved when the contact enters the flow. Tags are checked when the filter runs.
To prevent this, set a filter delay of at least 10 minutes or add a Pause before it. Send a value for every variable the filter checks.
To send stopped contacts through your flow again, follow the steps described in Filter element in Automation.
Check the WhatsApp message type
In the Messaging app element, you can choose a WhatsApp message type:
| Free-form message | Any text you enter in the element.
You can send free-form messages only within 24 hours of the subscriber’s last message. |
| Template | A message template created by you and approved by the Meta team.
You can send template messages at any time. |
If an element is set to send a Free-form message, contacts who have not interacted with your WhatsApp business account will not receive the message.
To check this, go to the flow builder and see the selected message type in the element. Then, open your conversation with the contact and check when they last sent you a message.
or