Skip to content

FluentBoards Action Hooks ​

FluentBoards Core Intermediate

FluentBoards fires many action hooks. Use them to run your own code when something happens in FluentBoards, for example when a board is created, a task moves to another stage or a comment is posted.

What are Action Hooks ​

Action hooks let you run custom code when certain events occur. You attach a callback with add_action(). FluentBoards calls it with the arguments listed for each hook. Always pass the correct number of accepted arguments (the 4th parameter of add_action()). If you omit it, WordPress passes only the first argument.

php
add_action('fluent_boards/task_created', function ($task) {
    // $task is a \FluentBoards\App\Models\Task
}, 10, 1);

Conventions used on these pages:

  • Almost every hook name starts with fluent_boards/. The few legacy exceptions are noted on the hook.
  • Pro means the hook fires only when FluentBoards Pro is active. Hooks without the badge are fired by the free plugin. Pro may fire some of them too.
  • Source paths are relative to the plugin root. Paths that start with fluent-boards-pro/ are in the Pro plugin.
  • Model arguments are WPFluent ORM models, for example \FluentBoards\App\Models\Task or \FluentBoards\App\Models\Board.

Available Action Hooks ​

Boards, Members, Stages, Labels & Templates ​

See Board Action Hooks.

HookFires when
fluent_boards/board_createdA board is created
fluent_boards/board_updatedBoard details are updated
fluent_boards/before_board_deletedA board is about to be deleted
fluent_boards/board_archivedA board is archived
fluent_boards/board_restoredAn archived board is restored
fluent_boards/board_background_updatedA board background changes
fluent_boards/contact_added_to_boardA FluentCRM contact is linked to a board
fluent_boards/board_member_addedA user gets member access
fluent_boards/board_viewer_addedA user gets viewer access
fluent_boards/board_admin_addedA user becomes a board admin
fluent_boards/board_admin_removedA user loses board admin rights
fluent_boards/send_invitationAn email without an account is invited
fluent_boards/board_stage_addedA stage is added
fluent_boards/stage_updatedA stage title or color changes
fluent_boards/board_stages_reorderedStages are reordered
fluent_boards/stage_archived_with_tasksA stage is archived
fluent_boards/stage_archivedA stage is archived (legacy)
fluent_boards/stage_restored_with_tasksA stage is restored
fluent_boards/board_stage_restoredA stage is restored (legacy)
fluent_boards/tasks_moved_between_stagesAll tasks of a stage are moved
fluent_boards/default_assignees_updatedStage default assignees change
fluent_boards/default_watchers_updatedStage default watchers change
fluent_boards/board_label_createdA board label is created
fluent_boards/board_label_updatedA board label is edited
fluent_boards/board_label_deletedA board label is deleted
fluent_boards/board_created_from_template ProA board is created from a template
fluent_boards/board_created_from_automation ProA FluentCRM automation creates a board
fluent_boards/board_converted_to_template ProA board is turned into a template
fluent_boards/template_converted_to_board ProA template is turned into a board

Tasks, Subtasks, Attachments & Time Tracking ​

See Task Action Hooks.

