{"id":114141261,"date":"2026-01-22T03:07:20","date_gmt":"2026-01-22T08:07:20","guid":{"rendered":"https:\/\/thrivethemes.com\/?post_type=ht_kb&#038;p=114141261"},"modified":"2026-01-22T03:07:34","modified_gmt":"2026-01-22T08:07:34","slug":"thrive-automator-developer-guide-legacy","status":"publish","type":"ht_kb","link":"https:\/\/thrivethemes.com\/docs\/thrive-automator-developer-guide-legacy\/","title":{"rendered":"Thrive Automator Developer Guide (Legacy)"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Thrive Automator is being retired.<\/strong><br>As we continue to grow and expand our product suite at Thrive Themes, we\u2019ve made the strategic decision to retire Thrive Automator.<\/p>\n\n\n\n<p>We officially recommend transitioning to our sister brand, <strong><a href=\"https:\/\/wordpress.org\/plugins\/uncanny-automator\/\">Uncanny Automator<\/a><\/strong>, for all your automation needs. It offers over 195+ integrations, 1000+ triggers and actions, and a more robust developer API.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/developer.automatorplugin.com\/\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">Uncanny Automator Developer Documentation<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/thrivethemes.com\/uncanny-automator\" target=\"_blank\" rel=\"noopener\" title=\"\">Learn more about the transition<\/a><\/strong><\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<p>This guide provides technical documentation for developers who wish to extend Thrive Automator&#8217;s capabilities by creating custom triggers, actions, and data objects.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Getting Started<\/h2>\n\n\n\n<p>To begin extending Thrive Automator, you can use the integration examples available on GitHub.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download the sample plugin from <a href=\"https:\/\/github.com\/ThriveThemes\/thrive-automator-docs\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">here<\/a>.<\/li>\n\n\n\n<li>Install it as a regular WordPress plugin.<\/li>\n\n\n\n<li>System Requirements: PHP 7.0+ and the latest version of Thrive Automator.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1. Apps<\/h2>\n\n\n\n<p><strong>Apps<\/strong> represent the applications or categories to which triggers and actions belong. They are primarily used for grouping items in the UI.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creating an App<\/h3>\n\n\n\n<p>To create an app, you must extend the <code>ThriveAutomatorItemsApp<\/code> class and implement the following methods:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>get_id()<\/code>: Unique identifier (prefix recommended).<\/li>\n\n\n\n<li><code>get_name()<\/code>: Display name of the app.<\/li>\n\n\n\n<li><code>get_logo()<\/code>: URL to the app&#8217;s logo.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2. Triggers<\/h2>\n\n\n\n<p>Triggers are the starting points of an automation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Start Triggers<\/h3>\n\n\n\n<p>To create a trigger, extend <code>ThriveAutomatorItemsTrigger<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>get_id()<\/code>: Unique identifier.<\/li>\n\n\n\n<li><code>get_wp_hook()<\/code>: The WordPress hook that fires the trigger.<\/li>\n\n\n\n<li><code>get_provided_data_objects()<\/code>: Array of Data Object IDs this trigger provides to subsequent actions.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Trigger Fields<\/h3>\n\n\n\n<p>Fields used to configure the trigger in the admin UI. Extend <code>ThriveAutomatorItemsTrigger_Field<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>get_type()<\/code>: Input type (Text, Select, Checkbox, etc.).<\/li>\n\n\n\n<li><code>get_placeholder()<\/code>: UI placeholder text.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Actions<\/h2>\n\n\n\n<p>Actions are the tasks performed after a trigger fires.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creating an Action<\/h3>\n\n\n\n<p>Extend <code>ThriveAutomatorItemsAction<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>get_id()<\/code>: Unique identifier.<\/li>\n\n\n\n<li><code>get_name()<\/code>: Action name.<\/li>\n\n\n\n<li><code>get_required_data_objects()<\/code>: Data required for this action to function (must match trigger output).<\/li>\n\n\n\n<li><code>do_action()<\/code>: The actual logic executed when the automation runs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Action Fields<\/h3>\n\n\n\n<p>Configuration fields for actions. Extend <code>ThriveAutomatorItemsAction_Field<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Data Objects &amp; Fields<\/h2>\n\n\n\n<p>Data Objects encapsulate the data passed between triggers and actions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Data Objects<\/h3>\n\n\n\n<p>Extend <code>ThriveAutomatorItemsData_Object<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>get_fields()<\/code>: Array of <code>Data_Field<\/code> IDs associated with this object.<\/li>\n\n\n\n<li><code>create_object($param)<\/code>: Logic to populate the object from raw trigger data.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Data Fields<\/h3>\n\n\n\n<p>The individual data points (e.g., User Email, Post Title). Extend <code>ThriveAutomatorItemsData_Field<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Filters<\/h2>\n\n\n\n<p>Filters allow users to restrict automations based on specific conditions.<br>Extend <code>ThriveAutomatorItemsFilter<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>get_operators()<\/code>: Comparison operators (Equal to, Contains, etc.).<\/li>\n\n\n\n<li><code>filter($actual_value, $desired_value, $operator)<\/code>: The logic that returns true\/false.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Real-World Example: Third-Party Autoresponder<\/h2>\n\n\n\n<p>You can integrate any third-party service (like CleverReach) by creating a custom App and Action.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Implementation Steps:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Register the App<\/strong>: Create a &#8220;CleverReach&#8221; App.<\/li>\n\n\n\n<li><strong>Define Data Fields<\/strong>: Add fields for API Key and List ID.<\/li>\n\n\n\n<li><strong>Create the Action<\/strong>: Implement <code>do_action()<\/code> to send data via the service&#8217;s API.<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>View the complete source code for this example on GitHub: <a href=\"https:\/\/github.com\/ThriveThemes\/3rd-party-autoresponder\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">3rd-party-autoresponder example<\/a>.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Technical Reference: Data Mapping<\/h2>\n\n\n\n<p>Each trigger captures specific data types. Ensure your actions &#8220;require&#8221; the same Data Object IDs.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Trigger Category<\/th><th>Data Captured<\/th><th>Parameters<\/th><\/tr><\/thead><tbody><tr><td><strong>WordPress<\/strong><\/td><td>User Data<\/td><td>ID, Email, Role, Username<\/td><\/tr><tr><td><strong>Thrive Architect<\/strong><\/td><td>Form Data<\/td><td>Field values, Page URL<\/td><\/tr><tr><td><strong>Thrive Apprentice<\/strong><\/td><td>Lesson\/Course Data<\/td><td>User ID, Course ID, Progress<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Related Resources<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/ThriveThemes\/thrive-automator-docs\/wiki\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">GitHub Wiki (Detailed API)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/thrivethemes.com\/docs-categories\/thrive-automator\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Thrive Automator Help Collection<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This guide provides technical documentation for developers who wish to extend Thrive Automator&#8217;s capabilities by creating custom triggers, actions, and data objects. Getting Started To begin extending Thrive Automator, you can use the integration examples available on GitHub. 1. Apps Apps represent the applications or categories to which triggers and actions belong. They are primarily [&hellip;]<\/p>\n","protected":false},"author":242721,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"ht-kb-category":[34151],"ht-kb-tag":[34307],"class_list":["post-114141261","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-developer-documentation","ht_kb_tag-legacy","post-wrapper","thrv_wrapper"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/ht-kb\/114141261","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/users\/242721"}],"replies":[{"embeddable":true,"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/comments?post=114141261"}],"version-history":[{"count":0,"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/ht-kb\/114141261\/revisions"}],"wp:attachment":[{"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/media?parent=114141261"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/ht-kb-category?post=114141261"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/thrivethemes.com\/wp-json\/wp\/v2\/ht-kb-tag?post=114141261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}