fluent_support_ticket_create_validation_rules
Parameters
- '$rules' (array) Validation rules for ticket
Usage
add_filter('fluent_support/ticket_create_validation_rules', function ($rules) {
// ...do something
return $rules;
}, 10, 1);Reference
apply_filters('fluent_support/ticket_create_validation_rules', $rules)
This filter is located in fluent-support/app/Http/Requests/TicketRequest.php
fluent_support_ticket_create_validation_messages
Parameters
- '$messages' (array) Validation messages for a ticket
Usage
add_filter('fluent_support/ticket_create_validation_messages', function ($messages) {
// ...do something
return $messages;
}, 10, 1);Reference
apply_filters('fluent_support/ticket_create_validation_messages', $messages)
This filter is located in fluent-support/app/Http/Requests/TicketRequest.php
fluent_support_customer_ticket_priorities
Parameters
- '$priorities' (array) Customer ticket priority list
Usage
add_filter('fluent_support/customer_ticket_priorities', function ($priorities) {
// ...do something
return $priorities;
}, 10, 1);Reference
apply_filters('fluent_support/customer_ticket_priorities', [ 'normal' => __('Normal', 'fluent-support'), 'medium' => __('Medium', 'fluent-support'), 'critical' => __('Critical', 'fluent-support') ])
This filter is located in fluent-support/app/Services/Helper.php
fluent_support_admin_ticket_priorities
Parameters
- '$priorities' (array) Admin ticket priority list
Usage
add_filter('fluent_support/admin_ticket_priorities', function ($priorities) {
// ...do something
return $priorities;
}, 10, 1);Reference
apply_filters('fluent_support/admin_ticket_priorities', [ 'normal' => __('Normal', 'fluent-support'), 'medium' => __('Medium', 'fluent-support'), 'critical' => __('Critical', 'fluent-support') ])
This filter is located in fluent-support/app/Services/Helper.php
fluent_support_ticket_status_groups
Parameters
- '$statusGroups' (array) Ticket status groups
Usage
add_filter('fluent_support/ticket_status_groups', function ($statusGroups) {
// ...do something
return $statusGroups;
}, 10, 1);Reference
apply_filters('fluent_support/ticket_status_groups', [ 'open' => ['new', 'active'], 'active' => ['active'], 'closed' => ['closed'], 'new' => ['new'], 'all' => [] ])
This filter is located in fluent-support/app/Services/Helper.php
fluent_support_changeable_ticket_statuses
Parameters
- '$ticketStatus' (array) Changeable ticket status groups
Usage
add_filter('fluent_support/changeable_ticket_statuses', function ($ticketStatus) {
// ...do something
return $ticketStatus;
}, 10, 1);Reference
apply_filters('fluent_support/changeable_ticket_statuses', $ticketStatus)
This filter is located in fluent-support/app/Services/Helper.php
fluent_support_ticket_statuses
Parameters
- '$ticketStatuses' (array) Ticket statuses
Usage
add_filter('fluent_support/ticket_statuses', function ($ticketStatuses) {
// ...do something
return $ticketStatuses;
}, 10, 1);Reference
apply_filters('fluent_support/ticket_statuses', [ 'new' => __('New', 'fluent-support'), 'active' => __('Active', 'fluent-support'), 'closed' => __('Closed', 'fluent-support'), ])
This filter is located in fluent-support/app/Services/Helper.php
fluent_support_accepted_ticket_mimes
Parameters
- '$mimes' (array) Accepted mimes
Usage
add_filter('fluent_support/accepted_ticket_mimes', function ($mimes) {
// ...do something
return $mimes;
}, 10, 1);Reference
apply_filters('fluent_support/accepted_ticket_mimes', $mimes)
This filter is located in fluent-support/app/Services/Helper.php
fluent_support_mime_groups
Parameters
- '$mimeGroups' (array) Mime groups
Usage
add_filter('fluent_support/mime_groups', function ($mimeGroups) {
// ...do something
return $mimeGroups;
}, 10, 1);Reference
apply_filters('fluent_support/mime_groups', $mimeGroups)
This filter is located in fluent-support/app/Services/Helper.php
fluent_support_portal_base_url
Parameters
- '$baseUrl' (string) Portal base url
Usage
add_filter('fluent_support/portal_base_url', function ($baseUrl) {
// ...do something
return $baseUrl;
}, 10, 1);Reference
apply_filters('fluent_support/portal_base_url', $baseUrl)
This filter is located in fluent-support/app/Services/Helper.php
fluent_support_can_user_add_tags_to_customer
Parameters
- '$canAddTags' (boolean) User can add tags or not permission
Usage
add_filter('fluent_support/can_user_add_tags_to_customer', function ($canAddTags) {
// ...do something
return $canAddTags;
}, 10, 1);Reference
apply_filters('fluent_support/can_user_add_tags_to_customer', $canAddTags)
This filter is located in fluent-support/app/Services/FluentCRMServices.php,fluent-support/app/Services/Helper.php
fluent_support_custom_field_render
Parameters
- '$value' (string) Custom fields value
- '$scope' (string) Specifies whether it is for admin or public use
Note: $fieldType represents the type of custom field, whether it is a text field, number field, etc.
Usage
add_filter('fluent_support/custom_field_render_' . $fieldType , function ($value, $scope) {
// ...do something
return $value;
}, 10, 2);Reference
apply_filters('fluent_support/custom_field_render_' . $fieldType, $value, $scope)
This filter is located in fluent-support/app/Models/Ticket.php
fluent_support_ticket_custom_fields
Parameters
- '$customFields' (array) Ticket custom fields, keyed by field slug
Usage
add_filter('fluent_support/ticket_custom_fields', function ($customFields) {
// ...do something
return $customFields;
}, 10, 1);Reference
apply_filters('fluent_support/ticket_custom_fields', [])
This filter is located in fluent-support/app/Models/Ticket.php,fluent-support/app/Hooks/Handlers/Menu.php,fluent-support/app/Services/Integrations/FluentForm/FeedIntegration.php,fluent-support-pro/app/Services/Integrations/Slack/SlackNotification.php,fluent-support-pro/app/Services/Integrations/Telegram/TelegramNotification.php,fluent-support-pro/app/Services/Integrations/Discord/DiscordNotification.php
fluent_support_disabled_ticket_fields
Parameters
- '$fields' (array) Disable ticket fields
Usage
add_filter('fluent_support/disabled_ticket_fields', function ($fields) {
// ...do something
return $fields;
}, 10, 1);Reference
apply_filters('fluent_support/disabled_ticket_fields', [])
This filter is located in fluent-support-pro/app/Hooks/filters.php,fluent-support/app/Http/Controllers/UploaderController.php,fluent-support/app/Services/CustomerPortalService.php,fluent-support/app/Services/Tickets/TicketService.php
fluent_support_create_ticket_data
Parameters
- '$ticketData' (array) Ticket data
- 'customer' (object) Customer data
Usage
add_filter('fluent_support/create_ticket_data', function ($ticketData, $customer) {
// ...do something
return $ticketData;
}, 10, 2);Reference
apply_filters('fluent_support/create_ticket_data', $ticketData, $customer)
This filter is located in fluent-support/app/Services/Tickets/TicketService.php
fluent_support_custom_field_required_before_ticket_create
Parameters
- '$dataRules' (array) Validation rules, with two keys:
- 'required_fields' (array) Field name => rule. Default
['title' => 'required', 'content' => 'required']. Custom fields usecustom_data.{slug} - 'error_messages' (array)
{field}.{rule}=> message shown when the rule fails
- 'required_fields' (array) Field name => rule. Default
Usage
add_filter('fluent_support/custom_field_required_before_ticket_create', function ($dataRules) {
$dataRules['required_fields']['client_priority'] = 'required';
$dataRules['error_messages']['client_priority.required'] = __('Please choose a priority', 'my-plugin');
return $dataRules;
}, 10, 1);Reference
$this->app->applyCustomFilters('custom_field_required_before_ticket_create', $dataRules)
The plugin adds the fluent_support/ prefix, so hook into fluent_support/custom_field_required_before_ticket_create.
This filter is located in fluent-support/app/Http/Controllers/CustomerPortalController.php
fluent_support_custom_field_required_by_conditions_before_ticket_create
Parameters
- '$data' (array) Rules and submitted values:
- 'required_fields' (array) Field name => rule
- 'error_messages' (array)
{field}.{rule}=> message - 'custom_data' (array) Submitted custom field values, keyed by slug (sanitized)
- 'default_data' (array) Submitted
ticket_titleandticket_content, plusticket_product_idandticket_client_prioritywhen sent
Only required_fields and error_messages are used from the returned array. If both are missing, the ticket is rejected with an "Invalid form data submitted" error.
Usage
add_filter('fluent_support/custom_field_required_by_conditions_before_ticket_create', function ($data) {
if ((int) ($data['default_data']['ticket_product_id'] ?? 0) === 12) {
$data['required_fields']['custom_data.order_id'] = 'required';
$data['error_messages']['custom_data.order_id.required'] = __('Order ID is required', 'my-plugin');
}
return $data;
}, 10, 1);Reference
$this->app->applyCustomFilters('custom_field_required_by_conditions_before_ticket_create', $data)
The plugin adds the fluent_support/ prefix, so hook into fluent_support/custom_field_required_by_conditions_before_ticket_create.
This filter is located in fluent-support/app/Http/Controllers/CustomerPortalController.php
fluent_support_previous_ticket_widgets_limit
Parameters
- '$limit' (integer) Previous ticket widgets limit
Usage
add_filter('fluent_support/previous_ticket_widgets_limit', function ($limit) {
// ...do something
return $limit;
}, 10, 1);Reference
apply_filters('fluent_support/previous_ticket_widgets_limit', 10)
This filter is located in fluent-support/app/Http/Controllers/TicketController.php
fst_menu_url_base
Parameters
- '$urlBase' (string) Fluent support admin url base
Usage
add_filter('fst_menu_url_base', function ($urlBase) {
// ...do something
return $urlBase;
}, 10, 1);Reference
$urlBase = apply_filters( 'fst_menu_url_base', admin_url('admin.php?page=fluent-support#/') )
This filter is located in fluent-support/app/Services/Tickets/TicketStats.php
fst_quick_links
Parameters
- '$quickLinks' (array) List of quick links
Usage
add_filter('fst_quick_links', function ($quickLinks) {
// ...do something
return $quickLinks;
}, 10, 1);Reference
apply_filters('fst_quick_links', $quickLinks)
$quickLinks is used here as an illustrative variable to represent the raw array value found in the main filter, demonstrating the quick links data such as active tickets, total tickets, etc.
This filter is located in fluent-support/app/Services/Tickets/TicketStats.php
fluent_support_ticket_content_before_render
Parameters
$content(string) The raw ticket content as stored in the database$ticket(object) The ticket object
Usage
add_filter('fluent_support/ticket_content_before_render', function ($content, $ticket) {
// modify content before formatting
return $content;
}, 10, 2);Reference
apply_filters('fluent_support/ticket_content_before_render', $ticket->content, $ticket)
This filter is located in fluent-support/app/Http/Controllers/TicketController.php,fluent-support/app/Services/CustomerPortalService.php
fluent_support_ticket_content_after_render
Parameters
$content(string) The formatted ticket content after WordPress processing$ticket(object) The ticket object
Usage
add_filter('fluent_support/ticket_content_after_render', function ($content, $ticket) {
// modify content after formatting
return $content;
}, 10, 2);Reference
apply_filters('fluent_support/ticket_content_after_render', $ticketContent, $ticket)
This filter is located in fluent-support/app/Http/Controllers/TicketController.php,fluent-support/app/Services/CustomerPortalService.php
fluent_support_min_serial_number
Parameters
$minNumber(int) The minimum serial number from Global Settings
Usage
add_filter('fluent_support/min_serial_number', function ($minNumber) {
return 5000; // force serial numbers to start at 5000 at minimum
}, 10, 1);Reference
apply_filters('fluent_support/min_serial_number', $minNumber)
This filter is located in fluent-support/app/Models/Ticket.php
fluent_support_ticket_prefix
Parameters
$prefix(string) The global prefix from Global Settings (may be empty)$ticket(object|null) The ticket object, or null when called outside a ticket context$productId(int|null) The product ID of the ticket, or null if no product is assigned
Usage
add_filter('fluent_support/ticket_prefix', function ($prefix, $ticket, $productId) {
// assign a different prefix per product
$prefixes = [
12 => 'BIL-',
15 => 'TEC-',
];
return $prefixes[$productId] ?? $prefix;
}, 10, 3);Reference
apply_filters('fluent_support/ticket_prefix', $prefix, $ticket, $productId)
This filter is located in fluent-support/app/Models/Ticket.php
fluent_support_widgets_by_name
Parameters
$widgets(array) Widget payload to return — default[]$data(array) Sanitized request data. Forticket_sidebar, includes a loadedticket(with itscustomerrelation)
Usage
add_filter('fluent_support/widgets/ticket_sidebar', function ($widgets, $data) {
$widgets[] = [
'title' => 'My Widget',
'content' => 'Hello ' . $data['ticket']->customer->full_name,
];
return $widgets;
}, 10, 2);Note: {name} is sanitized to [a-zA-Z0-9_\-]+ before the filter is built, and any leading fluent_support_ in the requested name is stripped first.
Reference
apply_filters('fluent_support/widgets/' . $filter, [], $data)
This filter is located in fluent-support/app/Http/Controllers/WidgetsController.php
fluent_support_ticket_source_filter_options
Parameters
- '$options' (array) Source slug => label. Defaults:
web,email,agent_initiated,mcp,telegram,slack,whatsapp,awesome-support,freshdesk,helpscout,js-helpdesk,support-candy,zendesk,__none__
Usage
add_filter('fluent_support/ticket_source_filter_options', function ($options) {
$options['my_chat_widget'] = __('Chat widget', 'my-plugin');
return $options;
}, 10, 1);Reference
apply_filters('fluent_support/ticket_source_filter_options', $options)
This filter is located in fluent-support/app/Models/Ticket.php
fluent_support_ticket_close_activity_source
Available since Fluent Support 2.4.7.
Parameters
- '$source' (string) Empty for a close by the person replying
- '$ticket' (object) Ticket object
Usage
add_filter('fluent_support/ticket_close_activity_source', function ($source, $ticket) {
if (defined('MY_PLUGIN_CLOSING_TICKETS')) {
return 'automation';
}
return $source;
}, 10, 2);Reference
apply_filters('fluent_support/ticket_close_activity_source', '', $ticket)
This filter is located in fluent-support/app/Services/Tickets/TicketService.php
fluent_support_contact_search_partial_allowed
Available since Fluent Support 2.4.7.
Parameters
- '$allowed' (boolean) Whether the agent has the
fst_sensitive_datapermission
Usage
add_filter('fluent_support/contact_search_partial_allowed', function ($allowed) {
return $allowed || current_user_can('manage_options');
}, 10, 1);Reference
apply_filters('fluent_support/contact_search_partial_allowed', PermissionManager::currentUserCan('fst_sensitive_data'))
This filter is located in fluent-support/app/Modules/Customers/CustomerController.php
fluent_support_tickets_list
Parameters
- '$tickets' (object) Paginated tickets (LengthAwarePaginator)
Usage
add_filter('fluent_support/tickets_list', function ($tickets) {
// ...do something
return $tickets;
}, 10, 1);Reference
apply_filters('fluent_support/tickets_list', $tickets)
This filter is located in fluent-support/app/Http/Controllers/TicketController.php
fluent_support_ticket_view_data
Parameters
- '$data' (array) Ticket view response:
ticket,responses,agent_idand, when present,watchersandfluentcrm_profile - '$ticket' (object) The viewed ticket
- '$scheduledRows' (object) Unsent scheduled replies (Collection), kept out of
responses
Usage
add_filter('fluent_support/ticket_view_data', function ($data, $ticket, $scheduledRows) {
// ...do something
return $data;
}, 10, 3);Reference
apply_filters('fluent_support/ticket_view_data', $data, $ticket, $scheduledRows)
This filter is located in fluent-support/app/Http/Controllers/TicketController.php
fluent_support_custom_field_labels
Parameters
- '$fields' (array) Custom field definitions keyed by field slug
- '$scope' (string)
adminorpublic(customer portal)
Usage
add_filter('fluent_support/custom_field_labels', function ($fields, $scope) {
// ...do something
return $fields;
}, 10, 2);Reference
apply_filters('fluent_support/custom_field_labels', [], $scope)
This filter is located in fluent-support/app/Models/Ticket.php
fluent_support_custom_fields_rendered
Parameters
- '$renderedFields' (array) Rendered custom fields
- '$customer' (object) The ticket's customer
- '$scope' (string) Always
adminhere
Usage
add_filter('fluent_support/custom_fields_rendered', function ($renderedFields, $customer, $scope) {
// ...do something
return $renderedFields;
}, 10, 3);Reference
apply_filters('fluent_support/custom_fields_rendered', [], $ticket->customer, 'admin')
This filter is located in fluent-support/app/Http/Controllers/TicketController.php
fluent_support_schedule_response
Parameters
- '$responseData' (array|null)
nulluntil a handler schedules the reply; return the response data - '$data' (array) The reply payload
- '$agent' (object) The replying agent
- '$ticket' (object) Ticket data
- '$scheduledAt' (int) Unix timestamp to send at
Usage
add_filter('fluent_support/schedule_response', function ($responseData, $data, $agent, $ticket, $scheduledAt) {
// ...do something
return $responseData;
}, 10, 5);Reference
apply_filters('fluent_support/schedule_response', null, $data, $agent, $ticket, $scheduledAt)
This filter is located in fluent-support/app/Http/Controllers/ResponseController.php