HookFires when
fluent_boards/task_createdA top-level task is created
fluent_boards/task_updatedA task is moved (position)
fluent_boards/task_stage_updatedA task changes stage
fluent_boards/task_content_updatedTask title or description changes
fluent_boards/task_completed_activityA task is completed or reopened
fluent_boards/task_priority_changedTask priority changes
fluent_boards/task_date_changedTask dates are saved and changed
fluent_boards/task_due_date_changedA due date is set
fluent_boards/task_due_date_removedA due date is cleared
fluent_boards/task_start_date_changedA start date is set
fluent_boards/task_reminder_type_changedThe reminder type is saved
fluent_boards/task_archivedA task is archived or restored
fluent_boards/task_assignee_addedA user is assigned
fluent_boards/assign_another_userSomeone other than the current user is assigned
fluent_boards/task_assignee_removedA user is unassigned
fluent_boards/task_labelA label is added to or removed from a task
fluent_boards/task_moved_from_boardA task moves to another board
fluent_boards/task_clonedA task is duplicated
fluent_boards/task_cloned_activityAfter clone activity cleanup
fluent_boards/before_task_deletedA task is about to be deleted
fluent_boards/task_deletedA task was deleted (after commit)
fluent_boards/bulk_action_completedA bulk task action finishes
fluent_boards/task_moved_update_time_trackingA task moves boards (time tracking)
fluent_boards/subtask_added ProA subtask is added
fluent_boards/subtask_cloned ProA subtask is duplicated
fluent_boards/subtask_deleted_activityA subtask is deleted
fluent_boards/subtask_group_created ProA subtask group is created
fluent_boards/subtask_group_title_updated ProA subtask group is renamed
fluent_boards/subtask_group_deleted_activity ProA subtask group is deleted
fluent_boards/task_attachment_added ProAn attachment is added
fluent_boards/task_attachment_deletedAn attachment or cover image is deleted
fluent_boards/task_custom_field_changed ProA custom field value is saved
fluent_boards/task_dependency_added ProA task dependency is added
fluent_boards/task_dependency_removed ProA task dependency is removed
fluent_boards/repeat_task_set ProRecurrence is enabled on a task
fluent_boards/repeat_task_updated ProRecurrence settings change
fluent_boards/repeat_task ProA recurring task is due to repeat
fluent_boards/repeat_task_created ProThe next recurring copy is created
fluent_boards/task_added_from_fluent_formFluent Forms creates a task
fluent_boards/contact_added_to_taskA FluentCRM contact is linked to a task
fluent_boards/associate_user_add_change_remove_activityA task's CRM contact changes
fluent_boards/support_ticket_unlinkedA Fluent Support ticket is unlinked

Comments, Notifications & Users ​

See Comment & User Action Hooks.

HookFires when
fluent_boards/comment_createdA comment or reply is added
fluent_boards/comment_updatedA comment is edited
fluent_boards/comment_deletedA comment is deleted
fluent_boards/mention_comment_notificationUsers are mentioned in a comment
fluent_boards/profile_name_updatedA user changes their display name
fluent_boards/profile_photo_updatedA user uploads a profile photo

App, Admin UI, Settings & MCP ​

See App & Admin Action Hooks.

HookFires when
fluent_boards_loadedFluentBoards has booted (plugins_loaded)
fluent-boards_loading_appApp assets are being enqueued (legacy name)
fluent_boards/after_enqueue_assetsApp assets are enqueued
fluent_boards/rendering_appThe admin app page starts rendering
fluent_boards/after_core_menu_itemsThe wp-admin submenu is registered
fluent_boards/in_menu_actionsThe app top bar renders
fluent_boards/front_head ProThe frontend portal head renders
fluent_boards/front_footer ProThe frontend portal footer renders
fluent_boards/saving_addonsModule settings are about to be saved
fluent_boards/recurring_task_disabledThe recurring-task module is turned off
fluent_boards/install_pluginA non-core accepted plugin install is requested
fluent_boards/mcp_loadedCore MCP abilities are registered
fluent_boards/mcp_tool_exceptionAn MCP tool throws

Internal hooks (do not rely on) ​

FluentBoards dispatches these hooks itself through Action Scheduler or WP-Cron to run queued work. They are internal plumbing. Their names, arguments and timing can change without notice. Do not call them, and do not depend on them in your own code.

  • fluent_boards/one_time_schedule_send_email_for_{type}: queued notification emails. {type} is one of comment, mention, stage_change, add_assignee, remove_assignee, due_date_update, task_archived, removed_from_task.
  • fluent_boards/check_upload_protection: one-off check that the upload folder is protected
  • fluent_boards/five_minutes_scheduler, fluent_boards/hourly_scheduler, fluent_boards/daily_scheduler (Pro): recurring schedulers
  • fluent_boards/repeat_task_scheduler, fluent_boards/daily_task_reminder, fluent_boards/task_reminder_scheduler_for_rest (Pro): recurring-task and reminder runners
  • fluent_boards/async_{event}_webhook (Pro): queued outgoing webhook deliveries, for example async_task_created_webhook
  • fluent_boards/process_trello_import (Pro): Trello import worker
  • fluent_boards/async_create_tasks_from_template, fluent_boards/async_copy_tasks_from_user_template (Pro): template task copy workers
  • fluent-boards-pro/update_verification_failed (Pro): plugin updater internals

The following names appear only in commented-out code and are never fired: fluent_boards/task_moved_to_new_stage, fluent_boards/task_prop_changed, fluent_boards/task_comment_updated. Use task_stage_updated, the specific task property hooks and comment_updated instead.