Action hooks allows you to react to something during code execution but does not modify anything. These are the native action hooks found in Devflow:

/**
 * Fires immediately before the secure authentication cookie is set.
 *
 * @file core/Shared/Helpers/auth.php
 * @param array $authCookie Authentication cookie.
 * @param int   $expire  Duration in seconds the authentication cookie should be valid.
 */
Action::getInstance()->doAction('set_auth_cookie', $authCookie, $expire);
/**
 * Fires just before the authentication cookies are cleared.
 *
 * @file core/Shared/Helpers/auth.php
 */
Action::getInstance()->doAction('clear_auth_cookie');

content_previous_status

/**
 * Fires immediately before content is inserted into the content document.
 *
 * @param string $previousStatus Status of the content before it is created or updated.
 * @param string $contentId      The content's content_id.
 * @param bool   $update         Whether this is an existing content or a new content.
 */
Action::getInstance()->doAction(
    'content_previous_status',
    $previousStatus,
    $contentId,
    $update
);

pre_content_insert

/**
 * Fires immediately before a content is inserted into the content document.
 *
 * @param Content $content Content object.
 */
Action::getInstance()->doAction('pre_content_insert', $content);

create_content

/**
 * Action hook triggered after content is created.
 *
 * @param array $content Content object.
 */
Action::getInstance()->doAction('create_content', $content);

save_content_{$contentType}

/**
 * Action hook triggered after content has been saved.
 *
 * The dynamic portion of this hook, `$contentType`, is the content's
 * content type.
 *
 * @param string $contentId The content's id.
 * @param array $content    Content object.
 * @param bool  $update     Whether this is an existing content or a new content.
 */
Action::getInstance()->doAction("save_content_{$contentType}", $contentId, $content, $update);

save_content_{$contentType}_{$contentStatus}

/**
     * Action hook triggered after content has been saved.
     *
     * The dynamic portions of this hook, `$contentType` and `$contentStatus`,
     * are the content's content type and status.
     *
     * @param string $contentId The content's id.
     * @param array  $content   Content object.
     * @param bool   $update    Whether this is existing content or new content.
     */
    Action::getInstance()->doAction(
        "save_content_{$contentType}_{$contentStatus}",
        $contentId,
        $content,
        $update
    );

cms_after_insert_content_data

/**
 * Action hook triggered after content has been saved.
 *
 * @param string $contentId The content's id.
 * @param object $content   Content object.
 * @param bool   $update    Whether this is existing content or new content.
 */
Action::getInstance()->doAction('cms_after_insert_content_data', $contentId, $content, $update);

pre_content_update

/**
 * Fires immediately before existing content is updated in the content document.
 *
 * @param string  $contentId Content id.
 * @param content $content   Content object.
 */
Action::getInstance()->doAction('pre_content_update', $contentId, $content);

update_content

/**
 * Action hook triggered after existing content has been updated.
 *
 * @param string $contentId Content id.
 * @param array  $content   Content object.
 */
Action::getInstance()->doAction('update_content', $contentId, $content);

content_updated

/**
 * Action hook triggered after existing content has been updated.
 *
 * @param string $contentId      Content id.
 * @param object $contentAfter   Content object following the update.
 * @param object $contentBefore  Content object before the update.
 */
Action::getInstance()->doAction('content_updated', $contentId, $contentAfter, $contentBefore);

before_delete_content

/**
 * Action hook fires before a content is deleted.
 *
 * @param string $contentId Content id.
 */
Action::getInstance()->doAction('before_delete_content', $contentId);

delete_content

/**
 * Action hook fires immediately before a content is deleted from the
 * content table.
 *
 * @param string $contentId Content ID.
 */
Action::getInstance()->doAction('delete_content', $contentId);

delete_content

/**
 * Action hook fires immediately after a content is deleted from the database.
 *
 * @param string $contentId Content id.
 */
Action::getInstance()->doAction('deleted_content', $contentId);

content_type_previous_slug

/**
 * Fires immediately before a content_type is inserted into the content_type table.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string  $previousSlug   Slug of the content before it was created.
 *                                or updated.
 * @param string  $contentTypeId  The content_type's content_type_id.
 * @param bool    $update         Whether this is an existing content_type or a new content_type.
 */
Action::getInstance()->doAction('content_type_previous_slug', $previousSlug, $contentTypeId, $update);

update_content_type

/**
 * Action hook triggered after existing content_type has been updated.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string   $contentTypeId    Content Type id.
 * @param object   $contentType      Content Type object.
 */
