{"id":359326,"date":"2026-09-03T14:41:18","date_gmt":"2026-09-03T14:41:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/alignpress\/"},"modified":"2026-09-12T18:24:05","modified_gmt":"2026-09-12T18:24:05","slug":"routinekit","status":"publish","type":"plugin","link":"https:\/\/bre.wordpress.org\/plugins\/routinekit\/","author":20989997,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"RoutineKit \u2014 Repeatable WordPress Workflow Checklists","header_author":"Zeeshan Rasool","header_description":"RoutineKit lets you build reusable, step-by-step site configuration checklists and run them across client sites \u2014 saving hours of repetitive WordPress setup work.","assets_banners_color":"808088","last_updated":"2026-09-12 18:24:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/routinekit.dev\/","header_author_uri":"https:\/\/profiles.wordpress.org\/codeleftover\/","rating":0,"author_block_rating":0,"active_installs":100,"downloads":645,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"codeleftover","date":"2026-09-03 14:41:10","revision":3679913},"1.0.1":{"tag":"1.0.1","author":"codeleftover","date":"2026-09-04 19:01:26","revision":3681709},"1.0.2":{"tag":"1.0.2","author":"codeleftover","date":"2026-09-08 16:53:04","revision":3687055},"1.0.3":{"tag":"1.0.3","author":"codeleftover","date":"2026-09-10 09:04:42","revision":3689598},"1.0.4":{"tag":"1.0.4","author":"codeleftover","date":"2026-09-12 18:24:05","revision":3693002}},"upgrade_notice":{"1.0.4":"<p>Fixes a workflow that had been run but never pushed being impossible to delete. Workflows assigned to this site from the cloud can no longer be deleted here \u2014 archive them instead. The list now opens on Active, and pushed and received workflows are told apart at a glance.<\/p>","1.0.3":"<p>Choose where the launcher lives \u2014 floating pill, admin bar, or hidden. A workflow now freezes once you push it, so peers always hold the checklist you kept; revise by duplicating. Also closes a hole where a captured step could be added to a frozen workflow. Recommended for anyone using RoutineKit Cloud.<\/p>","1.0.2":"<p>Security release. Passwords, API keys, tokens and salts are now redacted before Auto-Capture stores them, and values captured by earlier versions are overwritten automatically on upgrade. Recommended for all users.<\/p>","1.0.1":"<p>Adds Paste a Checklist \u2014 turn any pasted list into a workflow. Also fixes workflow completion: all-optional workflows no longer finish early, and duplicate completion emails are no longer sent.<\/p>","1.0.0":"<p>Initial release \u2014 no upgrade needed.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3680033,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3680033,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3680033,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3680033,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3680033,"resolution":"1","location":"assets","locale":"","width":900,"height":551},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3680033,"resolution":"2","location":"assets","locale":"","width":900,"height":573},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3680033,"resolution":"3","location":"assets","locale":"","width":900,"height":551}},"screenshots":{"1":"Workflow Manager \u2014 list of all workflows with status and last-run date","2":"Import built-in Templates \u2014 Choose a template from the library","3":"Guided Runner \u2014 floating sidebar walking through each step"}},"plugin_section":[],"plugin_tags":[5590,13042,3017,174442,8197],"plugin_category":[],"plugin_contributors":[224048],"plugin_business_model":[],"class_list":["post-359326","plugin","type-plugin","status-publish","hentry","plugin_tags-agency","plugin_tags-checklist","plugin_tags-configuration","plugin_tags-site-management","plugin_tags-workflow","plugin_contributors-codeleftover","plugin_committers-codeleftover"],"banners":{"banner":"https:\/\/ps.w.org\/routinekit\/assets\/banner-772x250.png?rev=3680033","banner_2x":"https:\/\/ps.w.org\/routinekit\/assets\/banner-1544x500.png?rev=3680033","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/routinekit\/assets\/icon-128x128.png?rev=3680033","icon_2x":"https:\/\/ps.w.org\/routinekit\/assets\/icon-256x256.png?rev=3680033","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/routinekit\/assets\/screenshot-1.png?rev=3680033","caption":"Workflow Manager \u2014 list of all workflows with status and last-run date"},{"src":"https:\/\/ps.w.org\/routinekit\/assets\/screenshot-2.png?rev=3680033","caption":"Import built-in Templates \u2014 Choose a template from the library"},{"src":"https:\/\/ps.w.org\/routinekit\/assets\/screenshot-3.png?rev=3680033","caption":"Guided Runner \u2014 floating sidebar walking through each step"}],"raw_content":"<!--section=description-->\n<p><strong>RoutineKit<\/strong> solves the agency problem of replicating the same WordPress configuration changes across dozens or hundreds of client sites.<\/p>\n\n<p>Build reusable, step-by-step configuration checklists inside one site, then run them anywhere. Each step includes instructions, a direct deep-link to the exact settings page, and optional evidence capture \u2014 so your team always knows what was done, when, and by whom.<\/p>\n\n<p>Learn more at <a href=\"https:\/\/routinekit.dev\/\">routinekit.dev<\/a>.<\/p>\n\n<h4>Core Features (Free)<\/h4>\n\n<p>Everything below works with no payment required. Most features work on a single site with no account at all; items marked * require a free RoutineKit account.<\/p>\n\n<ul>\n<li><strong>Workflow Builder<\/strong> \u2014 create reusable configuration checklists with step-by-step instructions<\/li>\n<li><strong>Guided Runner<\/strong> \u2014 a floating sidebar that walks your team through each step and links directly to the right settings page. Put it in the admin bar, or hide it, if you would rather it stayed out of the way<\/li>\n<li><strong>Auto-Capture<\/strong> \u2014 RoutineKit watches wp_options changes as you configure a site and offers to turn them into workflow steps automatically, with the exact values recorded for later<\/li>\n<li><strong>Evidence Capture<\/strong> \u2014 attach screenshots or PDFs to a step as proof of what was done<\/li>\n<li><strong>Step Notes<\/strong> \u2014 add private notes to any step while running a workflow<\/li>\n<li><strong>Audit Trail<\/strong> \u2014 a timestamped log of who completed what and when, with before\/after option snapshots<\/li>\n<li><strong>Run History<\/strong> \u2014 review past executions per workflow<\/li>\n<li><strong>25+ Deep-Links<\/strong> \u2014 pre-built links to the most common WordPress, WooCommerce, Yoast SEO, Wordfence, and UpdraftPlus settings pages<\/li>\n<li><strong>5 Starter Templates<\/strong> \u2014 New Site Setup, Security Hardening, WooCommerce Launch, SEO Setup, Site Migration<\/li>\n<li><strong>JSON Export\/Import<\/strong> \u2014 share workflows between sites via JSON file<\/li>\n<li><strong>Paste a Checklist<\/strong> \u2014 paste any list from Notion, Google Docs, or plain notes and it becomes a workflow instantly<\/li>\n<li><strong>Unlimited workflows<\/strong> \u2014 no cap on the number of workflows per site<\/li>\n<li><strong>Up to 3 connected sites<\/strong> \u2014 connect up to 3 sites to your free RoutineKit account *<\/li>\n<li><strong>RoutineKit Cloud dashboard<\/strong> \u2014 manage connected sites from one place *<\/li>\n<li><strong>Fleet push &amp; assignment<\/strong> \u2014 push a workflow to connected sites and assign it to a site group * (up to 3 sites on free)<\/li>\n<\/ul>\n\n<h4>Pro Features (Agency \/ Agency Pro)<\/h4>\n\n<p>Pro is about scale. The features above keep working exactly as they do on the free plan; Pro raises the limits and adds the fleet-management layer on top.<\/p>\n\n<ul>\n<li><strong>Up to 50 sites (Agency) or unlimited sites (Agency Pro)<\/strong> \u2014 connect your full client roster, not just 3<\/li>\n<li><strong>Multiple site groups<\/strong> \u2014 organise sites into as many groups as you need, then push to a whole group at once<\/li>\n<li><strong>Cloud workflow template library<\/strong> \u2014 access and publish to a shared library of workflows from your dashboard<\/li>\n<li><strong>Import from URL<\/strong> \u2014 import any workflow directly from a URL without downloading a JSON file first<\/li>\n<li><strong>Team members<\/strong> \u2014 invite colleagues to your RoutineKit account so they can manage and run workflows across sites<\/li>\n<li><strong>Note sharing<\/strong> \u2014 include step notes in a push so receiving sites see them alongside the workflow<\/li>\n<li><strong>Progress sync<\/strong> \u2014 see run completions from every connected site in your central dashboard<\/li>\n<li><strong>Priority support<\/strong> \u2014 dedicated email support (Agency Pro only)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>RoutineKit communicates with an external service <strong>only when you explicitly connect to RoutineKit Cloud<\/strong>. No data is sent to any external server without an active connection.<\/p>\n\n<h4>RoutineKit Cloud<\/h4>\n\n<p>When you enter a license key and connect to RoutineKit Cloud, this plugin sends data to and receives data from <code>https:\/\/app.routinekit.dev<\/code>.<\/p>\n\n<p><strong>Data sent:<\/strong>\n* Your site URL, site name, and WordPress version (on connect and heartbeat)\n* RoutineKit plugin version (on heartbeat)\n* Workflow structure (title, steps) when you push a workflow to a site group\n* Execution completion status when a runner finishes a SaaS-assigned workflow<\/p>\n\n<p><strong>Data received:<\/strong>\n* Workflow assignments pushed from your central dashboard\n* Template library available for your plan\n* License plan status<\/p>\n\n<p><strong>When this happens:<\/strong> Only after you explicitly enter an API key in RoutineKit &gt; Settings &gt; Cloud Connection. The connection can be removed at any time from the same screen, after which no further data is sent.<\/p>\n\n<p>This service is operated by the plugin author. It is optional \u2014 the plugin is fully functional without it.<\/p>\n\n<ul>\n<li>Service endpoint: https:\/\/app.routinekit.dev<\/li>\n<li>Privacy policy: https:\/\/routinekit.dev\/privacy<\/li>\n<li>Terms of service: https:\/\/routinekit.dev\/terms<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>RoutineKit captures wp_options changes made during your admin sessions to help you build workflow steps (Auto-Capture feature). This data is stored locally in your own database and is never sent externally on the free plan.<\/p>\n\n<p>The Auto-Capture buffer stores: the option name, old value, new value, the URL of the admin page where the change occurred, and the WordPress user ID of the person who made the change. This data is retained for a configurable period (default: 30 days, adjustable in Settings) and deleted automatically. It is fully removed when the plugin is uninstalled.<\/p>\n\n<p>Execution audit trails store: which user ran a workflow, which steps were completed or skipped, timestamps, and any notes or evidence files uploaded. This data is stored locally in your database.<\/p>\n\n<p>If you connect to RoutineKit Cloud (Pro), please review the RoutineKit Cloud privacy policy at https:\/\/routinekit.dev\/privacy.<\/p>\n\n<h3>Third-Party Libraries<\/h3>\n\n<p>This plugin includes the following third-party library:<\/p>\n\n<ul>\n<li><strong>html2canvas<\/strong> (v1.4.1, MIT License) \u2014 https:\/\/html2canvas.hertzen.com\nUsed to capture screenshots of the admin screen for step evidence. Bundled in <code>assets\/js\/html2canvas.min.js<\/code> (vanilla capture watcher) and in the webpack chunk <code>assets\/js\/548.js<\/code> (React runner notes).<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>routinekit<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin from the Plugins screen in WordPress<\/li>\n<li>Go to <strong>RoutineKit &gt; Workflows<\/strong> to create your first workflow<\/li>\n<li>Use the <strong>Run<\/strong> button to open the guided Runner sidebar<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20routinekit%20replace%20mainwp%20or%20managewp%3F\"><h3>Does RoutineKit replace MainWP or ManageWP?<\/h3><\/dt>\n<dd><p>No. RoutineKit is complementary to multi-site management tools. It focuses on <em>what<\/em> needs to be configured on each site and provides a guided runner to do it, rather than managing plugin updates or security scans.<\/p><\/dd>\n<dt id=\"can%20i%20share%20workflows%20between%20sites%3F\"><h3>Can I share workflows between sites?<\/h3><\/dt>\n<dd><p>Yes \u2014 use the JSON Export button on any workflow, then import the JSON file on another site. Users with a connected RoutineKit account can also import directly from a URL. Pro users can additionally manage and assign workflows across all sites from the central dashboard.<\/p><\/dd>\n<dt id=\"how%20does%20auto-capture%20work%3F\"><h3>How does Auto-Capture work?<\/h3><\/dt>\n<dd><p>When you navigate to a WordPress settings page and save changes, RoutineKit detects which wp_options values changed and shows a notification offering to add them as a workflow step. The step includes a snapshot of the exact settings you changed.<\/p><\/dd>\n<dt id=\"is%20my%20data%20sent%20anywhere%3F\"><h3>Is my data sent anywhere?<\/h3><\/dt>\n<dd><p>On the free plan, all data stays on your own site. Pro users optionally connect to the RoutineKit Cloud dashboard for cross-site management \u2014 connection requires an explicit API key entry and can be revoked at any time.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Deactivating preserves all your workflows and data.<\/p>\n\n<p>Deleting the plugin also preserves your data by default, so you can reinstall without losing anything. If you want a clean removal, enable <strong>Settings &gt; Danger Zone &gt; Delete All Data on Uninstall<\/strong> before deleting \u2014 RoutineKit will then drop its tables and options when the plugin is deleted.<\/p><\/dd>\n<dt id=\"can%20multiple%20team%20members%20run%20the%20same%20workflow%3F\"><h3>Can multiple team members run the same workflow?<\/h3><\/dt>\n<dd><p>Yes \u2014 each run is tracked separately as an execution with its own audit trail. Multiple people can run the same workflow on different sites simultaneously.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>New: a short guide below the workflow table covering the two ways to use Start Workflow \u2014 working through a checklist, and building one as you go by adding steps from the runner while you make the changes.<\/li>\n<li>Improved: deleting a workflow now says whether it worked, and when it is refused it gives the reason rather than failing quietly.<\/li>\n<li>Improved: the workflow list opens on Active, so the workflows you are likely to run are in front of you. It falls back to All when nothing is active.<\/li>\n<li>Improved: workflows now carry a Pushed or Received badge with its own icon, replacing the single Cloud tag, so it is clear at a glance which ones you published and which arrived from another site. Both explain themselves on hover.<\/li>\n<li>Changed: a workflow assigned to this site from the cloud can no longer be deleted here. Withdrawing an assignment is the sending site's to do, and a deleted copy only returned on the next check. Archive it to take it out of the way.<\/li>\n<li>Fixed: a workflow that had been run but never pushed could not be deleted. Your own workflows are now held back only once pushed, and the reason is given on hover.<\/li>\n<li>Fixed: stopping a run left the workflow list showing it as still running until the page was reloaded.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>New: choose where the launcher lives \u2014 a floating pill, an item in the admin bar, or hidden altogether. The admin bar option keeps RoutineKit to hand without anything sitting over the page.<\/li>\n<li>New: assigning a group asks whether to tag it only or to push straight away, so you can line up several groups before distributing.<\/li>\n<li>Improved: workflow table actions are now in a single \u00b7\u00b7\u00b7 menu on each row, replacing the inline text links under the title.<\/li>\n<li>Improved: choosing to push a workflow to a group now says up front that doing so freezes its steps, rather than leaving it to the confirmation screen.<\/li>\n<li>Changed: a workflow freezes once you push it, so the checklist your peers hold always matches the one you kept. To revise it, use Duplicate to edit \u2014 the copy is a separate workflow you can edit and push on its own terms.<\/li>\n<li>Changed: toast notifications are off by default on new installs. Existing sites keep whatever they had set.<\/li>\n<li>Fixed: a captured step could be filed against a workflow already pushed to the cloud, adding steps to a checklist that was supposed to be frozen. The workflow picker no longer offers those workflows, and the server refuses them.<\/li>\n<li>Fixed: steps could not be added, edited, reordered or deleted on a pushed workflow even where the screen offered it \u2014 the change was rejected on save. Screens no longer offer an edit that would be refused.<\/li>\n<li>Fixed: pushing an edited workflow overwrote the copy held by sites that already had it, changing what they saw after the fact. Each set of steps is now kept as its own version, and a site only re-imports when a genuinely newer one arrives.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Improved: captures now record which settings screen they came from.<\/li>\n<li>Security: sensitive option values \u2014 passwords, API keys, tokens and salts \u2014 are now redacted before they reach the Auto-Capture buffer. Values captured by earlier versions are overwritten automatically on upgrade.<\/li>\n<li>Fixed: background processes no longer trigger Auto-Capture. Cron jobs, WP-CLI commands, AJAX requests and page-builder saves are excluded, so captures reflect real settings changes only.<\/li>\n<li>Fixed: a settings save could write the same capture more than once.<\/li>\n<li>Security: removed an unused diagnostic that kept recent REST request and response data in a browser variable on admin screens.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>New: Paste a Checklist \u2014 paste a list from a Google Doc, Notion page or plain notes and it becomes a workflow. The first line is the title, every line after it becomes a step; bullets, numbering and [ ] checkboxes are stripped automatically. Available from Import Workflow, from the empty state, and once on first run.<\/li>\n<li>Changed: plan buttons on the Upgrade screen now open the pricing page at routinekit.dev while self-serve signup is being finished<\/li>\n<li>Fixed: a workflow whose steps are all optional no longer marks itself complete as soon as the first step is done<\/li>\n<li>Fixed: completing optional steps after the last required one no longer resends the completion email or re-pushes the run to RoutineKit Cloud<\/li>\n<li>Fixed: dismissing the \"run is paused\" notice in the Runner now sticks instead of reappearing on the next admin page<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Workflow Builder with step editor and deep-link selector<\/li>\n<li>Guided Runner floating sidebar<\/li>\n<li>Auto-Capture engine for wp_options changes<\/li>\n<li>5 starter workflow templates<\/li>\n<li>JSON export and import (file and URL)<\/li>\n<li>Import from URL (requires connected RoutineKit account)<\/li>\n<li>Auto-Capture retention configurable by all users (default: 30 days)<\/li>\n<li>Pro: SaaS dashboard for cross-site fleet management and assignment push<\/li>\n<li>Pro: note sharing across sites<\/li>\n<li>Pro: evidence upload per step<\/li>\n<li>Pro: full audit trail with user attribution and option snapshots<\/li>\n<\/ul>","raw_excerpt":"Reusable site configuration checklists for WordPress agencies \u2014 stop re-doing the same setup tasks on every client site.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/359326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=359326"}],"author":[{"embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codeleftover"}],"wp:attachment":[{"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=359326"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=359326"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=359326"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=359326"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=359326"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bre.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=359326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}