Skip to content

NotificationX Integration added#139

Merged
RishadAlam merged 9 commits intomainfrom
feat/notificationx
Mar 16, 2026
Merged

NotificationX Integration added#139
RishadAlam merged 9 commits intomainfrom
feat/notificationx

Conversation

@RishadAlam
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings March 16, 2026 04:38
@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the platform's integration capabilities by adding full support for NotificationX. Users can now seamlessly connect their data flows to NotificationX, automating the creation of sales notifications, customer reviews, and email subscriptions, as well as enabling programmatic control over NotificationX entries. This enhancement provides greater flexibility and automation for user engagement and marketing efforts within WordPress.

Highlights

  • New Integration: Introduced a new integration for NotificationX, enabling automated actions based on form submissions.
  • Backend Functionality: Added backend logic to handle NotificationX authorization, retrieve notifications by source, and execute various actions such as adding sales notifications, reviews, email subscriptions, and managing notification entries.
  • Frontend Components: Developed comprehensive frontend components for configuring and managing NotificationX integrations, including authorization, field mapping, and action selection.
  • System Integration: Integrated NotificationX into the application's trigger and action selection mechanisms.
Changelog
  • backend/Actions/NotificationX/NotificationXController.php
    • Added a new controller to manage NotificationX integration, including authorization, fetching notifications by source, and executing integration actions.
  • backend/Actions/NotificationX/RecordApiHelper.php
    • Added a new helper class to facilitate various NotificationX API operations, such as adding sales notifications, reviews, email subscriptions, and managing notification entries.
  • backend/Actions/NotificationX/Routes.php
    • Added new API routes for NotificationX authorization and retrieving notifications by source.
  • backend/Core/Util/AllTriggersName.php
    • Updated the list of available triggers to include NotificationX.
  • frontend/src/Utils/StaticData/webhookIntegrations.js
    • Added NotificationX to the list of custom form integrations.
  • frontend/src/components/AllIntegrations/EditInteg.jsx
    • Updated to lazily load and render the EditNotificationX component for editing existing integrations.
  • frontend/src/components/AllIntegrations/IntegInfo.jsx
    • Updated to lazily load and render the NotificationXAuthorization component for displaying integration information.
  • frontend/src/components/AllIntegrations/NewInteg.jsx
    • Updated to lazily load and render the NotificationX component for creating new integrations.
  • frontend/src/components/AllIntegrations/NotificationX/EditNotificationX.jsx
    • Added a new React component for editing NotificationX integration configurations.
  • frontend/src/components/AllIntegrations/NotificationX/NotificationX.jsx
    • Added a new React component for setting up new NotificationX integrations.
  • frontend/src/components/AllIntegrations/NotificationX/NotificationXAuthorization.jsx
    • Added a new React component to handle the authorization process for NotificationX.
  • frontend/src/components/AllIntegrations/NotificationX/NotificationXCommonFunc.js
    • Added utility functions for NotificationX, including input handling, field mapping, authorization, and refreshing notification lists.
  • frontend/src/components/AllIntegrations/NotificationX/NotificationXEntryFieldMap.jsx
    • Added a new React component for mapping custom entry fields for NotificationX actions.
  • frontend/src/components/AllIntegrations/NotificationX/NotificationXFieldMap.jsx
    • Added a new React component for mapping form fields to NotificationX fields.
  • frontend/src/components/AllIntegrations/NotificationX/NotificationXIntegLayout.jsx
    • Added a new React component providing the main layout for NotificationX integration settings, including action selection and field mapping.
  • frontend/src/components/AllIntegrations/NotificationX/staticData.js
    • Added static data defining NotificationX modules, field structures for various actions (sales, reviews, email subscriptions), and action sources.
  • frontend/src/components/Flow/New/SelectAction.jsx
    • Updated the list of available actions to include NotificationX for new integration flows.
Activity
  • No specific activity has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new integration for NotificationX. The implementation is comprehensive, covering both backend and frontend aspects. The backend code correctly handles authorization, data fetching, and execution of different actions via hooks. The frontend provides a clear, multi-step UI for configuring the integration. I've identified a few areas for improvement, mainly related to code duplication and consistency, which will enhance maintainability. Please see my detailed comments below.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new NotificationX action integration across the frontend flow builder and backend action handlers, enabling users to configure NotificationX actions and fetch available NotificationX notifications by source.

