Filter Since 7.0.0 uncanny-automator

automator_builtin_pro_integrations

Filter the list of built-in Pro integrations. Pro and Pro add-ons hook into this filter to register integration codes that are always available when Automator Pro is active (WEBHOOKS, URL, IFTTT, ZAPIER, etc.). Core intentionally defaults to an empty array so it stays ignorant of Pro integration codes. Filters the list of built-in Pro integrations when Automator Pro is active.

add_filter( 'automator_builtin_pro_integrations', $callback, 10, 1 );

Description

Filters the array of built-in Pro integrations. Pro and add-ons register integration codes here, available when Automator Pro is active. Core defaults to an empty array, remaining unaware of Pro integrations. Developers can add custom integration codes to this filter.


Usage

add_filter( 'automator_builtin_pro_integrations', 'your_function_name', 10, 1 );

Parameters

$builtin_pro (array)
Starts empty u2014 Pro populates it.

Return Value

The filtered value.


Examples

/**
 * Registers additional Pro integrations to be recognized by the core plugin.
 *
 * This function adds integration codes for Pro-specific features, such as advanced
 * webhook configurations or premium third-party service integrations, ensuring they
 * are available in the core plugin's context.
 *
 * @param array $builtin_pro An array of existing Pro integration codes.
 * @return array An updated array containing both existing and newly added Pro integration codes.
 */
add_filter( 'automator_builtin_pro_integrations', function( $builtin_pro ) {
	// Add new Pro integration codes.
	// In a real scenario, these would represent unique identifiers for Pro features
	// like 'advanced_webhooks', 'zapier_premium', 'make_premium', etc.
	$pro_integrations_to_add = array(
		'advanced_webhooks',
		'zapier_premium',
		'make_premium',
		'google_sheets_pro',
	);

	// Merge the new codes with the existing ones, ensuring no duplicates.
	$builtin_pro = array_unique( array_merge( $builtin_pro, $pro_integrations_to_add ) );

	return $builtin_pro;
}, 10, 1 );

Placement

This code should be placed in the functions.php file of your active theme, a custom plugin, or using a code snippets plugin.


Source Code

src/api/services/trigger/services/class-trigger-registry-service.php:126

private function get_installed_integration_ids() {
		// Use Automator's active integrations list.
		// This is populated during WordPress init and contains all available integrations.
		if ( ! class_exists( 'Uncanny_AutomatorSet_Up_Automator' ) ||
			! isset( Uncanny_AutomatorSet_Up_Automator::$active_integrations_code ) ||
			! is_array( Uncanny_AutomatorSet_Up_Automator::$active_integrations_code ) ) {
			return array();
		}

		$active_codes = Uncanny_AutomatorSet_Up_Automator::$active_integrations_code;

		// Allow Pro (or any add-on) to append built-in integration codes that
		// don't require external plugins. Core no longer ships a default list —
		// Pro owns its own codes and registers them via the filter.
		if ( defined( 'AUTOMATOR_PRO_FILE' ) ) {
			/**
			 * Filter the list of built-in Pro integrations.
			 *
			 * Pro and Pro add-ons hook into this filter to register integration
			 * codes that are always available when Automator Pro is active
			 * (WEBHOOKS, URL, IFTTT, ZAPIER, etc.). Core intentionally defaults
			 * to an empty array so it stays ignorant of Pro integration codes.
			 *
			 * @since 7.0.0
			 *
			 * @param array $builtin_pro Starts empty — Pro populates it.
			 */
			$builtin_pro = apply_filters( 'automator_builtin_pro_integrations', array() );

			foreach ( $builtin_pro as $code ) {
				if ( ! in_array( $code, $active_codes, true ) ) {
					$active_codes[] = $code;
				}
			}
		}

		return $active_codes;
	}

Internal Usage

Found in uncanny-automator-pro/src/boot.php:83:

add_filter( 'automator_builtin_pro_integrations', array( $this, 'register_builtin_pro_integrations' ) );
Scroll to Top