Sending emails to a larger group of users

Hi,

Last few times, while using Postmarket email service, have send emails to a larger groups, around 350 users, scheduling the API for the backend, and the “loading” bar on the top goes around 20 sec, until the far (right) end of the screen, and then “says”; the app is too busy.

And it seems that the operation is disrupted, - it sends 80% roughly.

Hi there @another,

You’ll need to use a recursive workflow rather than scheduling a workflow on a list.

2 Likes

Have though on first that you just opened a new door for me “labeled” - Recursive workflow.

Here i am, with recursive (i.e. scheduling) workflow, or is there something more?

By recursive workflow I mean this: Advanced guide: Creating Recursive Workflows and tracking their progress

Instead of trying to schedule a big list of things all at once, it loops through to do them in x amount of time instead of all at once if that makes sense

3 Likes

@another

Here’s my screenshot for a recursive Postmark Email in the backend.

  1. Specify input parameters (probably just a list of users for this case)
  2. Add the actions (send postmark email, make changes to user field)
  3. Create the looping mechanism (see screenshots)


Make sure to call the same API workflow, but with a list exactly 1 item less.
Also, make sure you’ve specified a sorting mechanism on all of the workflows!

You can also write the loop termination as a conditional when you schedule the workflow again.

2 Likes

Here are the two workflows in the backend,

Then comes just an email notification that the loop is executed, and in the second part of the workflow (on the right side, beside this one) - is where each single action is triggered by the loop, in this case it just sends an email.

What is wrong here, it seems that the workflow goes, but my list of users is not correctly fetched.

Have checked the logs, there is correct number of users, emails are sent as the proof of right concept, but it seems the users emails are not there. (Privacy is not the issue).

1 Like

hey there @conesult !
Give these ideas a try:

  1. as convention, I always check “Ignore privacy rules when running the workflow” on my apps. You never know when a privacy rule is limiting stuff :stuck_out_tongue:

  2. You don’t need a current_counter or total_count. Here is how you can specify the api workflow:

Parameters:
userList ( do a search for users: sorted by created date )

Workflow:
a) Send Email to userList: item #1 (make sure to use item #1 instead of :first item. sometimes :first item doesn’t work)

b) Schedule the same API workflow again on current date/time (no need to +2 seconds).

c) for the userList parameter, enter the (current workflow’s userList: minus userList’s item #1)

For all workflows, check the box “ignore privacy rules when running the workflow”.

  1. Add the conditional (Only when: userList:count > 0) to the newly scheduled workflow.

When you test, you can go to “Log” → “Scheduler” to pause/cancel and track your workflow.

Hope this helps!

1 Like

Thanks for the reply, and one way solution!

Have found this way to work now quite perfect;

3rd step here would be to add a “notification email” to know when the list is completed, in this case - Sand grid is used.

And here is the last part of the whole process, the third workflow;

Thanks to @paritosh.mehta19; that can more provide more technical explanation upon the whole process.

This topic was automatically closed after 70 days. New replies are no longer allowed.