Description
Togra ContentFlow lets you automate repetitive WordPress work with simple, readable workflows:
- When something happens (a trigger)
- If your conditions match (conditions)
- Then perform the actions you chose (actions)
Triggers, conditions and actions are built from registries, so every part of the plugin is extensible:
- Triggers: a post is published, updated, changes status or is trashed; a file is uploaded; a user registers, logs in, logs out, resets their password, updates their profile, changes a custom field, changes role or is deleted; a comment is submitted or approved.
- Conditions: post type, post status, post category, user role, post custom field, user custom field, joined with AND or OR.
- Actions: send an email, email the site admin, create a post, update the post, change the post status, move the post to the trash, update or delete a custom field, create a user, update the user, add or remove a user role, send a webhook, write a log entry.
- Webhooks: send workflow data to Zapier, Make, n8n, Slack or your own app, as JSON or form fields, with custom headers and an optional HMAC signature.
- Incoming webhooks: every workflow can have its own private URL that other services post to. Received fields become tokens and conditions. Protected by a secret key, optional HMAC signature, a per-minute limit and size limits. Incoming webhooks cannot create or update WordPress user accounts.
- Run rules: limit a workflow to a number of runs in total or per user, run it only once per post, or add a cooldown for the whole workflow, per user or per post.
- Schedule: run a workflow every hour, day, week or month at a set time, in the site timezone. Missed runs happen once as soon as the site is back.
- Wait: pause a workflow for minutes, hours, days or weeks, or until a date, then continue with the next actions. Delays are stored in the database, so they survive restarts and missed cron runs.
Text fields accept tokens such as {post.title}, {user.email}, {post_meta.price}, {date.today} and {site.name}, which are replaced when the workflow runs. Every run is recorded, step by step, on the Logs screen.
Start from one of six ready made templates, and move workflows between sites with import and export.
Integrations switch themselves on when their plugin is active:
- WooCommerce: run a workflow when an order changes status, check the order total, add an order note.
- Contact Form 7, WPForms and Elementor: run a workflow when a form is submitted, and use the submitted values as tokens.
Privacy
Togra ContentFlow does not contact external services on its own, does not track visitors, and does not set cookies. A workflow only sends data to another service if you add a “Send a webhook” action to it; the data then goes only to the URL you enter in that action, and that service’s own terms and privacy policy apply. Emails sent by workflows go through the site’s own mailer (wp_mail). Workflow run history is stored in the site’s database, pruned on the retention schedule you choose, and supports the WordPress personal data export and erasure tools.
Installation
- Upload the plugin folder to
/wp-content/plugins/. - Activate the plugin through the Plugins screen.
- Open Togra ContentFlow in the admin menu.
FAQ
-
Is anything locked, limited or trial based?
-
No. Every trigger, condition and action the plugin ships is available to everyone, with no licence key, no trial period and no limit on the number of workflows, runs, webhooks or delays. The plugin never checks a licence and never calls home.
-
Why don’t other plugins’ notices appear on the Togra ContentFlow screens?
-
The workflow builder is a full screen editor, and banners from unrelated plugins push it around, so they are hidden on this plugin’s own four screens. WordPress’s own update and maintenance notices always stay visible, every other screen in the admin is left untouched, and a site can switch the behaviour off with the
togra_contentflow_hide_foreign_admin_noticesfilter. -
Does deactivating the plugin delete my workflows?
-
No. Deactivation never removes data. Deleting the plugin only removes data if you first enable “Delete all workflows, executions, logs and settings when the plugin is deleted” on the Settings screen.
-
Does the plugin send data anywhere?
-
No. The plugin collects no tracking data and makes no remote requests of its own. The only exception is the “Send a webhook” action: when you add it to a workflow, the data you choose is sent to the URL you enter, and nowhere else.
-
What personal data does the plugin store?
-
Each workflow run keeps a short summary of what triggered it, which can include a user ID, username, display name, email address, or the text of a comment or form. Log entries can contain the same values when a workflow’s messages use tokens. Nothing is shared with anyone.
This history is deleted automatically after the retention period on the Settings screen. The plugin adds suggested text to Settings > Privacy, and works with Tools > Export Personal Data and Tools > Erase Personal Data. Erasing anonymises the matching runs and log entries, so the log still shows that a workflow ran but no longer identifies the person.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Togra ContentFlow” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Togra ContentFlow” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.2
- Do not record the database schema version unless every expected table exists after installation or migration.
- Stop activation with an actionable error if the plugin cannot create its database tables.
1.0.1
- Webhook rate limiting and replay protection are now counted by the database in a single statement each, so requests that arrive at the same moment are counted correctly.
- Signatures are read the same way however they are written, so the same request cannot be delivered twice by changing the spelling of its signature header.
- A scheduled workflow claims its slot before it runs, so two cron requests in the same moment cannot run it twice, and each workflow records its own last run.
- Every workflow keeps its own webhook key, so saving two webhook workflows at the same moment can no longer lose one of them.
- Runs left behind by a crashed request are marked failed after an hour, so they no longer count against a workflow’s run limits for ever.
- New counters table, created automatically on update.
1.0.0
- Initial release.
- Visual WHEN / IF / THEN workflow builder with a plain form fallback.
- Triggers: a post is published, updated, changes status or is trashed; a file is uploaded; a user registers, logs in, logs out, resets their password, updates their profile, changes a custom field, changes role or is deleted; a comment is submitted or approved.
- Conditions: post type, post status, post category, user role, post custom field and user custom field, joined with AND or OR.
- Actions: send an email, email the site admin, create a post, update the post, change the post status, move the post to the trash, update or delete a custom field, create a user, update the user, add or remove a user role, write a log entry. Incoming webhook workflows cannot run the create-user or update-user actions.
- User actions never grant or change site-management roles, never touch passwords of existing users, and never change administrators.
- Run rules: maximum runs in total and per user, once per post, and a cooldown per workflow, user or post. Skipped runs are logged with the reason.
- Webhook received trigger: a private URL per workflow, constant-time key check, optional HMAC-SHA256 signature with timestamp and replay protection, rate limit, 1 MB body limit, {webhook.field} tokens and a Webhook field condition.
- Send a webhook action: POST, PUT, PATCH or GET, JSON or form body, custom headers, trigger data and custom fields with tokens, timestamped HMAC-SHA256 signature, blocked private addresses.
- Recurring schedule trigger: every hour, day, week or month at a chosen time, with automatic recovery of missed runs.
- Wait steps: delay the next actions by an amount of time or until a date, with durable storage and an hourly safety sweep.
- Tokens for posts, users, comments, the site, custom fields and dates.
- WooCommerce, Contact Form 7, WPForms and Elementor integrations that switch on when their plugin is active.
- Six starter templates, one-click duplicate, and import / export as JSON.
- Step-by-step execution logs with run counts per workflow, a retention period and a clear logs button.
- Optional background execution, protection against workflows that trigger themselves, and safe role actions that never grant site-management roles.
- Privacy tools: suggested policy text, personal data export and erasure.
- Extension API for add-ons: integration, trigger, condition and action registries with documented hooks.








