Troubleshooting
Shortcode renders nothing
Check:
- The flow is Published, not Draft.
- The flow ID in the shortcode matches the published flow's post ID.
- The
idattribute is provided ([oonboard id="5"], not[oonboard]).
Step submissions return 403
The frontend nonce is oob_frontend. It expires after 12-24 hours by default. If a user leaves a page open for a long time, the AJAX call will fail; refresh the page to refresh the nonce.
XP or badge action is not awarded
OOB_Actions checks for oengage_award_xp / oengage_award_badge before calling. Confirm OEngage is active. If you renamed function prefixes in a fork, update the call sites in class-oob-actions.php.
Webhook never fires
Look at wp_oob_webhook_log. Failed deliveries are retried via the oob_retry_webhook cron event. On low-traffic sites WP-Cron may not fire often; configure a real cron to hit wp-cron.php every five minutes.
Analytics show zero events
Events are recorded by the AJAX endpoints (ajax_complete_step, ajax_skip_step, etc). If you have a caching plugin that strips AJAX URLs from the localized config, the calls never reach the server. Exclude OOnboard admin/AJAX URLs from your cache.
Gutenberg block shows "Select a flow"
The block's render_callback returns this placeholder when flowId = 0. Open the block inspector in the editor and pick a flow from the dropdown.

