Hooks Filters And Extension Points

The source scan found 117 Awedesk-specific hook/filter names. Payloads are source-inferred, so inspect the listed source before using a hook for money-moving, privacy, or destructive automation.

GroupHook/filterTypePurposeEmittersBundled listeners
Generalalmighty_support_tbdfilterAwedesk extension point discovered in source.classes/api/rest/v1/pro_edd.php:144-
Generalalsp_absolute_textdomain_pathfilterAwedesk extension point discovered in source.classes/compatibility/multilang.php:23-
Frontend/templatesalsp_action_after_exec_templateactionFrontend rendering extension point discovered in source.classes/frontend/assets.php:375<br>classes/utilities/template.php:122-
Frontend/templatesalsp_action_before_exec_templateactionFrontend rendering extension point discovered in source.classes/frontend/assets.php:369<br>classes/utilities/template.php:116-
Emailalsp_action_process_mailqueueactionAwedesk extension point discovered in source.classes/email/email_queue.php:191-
Users/capabilitiesalsp_action_user_role_changeactionAwedesk extension point discovered in source.classes/users/user.php:449-
Generalalsp_agents_query_wherefilterAwedesk extension point discovered in source.classes/models/agents.php:44-
Generalalsp_allowed_htmlfilterFilters optional HTML allowed by Awedesk sanitization.classes/utilities/string.php:58-
Generalalsp_app_responsefilterAwedesk extension point discovered in source.classes/api/rest/v1/pro_app.php:81-
Config/adminalsp_configfilterFilters admin setting field groups.classes/config/config.php:246classes/chatbot/config_chatbot.php:51<br>classes/config/config_advanced.php:45<br>classes/config/config_csat.php:135<br>classes/config/config_email.php:82<br>classes/config/config_license.php:35<br>classes/config/free_config_integrations.php:28<br>classes/config/free_config_notes.php:24<br>classes/config/free_config_signatures.php:35
Config/adminalsp_config_addactionRuns when an Awedesk setting is added.classes/config/config.php:56-
Config/adminalsp_config_delactionRuns when an Awedesk setting is deleted.classes/config/config.php:73-
Config/adminalsp_config_department_fieldsactionAdmin configuration extension point discovered in source.templates/admin/admin_departments.php:95-
Config/adminalsp_config_descriptionfilterFilters setting help text.classes/config/config_panel.php:570classes/chatbot/config_chatbot.php:23<br>classes/config/config.php:186<br>classes/config/config.php:208<br>classes/config/config_advanced.php:24<br>classes/config/config_csat.php:101<br>classes/config/config_email.php:46<br>classes/config/config_license.php:19<br>classes/config/free_config_signatures.php:24
Config/adminalsp_config_menufilterFilters admin setting menu entries.classes/config/config.php:273<br>classes/config/config_panel.php:95classes/chatbot/config_chatbot.php:14<br>classes/config/config_advanced.php:14<br>classes/config/config_csat.php:91<br>classes/config/config_email.php:36<br>classes/config/config_license.php:24<br>classes/config/free_config_integrations.php:15<br>classes/config/free_config_notes.php:14<br>classes/config/free_config_signatures.php:14
Config/adminalsp_config_pagesfilterAdmin configuration extension point discovered in source.classes/config/config.php:325classes/pro/integrations/woocommerce/woo-integrations.php:110
Config/adminalsp_config_setactionRuns when an Awedesk setting is saved.classes/api/rest/v1/admin.php:29<br>classes/config/config.php:39classes/awecloud_client/awecloud_client.php:151<br>classes/config/pages.php:80<br>classes/email-piping/classes/config/config_ep_multi_inbox.php:46<br>classes/pro/integrations/cpt/cpt-integration.php:17<br>classes/pro/integrations/woocommerce/woo-integrations.php:39
Ticket lifecyclealsp_create_new_ticketactionTicket lifecycle, query, or rendering extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:750-
Ticket lifecyclealsp_create_ticket_message_afteractionRuns after a ticket message is persisted.classes/api/rest/v1/ticket_messages.php:122<br>classes/api/rest/v1/tickets.php:184classes/pro/attachments/attachment.php:73
Generalalsp_cron_initactionAwedesk extension point discovered in source.classes/utilities/cron.php:35classes/email-piping/classes/config/config_ep_cron.php:34<br>classes/pro/advanced-email-piping/config/config_department_ep_cron.php:35<br>classes/pro/attachments/config/cron.php:51
Config/adminalsp_cron_interval_configfilterAdmin configuration extension point discovered in source.classes/config/config_advanced.php:50classes/pro/attachments/config/cron.php:36
CSATalsp_csat_response_admin_actionactionCustomer satisfaction extension point discovered in source.classes/api/rest/v1/admin_csat_responses.php:162-
CSATalsp_csat_survey_base_urlfilterCustomer satisfaction extension point discovered in source.classes/models/csat_token.php:160-
CSATalsp_csat_survey_createdactionCustomer satisfaction extension point discovered in source.classes/models/csat_hooks.php:49-
CSATalsp_csat_survey_email_queuedactionCustomer satisfaction extension point discovered in source.classes/email/csat.php:56<br>classes/email/csat.php:63<br>classes/email/csat.php:69<br>classes/email/csat.php:84-
CSATalsp_csat_survey_email_subjectfilterCustomer satisfaction extension point discovered in source.classes/email/csat.php:74-
CSATalsp_csat_survey_email_templatefilterFilters the satisfaction survey email body.classes/email/csat.php:80-
CSATalsp_csat_survey_readyactionRuns when a satisfaction survey is ready to send.classes/models/csat_hooks.php:60classes/email/csat.php:39
CSATalsp_csat_survey_scheduledactionCustomer satisfaction extension point discovered in source.classes/models/csat_hooks.php:56-
CSATalsp_csat_survey_skippedactionCustomer satisfaction extension point discovered in source.classes/models/csat_hooks.php:27<br>classes/models/csat_hooks.php:44-
CSATalsp_csat_survey_submittedactionRuns after a customer submits a satisfaction response.classes/api/rest/v1/csat_survey.php:49-
CSATalsp_csat_survey_template_datafilterCustomer satisfaction extension point discovered in source.classes/frontend/csat_survey.php:70-
CSATalsp_csat_survey_urlfilterCustomer satisfaction extension point discovered in source.classes/models/csat_token.php:140-
Emailalsp_default_email_intensity_selectfilterAwedesk extension point discovered in source.classes/config/config_email.php:121-
Generalalsp_departments_query_wherefilterAwedesk extension point discovered in source.classes/models/departments.php:27-
Email pipingalsp_ep_allowed_email_selectfilterEmail-piping extension point discovered in source.classes/email-piping/classes/config/config_ep_general.php:81-
Email pipingalsp_ep_allowed_users_selectfilterEmail-piping extension point discovered in source.classes/email-piping/classes/config/config_ep_general.php:80-
Email pipingalsp_ep_connection_selectfilterEmail-piping extension point discovered in source.classes/email-piping/classes/config/config_ep_general.php:78<br>classes/pro/advanced-email-piping/config/config_department_ep.php:41-
Email pipingalsp_ep_email_is_validfilterFilters whether an imported email should be accepted.classes/email-piping/classes/importer/ep_email.php:411-
Email pipingalsp_ep_gmail_importer_attachmentsfilterEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_gmail_importer.php:203classes/pro/advanced-email-piping/advanced-email-piping.php:17
Email pipingalsp_ep_imap_importer_attachmentsfilterEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_imap_importer.php:161classes/pro/advanced-email-piping/advanced-email-piping.php:18
Email pipingalsp_ep_microsoft_exchange_importer_attachmentsfilterEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_me_importer.php:116classes/pro/advanced-email-piping/advanced-email-piping.php:19
Email pipingalsp_ep_piping_connectionsfilterEmail-piping extension point discovered in source.classes/email-piping/email-piping.php:107-
Email pipingalsp_ep_reject_new_emailsactionEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:399-
Email pipingalsp_ep_reject_reply_emailsactionEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:393-
Email pipingalsp_ep_reject_user_pipeactionEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:407-
Email pipingalsp_ep_spam_blockedactionEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:439-
Email pipingalsp_ep_spam_check_resultfilterFilters email import spam detection results.classes/email-piping/classes/importer/ep_email.php:427classes/email-piping/classes/spam/spam_quarantine.php:334
Email pipingalsp_ep_spam_checkedactionEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:430-
Email pipingalsp_ep_spam_detectedactionRuns when email import spam detection flags a message.classes/email-piping/classes/importer/ep_email.php:436classes/email-piping/classes/spam/spam_quarantine.php:21
Email pipingalsp_ep_spam_email_is_allowedfilterEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:451-
Email pipingalsp_ep_spam_mode_selectfilterEmail-piping extension point discovered in source.classes/email-piping/classes/config/config_ep_spam.php:72-
Email pipingalsp_ep_spam_quarantine_cleanedactionEmail-piping extension point discovered in source.classes/email-piping/classes/spam/spam_quarantine.php:427-
Email pipingalsp_ep_spam_quarantine_recordedactionEmail-piping extension point discovered in source.classes/email-piping/classes/spam/spam_quarantine.php:139-
Email pipingalsp_ep_spam_quarantine_releasedactionEmail-piping extension point discovered in source.classes/email-piping/classes/spam/spam_quarantine.php:342-
Email pipingalsp_ep_spam_quarantine_sender_configuredactionEmail-piping extension point discovered in source.classes/email-piping/classes/spam/spam_quarantine.php:541-
Email pipingalsp_ep_spam_quarantinedactionEmail-piping extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:441-
Email pipingalsp_ep_spam_settingsfilterEmail-piping extension point discovered in source.classes/email-piping/classes/config/config_ep_spam.php:183-
Generalalsp_fix_block_legacy_widgetfilterAwedesk extension point discovered in source.classes/frontend/assets.php:358<br>classes/utilities/template.php:105-
Frontend/templatesalsp_frontend_datafilterFilters the frontend data object before it is printed for browser scripts.classes/frontend/assets.php:269classes/awecloud_client/awecloud_client.php:173<br>classes/frontend/pro_assets.php:3<br>classes/pro/integrations/woocommerce/woo-integrations.php:150
Generalalsp_get_urlfilterAwedesk extension point discovered in source.classes/frontend/assets.php:390-
Generalalsp_getting_startedfilterAwedesk extension point discovered in source.classes/config/pages.php:49classes/pro/_PRO.php:29
Generalalsp_is_profilterFilters whether Pro behavior is enabled.classes/chatbot/chatbot_llm.php:147<br>classes/config/config.php:177<br>classes/config/config_advanced.php:86<br>classes/config/config_agent.php:20<br>classes/config/config_csat_responses.php:20<br>classes/config/config_dashboard.php:20<br>classes/config/config_department.php:31<br>classes/config/config_label.php:20classes/pro/_PRO.php:14
Generalalsp_is_pro_validfilterFilters whether Pro licensing is valid.-classes/pro/_PRO.php:18
Generalalsp_loadmore_repeat_selectfilterAwedesk extension point discovered in source.classes/config/config_advanced.php:165-
Generalalsp_loadmore_selectfilterAwedesk extension point discovered in source.classes/config/config_advanced.php:158-
Emailalsp_mailqueue_addactionRuns when an email is queued.classes/email/email_queue.php:81-
Emailalsp_mailqueue_add_datafilterFilters email queue payload data before storage.classes/email/email_queue.php:88-
Emailalsp_mailqueue_afteractionRuns after queued email sending is attempted.classes/email/email_queue.php:265-
Emailalsp_mailqueue_before_sendingfilterFilters a queued email row immediately before sending.classes/email/email_queue.php:249classes/email-piping/classes/config/config_ep_general.php:94
Generalalsp_message_create_succededactionAwedesk extension point discovered in source.classes/models/ticket_message.php:113<br>classes/models/ticket_message.php:114-
Generalalsp_plugin_deactivatedactionAwedesk extension point discovered in source.alsp.php:205-
Generalalsp_post_replyactionAwedesk extension point discovered in source.classes/email-piping/classes/importer/ep_email.php:596-
Privacyalsp_privacy_data_inventoryfilterFilters the privacy data inventory used by export, erase, and policy guidance.classes/privacy/data_inventory.php:166-
Privacyalsp_privacy_policy_contentfilterPrivacy/export/erase extension point discovered in source.classes/privacy/privacy.php:79-
Privacyalsp_privacy_policy_sectionsfilterPrivacy/export/erase extension point discovered in source.classes/privacy/policy.php:23-
Generalalsp_rest_pathsfilterFilters directories scanned by the REST endpoint router.classes/api/api.php:62<br>classes/api/api.php:135classes/boot/component.php:46<br>classes/email-piping/email-piping.php:70
Frontend/templatesalsp_templatefilterFilters frontend template output before rendering.classes/frontend/assets.php:335classes/pro/attachments/attachment.php:76
Frontend/templatesalsp_template_insertactionFrontend rendering extension point discovered in source.templates/admin/admin_departments.php:96<br>templates/admin/admin_departments_item.php:131<br>templates/ticket/message.php:27<br>templates/ticket/sidebar.php:122<br>templates/ticket/sidebar.php:176classes/pro/advanced-email-piping/config/config_department_ep.php:14<br>classes/pro/attachments/attachment.php:77<br>classes/pro/integrations/awecommerce/awecommerce-integrations.php:70<br>classes/pro/integrations/edd/edd-integrations.php:72<br>classes/pro/integrations/woocommerce/woo-integrations.php:146
Generalalsp_theme_selectfilterAwedesk extension point discovered in source.classes/config/config.php:112-
Ticket lifecyclealsp_ticket_assignee_changedactionRuns when the assigned staff member changes.classes/api/rest/v1/admin_agent.php:110<br>classes/api/rest/v1/ticket_assign.php:39<br>classes/api/rest/v1/ticket_messages.php:175<br>classes/api/rest/v1/tickets.php:320<br>classes/api/rest/v1/tickets.php:347<br>classes/models/tickets_bulk.php:595<br>classes/models/tickets_bulk.php:836<br>classes/models/tickets_bulk.php:862classes/pro/integrations/slack/slack.php:35<br>classes/pro/watchers/classes/ticket_watchers.php:39
Ticket lifecyclealsp_ticket_attachment_query_wherefilterTicket lifecycle, query, or rendering extension point discovered in source.classes/pro/attachments/model/ticket_attachments.php:25-
Ticket lifecyclealsp_ticket_bulk_agent_changedactionTicket lifecycle, query, or rendering extension point discovered in source.classes/models/tickets_bulk.php:613-
Ticket lifecyclealsp_ticket_bulk_department_changedactionTicket lifecycle, query, or rendering extension point discovered in source.classes/models/tickets_bulk.php:788-
Ticket lifecyclealsp_ticket_bulk_marked_spamactionTicket lifecycle, query, or rendering extension point discovered in source.classes/models/tickets_bulk.php:1065-
Ticket lifecyclealsp_ticket_bulk_status_changedactionTicket lifecycle, query, or rendering extension point discovered in source.classes/models/tickets_bulk.php:492-
Ticket lifecyclealsp_ticket_bulk_trashedactionTicket lifecycle, query, or rendering extension point discovered in source.classes/models/tickets_bulk.php:1193-
Ticket lifecyclealsp_ticket_closedactionRuns when a ticket is closed.classes/api/rest/v1/ticket_closed.php:55<br>classes/tickets/tickets.php:108classes/models/csat_hooks.php:19<br>classes/pro/integrations/slack/slack.php:40
Ticket lifecyclealsp_ticket_create_succededactionTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket.php:339-
Ticket lifecyclealsp_ticket_department_changedactionRuns when the department changes.classes/api/rest/v1/tickets.php:300<br>classes/models/tickets_bulk.php:757classes/pro/integrations/slack/slack.php:50
Ticket lifecyclealsp_ticket_filter_default_descfilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket_status.php:61-
Ticket lifecyclealsp_ticket_filter_default_iconfilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket_status.php:104-
Ticket lifecyclealsp_ticket_filter_default_namefilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket_status.php:42-
Ticket lifecyclealsp_ticket_filter_iconfilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket_status.php:80-
Ticket lifecyclealsp_ticket_filter_listfilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket_status.php:190-
Ticket lifecyclealsp_ticket_filter_namefilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket_status.php:23-
Ticket lifecyclealsp_ticket_marked_spamactionRuns when a ticket is marked as spam.classes/api/rest/v1/tickets.php:694<br>classes/models/tickets_bulk.php:1056-
Ticket lifecyclealsp_ticket_messages_query_wherefilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket_messages.php:41-
Ticket lifecyclealsp_ticket_newactionRuns after a ticket is created through the ticket form, chatbot, or email import.classes/api/rest/v1/chatbot.php:157<br>classes/api/rest/v1/tickets.php:183<br>classes/email-piping/classes/importer/ep_email.php:667classes/pro/integrations/slack/slack.php:25
Ticket lifecyclealsp_ticket_reopenedactionRuns when a closed ticket is reopened.classes/api/rest/v1/ticket_reopen.php:66classes/pro/integrations/slack/slack.php:45
Ticket lifecyclealsp_ticket_replyactionRuns after a reply is added to a ticket.classes/api/rest/v1/ticket_messages.php:121<br>classes/email-piping/classes/importer/ep_email.php:515classes/pro/integrations/slack/slack.php:30
Ticket lifecyclealsp_ticket_status_listfilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/ticket_status.php:153-
Ticket lifecyclealsp_ticket_subject_updatedactionRuns when the subject changes.classes/api/rest/v1/tickets.php:548-
Ticket lifecyclealsp_ticket_urifilterTicket lifecycle, query, or rendering extension point discovered in source.alsp.php:383classes/pro/integrations/woocommerce/woo-integrations.php:157
Ticket lifecyclealsp_tickets_query_joinfilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/tickets.php:176classes/pro/watchers/classes/ticket_watchers.php:28
Ticket lifecyclealsp_tickets_query_wherefilterTicket lifecycle, query, or rendering extension point discovered in source.classes/models/tickets.php:179classes/pro/watchers/classes/ticket_watchers.php:20
Generalalsp_urifilterAwedesk extension point discovered in source.alsp.php:395<br>alsp.php:402-
Users/capabilitiesalsp_user_capabilities_agentfilterAwedesk extension point discovered in source.classes/utilities/wp_activation.php:749-
Users/capabilitiesalsp_user_capabilities_clientfilterAwedesk extension point discovered in source.classes/utilities/wp_activation.php:782-
Users/capabilitiesalsp_user_capabilities_fullfilterAwedesk extension point discovered in source.classes/utilities/wp_activation.php:680-
Users/capabilitiesalsp_user_default_rolefilterFilters default Awedesk role assignment.classes/users/user.php:278-
Generalalsp_validate_fieldfilterFilters setting validation results.classes/api/rest/v1/admin.php:22classes/config/config_csat.php:113<br>classes/config/config_email.php:61<br>classes/email-piping/classes/config/config_ep_multi_inbox.php:32<br>classes/email-piping/classes/config/config_ep_spam.php:35
Generalalsp_working_directoryfilterAwedesk extension point discovered in source.alsp.php:322-
Generalalsp_working_urlfilterAwedesk extension point discovered in source.alsp.php:354-
Generalautolink_max_lengthfilterAwedesk extension point discovered in source.classes/utilities/string.php:60-
Generalawecloud_is_clientfilterAwedesk extension point discovered in source.classes/api/rest/v1/pro_app.php:22<br>classes/api/rest/v1/pro_app.php:66<br>classes/api/rest/v1/pro_app_auth.php:8<br>classes/awecloud_client/awecloud_client.php:176<br>classes/config/config.php:137<br>classes/config/config.php:151<br>classes/config/config.php:218<br>classes/config/config_advanced.php:49classes/awecloud_client/awecloud_client.php:495
Config/adminawedesk_config_getfilterFilters setting values after read and before return.classes/config/config.php:22<br>classes/config/config.php:26<br>classes/config/config.php:31<br>classes/config/config.php:34-