Action::getInstance()->doAction('update_content_type', $contentTypeId, $contentType);

content_type_updated

/**
 * Action hook triggered after existing content type has been updated.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string    $contentTypeId      Content Type id.
 * @param object    $contentTypeAfter   Content Type object following the update.
 * @param object    $contentTypeBefore  Content Type object before the update.
 */
Action::getInstance()->doAction(
    'content_type_updated',
    $contentTypeId,
    $contentTypeAfter,
    $contentTypeBefore
);

cms_after_insert_content_type_data

/**
 * Action hook triggered after content_type has been saved.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string $contentTypeId  The content_type's id.
 * @param array  $contentType    Content Type object.
 * @param bool   $update         Whether this is an existing content_type or a new content_type.
 */
Action::getInstance()->doAction(
    'cms_after_insert_content_type_data',
    $contentTypeId,
    $contentType,
    $update
);

before_delete_content_type

/**
 * Action hook fires before a content_type is deleted.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string $contentTypeId ContentType id.
 */
Action::getInstance()->doAction('before_delete_content_type', $contentTypeId);

delete_content_type

/**
 * Action hook fires immediately before a content_type is deleted from the
 * content_type table.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string $contentTypeId ContentType ID.
 */
Action::getInstance()->doAction('delete_content_type', $contentTypeId);

deleted_content_type

/**
 * Action hook fires immediately after a content_type is deleted from the content_type table.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string $contentTypeId ContentType id.
 */
Action::getInstance()->doAction('deleted_content_type', $contentTypeId);

after_delete_contenttype

/**
 * Action hook fires after a content_type is deleted.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string $contentTypeId ContentType id.
 */
Action::getInstance()->doAction('after_deleted_contenttype', $contentTypeId);

product_previous_status

/**
 * Fires immediately before product is inserted into the product document.
 *
 * @param string $previousStatus Status of the product before it is created or updated.
 * @param string $productId      The product's product_id.
 * @param bool   $update         Whether this is an existing product or a new product.
 */
Action::getInstance()->doAction('product_previous_status', $previousStatus, $productId, $update);

pre_product_insert

/**
 * Fires immediately before a product is inserted into the product document.
 *
 * @param Product $product Product object.
 */
Action::getInstance()->doAction('pre_product_insert', $product);

pre_product_update

/**
 * Fires immediately before existing product is updated in the product document.
 *
 * @param string  $productId Product id.
 * @param product $product   Product object.
 */
Action::getInstance()->doAction('pre_product_update', $productId, $product);

update_product

/**
 * Action hook triggered after existing product has been updated.
 *
 * @param string $productId Product id.
 * @param array  $product   Product object.
 */
Action::getInstance()->doAction('update_product', $productId, $product);

product_updated

/**
 * Action hook triggered after existing product has been updated.
 *
 * @param string $productId      Product id.
 * @param object $productAfter   Product object following the update.
 * @param object $productBefore  Product object before the update.
 */
Action::getInstance()->doAction('product_updated', $productId, $productAfter, $productBefore);

create_product

/**
 * Action hook triggered after product is created.
 *
 * @param array $product Product object.
 */
Action::getInstance()->doAction('create_product', $product);

save_product_{$productSku}

/**
 * Action hook triggered after product has been saved.
 *
 * The dynamic portion of this hook, `$productSku`, is the product's
 * sku.
 *
 * @param string $productId The product's id.
 * @param array $product    Product object.
 * @param bool  $update     Whether this is an existing product or a new product.
 */
Action::getInstance()->doAction("save_product_{$productSku}", $productId, $product, $update);

save_product_{$productSku}_{$productStatus}

/**
 * Action hook triggered after product has been saved.
 *
 * The dynamic portions of this hook, `$productSku` and `$productStatus`,
 * are the product's sku and status.
 *
 * @param string $productId The product's id.
 * @param array  $product   Product object.
 * @param bool   $update    Whether this is existing product or new product.
 */
Action::getInstance()->doAction(
    "save_product_{$productSku}_{$productStatus}",
    $productId,
    $product,
    $update
);

cms_after_insert_product_data

/**
 * Action hook triggered after product has been saved.
 *
 * @param string $productId The product's id.
 * @param object $product   Product object.
 * @param bool   $update    Whether this is existing product or new product.
 */
Action::getInstance()->doAction('cms_after_insert_product_data', $productId, $product, $update);

before_delete_product

/**
 * Action hook fires before a product is deleted.
 *
 * @param string $productId Product id.
 */
Action::getInstance()->doAction('before_delete_product', $productId);

