Troubleshooting: Common Errors, Failed Steps, and How to Fix Them
This page covers the most common problems Krom Automation users run into, organised by symptom. For each issue, the fastest path to a fix starts with the execution log, always check Krom Automation > Logs before changing any workflow configuration.
Start here: read the execution log first #
Before changing anything, open Krom Automation > Logs and find the execution that failed. Click into it to open the step-by-step trace.
For every step in the execution you’ll see:
- Input data: the exact data the step received, including all resolved merge tag values
- Output: what the step produced or returned
- Error message: the specific error if the step failed
The error message and the resolved input data together answer 90% of troubleshooting questions. Read both before making any changes.
Workflows not running at all #
The workflow is set to Paused. This is the most common cause. Go to Krom Automation > Workflows and confirm the workflow shows as Active. Toggle it to Active if it’s paused.
WordPress Cron is disabled on your host. Krom Automation executes workflow actions as background jobs via Action Scheduler, which depends on WordPress Cron. If WP-Cron is disabled, delayed actions and background executions won’t fire. Check Tools > Site Health for any cron warnings. If your host uses server-side cron instead of WP-Cron, confirm it’s configured to call wp-cron.php on a regular schedule.
Run-once enforcement is blocking re-execution. If the workflow is set to Run once per entity, it will silently skip any entity that has already triggered it before. Check Krom Automation > Logs to see if the execution was recorded but skipped. If you need to re-run a workflow for an entity that has already run, you’ll need to reset the run tracking for that entity or temporarily switch Run Control to Run every time for testing.
The trigger event isn’t firing. The WordPress hook behind the trigger may not be firing. Check that the plugin or event source you expect to trigger the workflow is actually installed and active. For example, WooCommerce triggers won’t fire if WooCommerce is inactive, and LearnDash triggers won’t fire if LearnDash is deactivated.
Delayed actions not executing #
WordPress Cron is unreliable
Delayed actions depend on Action Scheduler processing its queue. Action Scheduler relies on WordPress Cron. On low-traffic sites, WP-Cron only fires when someone visits the site- if no one visits during the delay window, the job executes late. Set up a real server cron to call wp-cron.php on a fixed schedule for reliable timing.
The delayed job is queued but hasn’t run yet
Check Tools > Scheduled Actions (if you have WP Crontrol or a similar plugin installed) to see the pending jobs queue. If Krom Automation jobs appear there with a future scheduled time, they’re queued correctly and will fire when that time arrives.
The workflow was paused after the delay started
If you pause a workflow after the trigger has already fired and a delayed job is already scheduled, the job still runs. Krom Automation does not retroactively cancel queued jobs when a workflow is paused. To prevent a queued delayed job from running, cancel it manually in the Action Scheduler queue.
Merge tags not resolving #
Tag appears literally in the output
(e.g., {{first_name}} in the email body). Krom Automation couldn’t find that tag in the trigger data for this execution. Open the execution log and look at the trigger step’s input data. You’ll see every field the trigger collected and what value each one had. If first_name is absent or empty, the user didn’t provide a first name during registration.
The tag name is spelled incorrectly
Merge tags are case-sensitive and must match the field name exactly. {{First_Name}} and {{first_name}} are different tags. Check the exact field names in the Merge Tags Reference or look at the trigger input data in the execution log.
Using a tag from the wrong trigger type
Each trigger exposes different data. {{order.total}} is only available on WooCommerce triggers. Using it in a workflow with a User Registered trigger will return nothing. Confirm the tag you’re using is available for the trigger your workflow uses.
Nested tags aren’t resolving
For nested data like {{order.total}} or {{customer.first_name}}, confirm you’re using the correct dot notation format. Also confirm the parent object exists in the trigger data; if order is empty, {{order.total}} won’t resolve.
Emails not arriving #
Krom Automation logs show the Send Email step succeeded, but emails aren’t arriving
When the Send Email step shows success in the logs, Krom Automation handed the email to WordPress’s wp_mail() function. The issue is not in Krom Automation, it’s with your WordPress email configuration. Common causes: your host blocks outgoing email on port 25, you’re not using an SMTP plugin, or emails are landing in the spam folder. Install an SMTP plugin like WP Mail SMTP or FluentSMTP and configure it with a transactional email provider.
The Send Email step is failing in the logs
Read the specific error message in the step detail. Common causes include an invalid email address in the To field (a merge tag that resolved to an empty value), a malformed From email address, or a PHP mail function failure on your server.
Emails are arriving but merge tags show as blank
The user or entity didn’t have that data. For example, if {{first_name}} resolves to empty, the user registered without providing a first name. Handle this by either not using that tag in your subject line or adding a condition earlier in the workflow to check whether the field has a value.
AI actions failing #
The AI action step is failing
The most common cause is a missing, invalid, or expired API key. Go to Krom Automation > Settings > AI Settings, confirm the API key is entered correctly, and test with a fresh key from your provider’s console.
AI output is empty or very short
Check your max_tokens setting. If it’s set below 50, the model may not have room to produce useful output. Also check the prompt- a vague or contradictory prompt can cause the model to return a minimal response.
AI Auto-Tag is applying irrelevant terms
Try switching the content_source to title_content instead of content only. Also reduce max_tags to force the AI to return only its most confident matches.
Integration actions failing #
Mailchimp / ConvertKit / MailerLite action is failing
Check the error message in the execution log step detail. The most common causes are: an expired API key, an incorrect Audience ID or List ID, or an email address that the platform has permanently blocked (bounced or marked as spam). Re-enter a fresh API key from your provider account and confirm IDs are correct.
Google Sheets action is failing with a permissions error
The service account hasn’t been given Editor access to the spreadsheet. Open the Google Sheet, click Share, and add the service account email (from the JSON file’s client_email field) with Editor permission.
Slack action is failing.
Confirm the bot has been added to the channel you’re sending to, bots can only post to channels they’re a member of. Also confirm the required OAuth scopes (chat:write, chat:write.public) are enabled in your Slack app settings.
Twilio SMS isn’t delivering
Confirm phone numbers are in E.164 format (e.g. +14155552671). Confirm your Twilio account has credit and the from number is active. Also check whether the destination country is enabled in your Twilio account settings.
Workflow running more times than expected #
Run Control is set to “Run every time” when it should be “Run once per entity”
Go to the workflow settings and change Run Control to Run once per entity. This prevents the workflow from running again for the same user, post, or order.
A plugin is firing the WordPress hook multiple times
Some plugins fire standard WordPress hooks (like user_register) more than once during certain operations. Check whether Run Control set to Run once per entity resolves the issue. If not, add a condition to filter out the duplicate firings based on a specific data value.
Database or activation issues #
Krom Automation’s database tables are missing. Deactivate and reactivate the Krom Automation plugin. Krom Automation creates its 8 database tables on every activation. If the issue persists, confirm your MySQL user has CREATE TABLE permissions by checking with your host.
The Krom Automation menu isn’t appearing after activation. Try deactivating and reactivating the plugin. If that doesn’t help, deactivate all other plugins temporarily to check for a conflict, then reactivate Krom Automation. Re-enable other plugins one by one to identify the conflicting plugin.
Using Debug Mode #
When standard log data isn’t enough to identify a problem, enable Debug Mode in Krom Automation > Settings > Logging and Cleanup.
Debug Mode records additional execution detail including verbose error information and internal state at each step. The trade-off is increased database write volume and larger log entries.
How to use it effectively:
- Enable Debug Mode in settings.
- Reproduce the issue- trigger the workflow again with a real event or a manual test.
- Open the execution log and read the detailed output for the failed step.
- Identify the root cause from the additional detail.
- Disable Debug Mode after troubleshooting. Do not leave it enabled permanently.
Getting more help #
If you’ve worked through the log, checked the error message, and still can’t identify the cause, there are two options:
Free version: Post in the Krom Automation support forum on WordPress.org. Include the error message from the execution log and the Krom Automation version you’re running.
Pro version: Contact wpRigel support directly from your account at wprigel.com. Include the error message, a description of the workflow, and any relevant execution log detail.