Filter
uncanny-automator
automator_jet_crm_validate_common_triggers_tokens_save
Filters JetEngine CRM common trigger tokens before saving to modify the list of available options.
add_filter( 'automator_jet_crm_validate_common_triggers_tokens_save', $callback, 10, 1 );
Description
Filters the list of common JetEngine CRM trigger codes to validate before saving token data. Developers can add or remove trigger codes from this array to customize which CRM triggers are recognized for token saving. This hook is called during the saving of token data for JetEngine CRM triggers.
Usage
add_filter( 'automator_jet_crm_validate_common_triggers_tokens_save', 'your_function_name', 10, 1 );
Parameters
-
$args(mixed) - This parameter contains an array of specific Jet CRM trigger codes that require validation before saving token data.
Return Value
The filtered value.
Examples
add_filter(
'automator_jet_crm_validate_common_triggers_tokens_save',
'my_custom_jet_crm_trigger_validations',
10,
2
);
/**
* Adds a custom trigger code to the validation list for JetEngine CRM triggers.
*
* This function extends the default list of trigger codes that Automator expects
* to validate when saving token data for JetEngine CRM.
*
* @param array $trigger_meta_validations The current array of trigger codes to validate.
* @param array $args The arguments passed to the save_token_data function.
* @return array The modified array of trigger codes to validate.
*/
function my_custom_jet_crm_trigger_validations( $trigger_meta_validations, $args ) {
// Add a hypothetical new trigger code to the validation list.
// For example, if there was a new trigger for 'JETCRM_LEAD_CREATED'.
$new_trigger_code = 'JETCRM_LEAD_CREATED';
// Check if the new trigger code is not already in the list before adding.
if ( ! in_array( $new_trigger_code, $trigger_meta_validations ) ) {
$trigger_meta_validations[] = $new_trigger_code;
}
// You could also conditionally remove triggers if needed, for example:
// if ( ( $key = array_search( 'JETCRM_COMPANY_CREATED', $trigger_meta_validations ) ) !== false ) {
// unset( $trigger_meta_validations[ $key ] );
// }
return $trigger_meta_validations;
}
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/integrations/jet-crm/tokens/jetcrm-tokens.php:46
public function save_token_data( $args, $trigger ) {
if ( ! isset( $args['trigger_args'] ) || ! isset( $args['entry_args']['code'] ) ) {
return;
}
$trigger_meta_validations = apply_filters(
'automator_jet_crm_validate_common_triggers_tokens_save',
array( 'JETCRM_CONTACT_CREATED', 'JETCRM_CONTACT_STATUS_UPDATED', 'JETCRM_COMPANY_CREATED' ),
$args
);
if ( in_array( $args['entry_args']['code'], $trigger_meta_validations ) ) {
$object_id = array_shift( $args['trigger_args'] );
$trigger_log_entry = $args['trigger_entry'];
if ( ! empty( $object_id ) ) {
Automator()->db->token->save( 'object_id', $object_id, $trigger_log_entry );
}
}
}