Confirmation Email on Webform Registration

Hello Forum people:

Quick question.

When setting up a registration confirmation email on a webform that is part of the campaign, presumably the “immediately send” option will send every time the cronjob is triggered? Is there a way to get around that without triggering campaign cronjobs more frequently?

Thanks for any help.

Can you turn off the campaign related cronjobs and test it if the email is sent if the form includes a “send email” action?

On my test campaign, I have a form action that advises the USER (ie me) if a campaign form has been filled out. I confirm that the Send email to user does trigger immediately.

However the campaign actions - such as sending a text message or confirmation email - back to the contact depends on the campaign trigger cronjob.

Have I set up something wrong?

You are fine.
The campaign actions are triggered by the campaign cronjob.
If you would have queue as well, it would be one more cronjob needed (email:send)

Thank you. But I would like the “immediately send” text or email - linked to a campaign - to be sent out immediately. And not have it depend on the campaign cronjob.

Is this possible? I imagine not?

Hi, you said it yourself: sending a text or email is part of a campaign so it would only make sense to me that this is triggered by campaign cronjobs (although I am not sure),

What I wanna know is: why is this even an issue? Cron jobs are/should be triggered every minute as far as I know, so the delay should not be that big anyway. What am I missing here?

Also if you really want to trigger this immediately after form is filled out perhaps you should explore options of custom Mautic plugin development.

It’s an issue only in that I have my campaign triggers every 15 minutes approximately.

I’m afraid of crashing my server if I increase the cronjob frequency. (It’s happened in the past.)

Aha OK, then like I mentioned before consider exploring custom plugin devevelopment.

It is not that complicated to run your cron every minute, all you need to do is to limit actions for every command.
Check this video:

1 Like

Will review. Thanks.

mautic:campaigns:trigger --batch-limit 100 -f -vvv --campaign-id 1

replace campaign ID with whatever your canpaign is and reduce the batch limit from 100 to whatever is appropriate and run every minute or 2 or 3

Thank you EJL. Will implement and test.

Would you advise what are the -f and -vvv commands?

-f is the force option
-vvv is very very verbose logging

Feel free to omit either or both

Hello again EJL.

Sorry to come back to this, but finally had some time to review settings.

If I set a particular campaign ID per –campaign-id 1 for example, how does that affect the other campaigns?

Presumably I need to create a generic mautic:campaigns:trigger cronjob for the rest of the campaigns?

Finally, I guess the easiest route initially would be to test the --batch-limit while increasing frequency of the cronjobs?

Thank you for any suggestion.

hi there,

if you only have a cronjob with a specific campaign id, then only this campaign id will be updated/triggered. So either you will need to have a generic one (which will run all the campaigns including the one you set above) or a separate job for each campaign id

@mikew is correct @miamiman

No it only runs the campaigns you specify. In the instance that you want to run all campaigns then omit the --campaign-id

You can do that. Alternatively you can run your crons as described above or you can run them all consecutively using the &

This is true. Some trial and error is in order as we couldn’t estimate your hardware, available system resources, or database performance.

Thank you everyone!