delete_product

/**
 * Action hook fires immediately before a product is deleted from the
 * product document.
 *
 * @param string $productId Product ID.
 */
Action::getInstance()->doAction('delete_product', $productId);

deleted_product

/**
 * Action hook fires immediately after a product is deleted from the product document.
 *
 * @param string $productId Product id.
 */
Action::getInstance()->doAction('deleted_product', $productId);

site_previous_status

/**
 * Fires immediately before a site is inserted into the site document.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $previousStatus Status of the site before it is created or updated.
 * @param string $siteId         The site's site_id.
 * @param bool   $update         Whether this is an existing site or a new site.
 */
Action::getInstance()->doAction('site_previous_status', $previousStatus, $siteId, $update);

update_site

/**
 * Fires immediately after an existing site is updated.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $siteId   Site ID.
 * @param Site $site       Site data object.
 */
Action::getInstance()->doAction('update_site', $siteId, $site);

site_updated

/**
 * Action hook triggered after existing site has been updated.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $siteId    Site id.
 * @param Site $siteAfter   Site object following the update.
 * @param Site $siteBefore  Site object before the update.
 */
Action::getInstance()->doAction('site_updated', $siteId, $siteAfter, $siteBefore);

save_site

/**
 * Fires immediately after a new site is saved.
 *
 * @file core/Shared/Helpers/site.php
 * @param Site $site     Site object.
 * @param bool $update   Whether this is an existing site or a new site.
 */
Action::getInstance()->doAction('save_site', $site, $update);

save_site_{$siteStatus}

/**
 * Action hook triggered after site has been saved.
 *
 * The dynamic portion of this hook, `$siteStatus`,
 * is the site's status.
 *
 * @file core/Shared/Helpers/site.php
 * @param Site $site       Site object.
 * @param bool $update     Whether this is an existing site or a new site.
 */
Action::getInstance()->doAction("save_site_{$siteStatus}", $site, $update);

cms_after_insert_site_data

/**
 * Action hook triggered after site has been saved.
 *
 * @file core/Shared/Helpers/site.php
 * @param Site $site       Site object.
 * @param bool $update     Whether this is an existing site or a new site.
 */
Action::getInstance()->doAction('cms_after_insert_site_data', $site, $update);

delete_site

/**
 * Action hook triggered before the site is deleted.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $id      Site ID.
 * @param Site   $oldSite Data object of site to be deleted.
 */
Action::getInstance()->doAction('delete_site', $siteId, $oldSite);

reassign_sites

/**
 * Sites will be reassigned before the user is deleted.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $userId  ID of user to be deleted.
 * @param array $params   User and site parameters (assign_id, role and site_id).
 */
Action::getInstance()->doAction('reassign_sites', $userId, $params);

deleted_site

/**
 * Action hook triggered after the site is deleted.
 *
 * @param string  $siteId Site ID.
 * @param Site    $site   Site object that was deleted.
 */
Action::getInstance()->doAction('deleted_site', $siteId, $site);

delete_site_user

/**
 * Action hook fires immediately before a user is deleted from the system.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $userId ID of the user to delete.
 * @param array $params  User parameters (assign_id and role).
 */
Action::getInstance()->doAction('delete_site_user', $userId, $params);

deleted_site_user

/**
 * Action hook fires immediately after a user has been deleted from the system.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $userId   ID of the user who was deleted.
 * @param array $params    User parameters (assign_id and role).
 */
Action::getInstance()->doAction('deleted_site_user', $userId, $params);

profile_update

/**
 * Fires immediately after an existing user is updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $userId    User ID.
 * @param User $oldUserData Object containing user's data prior to update.
 */
Action::getInstance()->doAction('profile_update', $userId, $oldUserData);

user_register

/**
 * Fires immediately after a new user is registered.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $userId User ID.
 */
Action::getInstance()->doAction('user_register', $userId);

password_change_email

/**
 * Fires when user is updated successfully.
 *
 * @function App\Shared\Helpers\cms_update_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param array  $user          The original user array before changes.
 * @param string $plaintextPass Plaintext password before hashing.
 * @param array  $userdata      The updated user array.
 */
Action::getInstance()->doAction('password_change_email', $user, $plaintextPass, $userdata);

email_change_email

/**
 * Fires when user is updated successfully.
 *
 * @function App\Shared\Helpers\cms_update_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param array $user     The original user array before changes.
 * @param array $userdata The updated user array.
 */
Action::getInstance()->doAction('email_change_email', $user, $userdata);