Ticket Lifecycle Examples

add_action('alsp_ticket_new', function (int $ticket_id, int $message_id): void {
    $ticket = new ALSP_Model_Ticket($ticket_id);
    $item = $ticket->get_item();

    // Send ticket metadata to a CRM, queue a background job, or tag the customer.
    my_crm_sync_awedesk_ticket($item);
}, 10, 2);
add_action('alsp_ticket_reply', function ($ticket, int $message_id): void {
    $ticket_id = is_object($ticket) && isset($ticket->id) ? (int) $ticket->id : (int) $ticket;
    my_audit_log(sprintf('Reply %d added to ticket %d', $message_id, $ticket_id));
}, 10, 2);
add_action('alsp_ticket_closed', function ($ticket, $actor): void {
    $ticket_id = is_object($ticket) && isset($ticket->id) ? (int) $ticket->id : (int) $ticket;
    my_billing_hold_release_for_ticket($ticket_id);
}, 10, 2);

Frontend Data Example

add_filter('alsp_frontend_data', function (array $data): array {
    if (!is_user_logged_in()) {
        return $data;
    }

    $data['my_company'] = [
        'supportTier' => get_user_meta(get_current_user_id(), 'support_tier', true) ?: 'standard',
    ];

    return $data;
});

Template Injection Example

add_action('alsp_template_insert', function (string $slot): void {
    if ($slot !== 'ticket/sidebar/2') {
        return;
    }

    echo '<section class="my-awedesk-panel">';
    echo esc_html__('Account health checked by CRM.', 'my-extension');
    echo '</section>';
});

Was this documentation helpful?