Thrive Automator is being retired.
As we continue to grow and expand our product suite at Thrive Themes, we’ve made the strategic decision to retire Thrive Automator.We officially recommend transitioning to our sister brand, Uncanny Automator, for all your automation needs. It offers over 195+ integrations, 1000+ triggers and actions, and a more robust developer API.
This guide provides technical documentation for developers who wish to extend Thrive Automator’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.
- Download the sample plugin from here.
- Install it as a regular WordPress plugin.
- System Requirements: PHP 7.0+ and the latest version of Thrive Automator.
1. Apps
Apps represent the applications or categories to which triggers and actions belong. They are primarily used for grouping items in the UI.
Creating an App
To create an app, you must extend the ThriveAutomatorItemsApp class and implement the following methods:
get_id(): Unique identifier (prefix recommended).get_name(): Display name of the app.get_logo(): URL to the app’s logo.
2. Triggers
Triggers are the starting points of an automation.
Start Triggers
To create a trigger, extend ThriveAutomatorItemsTrigger:
get_id(): Unique identifier.get_wp_hook(): The WordPress hook that fires the trigger.get_provided_data_objects(): Array of Data Object IDs this trigger provides to subsequent actions.
Trigger Fields
Fields used to configure the trigger in the admin UI. Extend ThriveAutomatorItemsTrigger_Field:
get_type(): Input type (Text, Select, Checkbox, etc.).get_placeholder(): UI placeholder text.
3. Actions
Actions are the tasks performed after a trigger fires.
Creating an Action
Extend ThriveAutomatorItemsAction:
get_id(): Unique identifier.get_name(): Action name.get_required_data_objects(): Data required for this action to function (must match trigger output).do_action(): The actual logic executed when the automation runs.
Action Fields
Configuration fields for actions. Extend ThriveAutomatorItemsAction_Field.
4. Data Objects & Fields
Data Objects encapsulate the data passed between triggers and actions.
Data Objects
Extend ThriveAutomatorItemsData_Object:
get_fields(): Array ofData_FieldIDs associated with this object.create_object($param): Logic to populate the object from raw trigger data.
Data Fields
The individual data points (e.g., User Email, Post Title). Extend ThriveAutomatorItemsData_Field.
5. Filters
Filters allow users to restrict automations based on specific conditions.
Extend ThriveAutomatorItemsFilter:
get_operators(): Comparison operators (Equal to, Contains, etc.).filter($actual_value, $desired_value, $operator): The logic that returns true/false.
6. Real-World Example: Third-Party Autoresponder
You can integrate any third-party service (like CleverReach) by creating a custom App and Action.
Implementation Steps:
- Register the App: Create a “CleverReach” App.
- Define Data Fields: Add fields for API Key and List ID.
- Create the Action: Implement
do_action()to send data via the service’s API.
View the complete source code for this example on GitHub: 3rd-party-autoresponder example.
Technical Reference: Data Mapping
Each trigger captures specific data types. Ensure your actions “require” the same Data Object IDs.
| Trigger Category | Data Captured | Parameters |
|---|---|---|
| WordPress | User Data | ID, Email, Role, Username |
| Thrive Architect | Form Data | Field values, Page URL |
| Thrive Apprentice | Lesson/Course Data | User ID, Course ID, Progress |