Changes:

  • Adds NotificationX to action selection and integration routing (new, edit, info views).
  • Introduces a full NotificationX frontend integration UI (authorization, action selection, field mapping, entry mapping).
  • Adds backend AJAX routes and execution helpers/controller for NotificationX actions (including “get notifications by source”).

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
frontend/src/resource/img/integ/notificationX.webp Adds NotificationX logo asset for integration cards.
frontend/src/components/Flow/New/SelectAction.jsx Adds NotificationX to the “Select Action” list and adjusts className formatting.
frontend/src/components/AllIntegrations/NotificationX/staticData.js Defines NotificationX actions/modules and field definitions used by the UI.
frontend/src/components/AllIntegrations/NotificationX/NotificationXIntegLayout.jsx Implements the main NotificationX action selection + mapping UI.
frontend/src/components/AllIntegrations/NotificationX/NotificationXFieldMap.jsx Field-mapping row component for NotificationX fields.
frontend/src/components/AllIntegrations/NotificationX/NotificationXEntryFieldMap.jsx Entry-data mapping row component for “add_notification_entry”.
frontend/src/components/AllIntegrations/NotificationX/NotificationXCommonFunc.js Shared helpers: config input handling, mapping validation, refresh notifications, authorize.
frontend/src/components/AllIntegrations/NotificationX/NotificationXAuthorization.jsx Step-1 authorization UI for NotificationX integration.
frontend/src/components/AllIntegrations/NotificationX/NotificationX.jsx New integration flow wrapper (3-step) for NotificationX.
frontend/src/components/AllIntegrations/NotificationX/EditNotificationX.jsx Edit screen for existing NotificationX integration configs.
frontend/src/components/AllIntegrations/NewInteg.jsx Registers NotificationX in the “new integration” switch and lazy import list.
frontend/src/components/AllIntegrations/IntegInfo.jsx Adds NotificationX authorization/info rendering to integration info page.
frontend/src/components/AllIntegrations/EditInteg.jsx Registers NotificationX in the “edit integration” switch and lazy import list.
frontend/src/Utils/StaticData/webhookIntegrations.js Adds NotificationX to customFormIntegrations list.
backend/Core/Util/AllTriggersName.php Adds NotificationX to the pro trigger name registry.
backend/Actions/NotificationX/Routes.php Registers NotificationX AJAX routes (authorize, fetch notifications by source).
backend/Actions/NotificationX/RecordApiHelper.php Implements execution payload building + hook dispatching + logging for NotificationX actions.
backend/Actions/NotificationX/NotificationXController.php Implements NotificationX AJAX endpoints + action execution entrypoint.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

abdul-kaioum
abdul-kaioum previously approved these changes Mar 16, 2026
Copilot AI review requested due to automatic review settings March 16, 2026 09:40
@RishadAlam RishadAlam merged commit 7b5d878 into main Mar 16, 2026
3 of 4 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new NotificationX integration to the Bit Integrations codebase, wiring up both the frontend configuration UI and backend AJAX endpoints / execution helpers needed to run NotificationX actions.

Changes:

  • Added a new NotificationX integration UI (authorization, action selection, field mapping, and edit flow) and integration registration in the frontend.
  • Added backend NotificationX routes/controller for authorization + fetching NotificationX notifications by source.
  • Added backend execution helper to dispatch NotificationX actions via Pro hooks and log results, plus added the integration to internal registries and assets.

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
frontend/src/resource/img/integ/notificationX.webp Adds NotificationX logo asset for UI.
frontend/src/components/Flow/New/SelectAction.jsx Adds NotificationX to the “select action” list.
frontend/src/components/AllIntegrations/NotificationX/staticData.js Defines NotificationX actions and mappable fields.
frontend/src/components/AllIntegrations/NotificationX/NotificationXIntegLayout.jsx Action selection + notification selection + mapping UI.
frontend/src/components/AllIntegrations/NotificationX/NotificationXFieldMap.jsx Field mapping row component for NotificationX.
frontend/src/components/AllIntegrations/NotificationX/NotificationXEntryFieldMap.jsx Entry data mapping rows for “add_notification_entry”.
frontend/src/components/AllIntegrations/NotificationX/NotificationXCommonFunc.js Shared helpers (mapping validation + fetch notifications + auth).
frontend/src/components/AllIntegrations/NotificationX/NotificationXAuthorization.jsx Step 1 authorization/name UI.
frontend/src/components/AllIntegrations/NotificationX/NotificationX.jsx New integration create flow (3-step UI + validations).
frontend/src/components/AllIntegrations/NotificationX/EditNotificationX.jsx Edit flow for existing NotificationX configs.
frontend/src/components/AllIntegrations/NewInteg.jsx Registers NotificationX in new integration routing.
frontend/src/components/AllIntegrations/IntegInfo.jsx Shows NotificationX authorization info in integration info view.
frontend/src/components/AllIntegrations/EditInteg.jsx Registers NotificationX in edit integration routing.
frontend/src/Utils/StaticData/webhookIntegrations.js Adds NotificationX to customFormIntegrations list.
backend/Core/Util/AllTriggersName.php Registers NotificationX in backend integration list.
backend/Actions/NotificationX/Routes.php Adds AJAX routes for NotificationX authorize + notification list fetch.
backend/Actions/NotificationX/RecordApiHelper.php Executes NotificationX actions via Pro hooks and logs results.
backend/Actions/NotificationX/NotificationXController.php Implements authorize + notification fetch + execute entrypoint.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

$sources = [
'add_sales_notification' => 'bitintegrations_conversions',
'add_reviews' => 'bitintegrations_reviews',
'add_email_subscription' => 'bitintegration_email_subscription',
Comment on lines +77 to +89
$response = Hooks::apply(Config::withPrefix('notificationx_delete_notification'), $defaultResponse, $fieldData['notification_id'] ?? '');
$actionType = 'delete_notification';

break;

case 'enable_notification':
$response = Hooks::apply(Config::withPrefix('notificationx_enable_notification'), $defaultResponse, $fieldData['notification_id'] ?? '');
$actionType = 'enable_notification';

break;

case 'disable_notification':
$response = Hooks::apply(Config::withPrefix('notificationx_disable_notification'), $defaultResponse, $fieldData['notification_id'] ?? '');
Comment on lines +6 to +9
const newConf = create(notificationXConf, draftConf => {
draftConf[e.target.name] = e.target.value
})
setNotificationXConf(newConf)
Comment on lines +52 to +68
<IntegrationStepThree
edit
saveConfig={() =>
saveActionConf({
flow,
setFlow,
allIntegURL,
conf: notificationXConf,
navigate,
id,
edit: 1,
setIsLoading,
setSnackbar,
})
}
disabled={!checkMappedFields(notificationXConf)}
isLoading={isLoading}
@RishadAlam RishadAlam deleted the feat/notificationx branch March 17, 2026 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants