diff --git a/backend/Actions/MailPoet/RecordApiHelper.php b/backend/Actions/MailPoet/RecordApiHelper.php
index 530370f2a..d45b81920 100644
--- a/backend/Actions/MailPoet/RecordApiHelper.php
+++ b/backend/Actions/MailPoet/RecordApiHelper.php
@@ -31,14 +31,14 @@ public function __construct($integId)
static::$mailPoet_api = \MailPoet\API\API::MP('v1');
}
- public function insertRecord($subscriber, $lists, $actions)
+ public function insertRecord($subscriber, $lists, $actions, $options = [])
{
try {
// try to find if user is already a subscriber
$existingSubscriber = static::$mailPoet_api->getSubscriber($subscriber['email']);
if (!$existingSubscriber) {
- return static::addSubscriber($subscriber, $lists);
+ return static::addSubscriber($subscriber, $lists, $options);
}
if (!empty($actions->update)) {
@@ -54,19 +54,25 @@ public function insertRecord($subscriber, $lists, $actions)
// translators: %s: Plugin name
$errorMessages = wp_sprintf(__('%s is not active or not installed', 'bit-integrations'), 'Bit Integrations Pro');
} elseif (!$response['success']) {
- $errorMessages = $response('message');
+ $errorMessages = $response['message'];
}
if (isset($errorMessages)) {
- LogHandler::save($this->_integrationID, ['type' => 'record', 'type_name' => 'update'], 'error', $errorMessages);
+ return [
+ 'success' => false,
+ 'message' => $errorMessages,
+ ];
}
- }
- return static::addSubscribeToLists($existingSubscriber['id'], $lists);
+ $newLists = static::getFilteredList($lists, $existingSubscriber['subscriptions']);
+ if (!empty($newLists)) {
+ return static::addSubscribeToLists($existingSubscriber['id'], $newLists, $options);
+ }
+ }
} catch (\MailPoet\API\MP\v1\APIException $e) {
if ($e->getCode() == 4) {
// Handle the case where the subscriber doesn't exist
- return static::addSubscriber($subscriber, $lists);
+ return static::addSubscriber($subscriber, $lists, $options);
}
return [
@@ -91,7 +97,9 @@ public function execute($fieldValues, $fieldMap, $lists, $actions)
}
$fieldData = static::setFieldMap($fieldMap, $fieldValues);
- $recordApiResponse = $this->insertRecord($fieldData, $lists, $actions);
+ $options = ['send_confirmation_email' => isset($actions->send_confirmation_email)];
+
+ $recordApiResponse = $this->insertRecord($fieldData, $lists, $actions, $options);
if ($recordApiResponse['success']) {
LogHandler::save($this->_integrationID, ['type' => 'record', 'type_name' => 'insert'], 'success', $recordApiResponse);
@@ -119,14 +127,18 @@ private static function setFieldMap($fieldMap, $fieldValues)
return $fieldData;
}
- private static function addSubscriber($subscriber, $lists)
+ private static function addSubscriber($subscriber, $lists, $options = [])
{
try {
- $subscriber = static::$mailPoet_api->addSubscriber($subscriber, $lists);
+ $subscriber = static::$mailPoet_api->addSubscriber($subscriber, $lists, $options);
+
+ if (isset($subscriber['id']) && !empty($lists)) {
+ return static::addSubscribeToLists($subscriber['id'], $lists, $options);
+ }
return [
- 'success' => true,
- 'id' => $subscriber['id'],
+ 'success' => isset($subscriber['id']) ? true : false,
+ 'data' => $subscriber,
];
} catch (\MailPoet\API\MP\v1\APIException $e) {
return [
@@ -137,10 +149,10 @@ private static function addSubscriber($subscriber, $lists)
}
}
- private static function addSubscribeToLists($subscriber_id, $lists)
+ private static function addSubscribeToLists($subscriber_id, $lists, $options = [])
{
try {
- $subscriber = static::$mailPoet_api->subscribeToLists($subscriber_id, $lists);
+ $subscriber = static::$mailPoet_api->subscribeToLists($subscriber_id, $lists, $options);
return [
'success' => true,
@@ -154,4 +166,16 @@ private static function addSubscribeToLists($subscriber_id, $lists)
];
}
}
+
+ private static function getFilteredList($listIds, $subscriptions)
+ {
+ $segmentIds = array_column($subscriptions, 'segment_id');
+
+ return array_filter(
+ $listIds,
+ function ($listId) use ($segmentIds) {
+ return !\in_array($listId, $segmentIds);
+ }
+ );
+ }
}
diff --git a/backend/Actions/MailerLite/MailerLiteController.php b/backend/Actions/MailerLite/MailerLiteController.php
index 5f1f815c3..636195a1e 100644
--- a/backend/Actions/MailerLite/MailerLiteController.php
+++ b/backend/Actions/MailerLite/MailerLiteController.php
@@ -193,7 +193,6 @@ public function execute($integrationData, $fieldValues)
$integId = $integrationData->id;
$auth_token = $integrationDetails->auth_token;
$version = $integrationDetails->version;
- $groupIds = $integrationDetails->group_ids ?? '';
$fieldMap = $integrationDetails->field_map ?? '';
$type = $integrationDetails->mailer_lite_type ?? '';
$actions = $integrationDetails->actions ?? '';
@@ -208,7 +207,7 @@ public function execute($integrationData, $fieldValues)
}
$recordApiHelper = new RecordApiHelper($auth_token, $integrationDetails, $integId, $actions, $version);
$mailerliteApiResponse = $recordApiHelper->execute(
- $groupIds,
+ $integrationDetails,
$type,
$fieldValues,
$fieldMap,
diff --git a/backend/Actions/MailerLite/RecordApiHelper.php b/backend/Actions/MailerLite/RecordApiHelper.php
index d0d41fc11..0e234c852 100644
--- a/backend/Actions/MailerLite/RecordApiHelper.php
+++ b/backend/Actions/MailerLite/RecordApiHelper.php
@@ -8,8 +8,8 @@
use BitApps\Integrations\Config;
use BitApps\Integrations\Core\Util\Common;
-use BitApps\Integrations\Core\Util\HttpHelper;
use BitApps\Integrations\Core\Util\Hooks;
+use BitApps\Integrations\Core\Util\HttpHelper;
use BitApps\Integrations\Log\LogHandler;
/**
@@ -65,7 +65,10 @@ public function existSubscriber($auth_token, $email)
$response = HttpHelper::get($apiEndpoints, null, $this->_defaultHeader);
- return $response->data->id ?? false;
+ return [
+ 'id' => $response->data->id ?? null,
+ 'data' => $response->data ?? null
+ ];
}
public function enableDoubleOptIn($auth_token)
@@ -104,10 +107,8 @@ public function addSubscriber($auth_token, $groupIds, $type, $finalData)
$requestParams = self::prepareRequestParams($finalData, $type, $this->_isMailerLiteV2);
- $isExist = $this->existSubscriber($auth_token, $email);
- $response = null;
-
- if ($isExist && empty($this->_actions->update)) {
+ $existSubscriber = $this->existSubscriber($auth_token, $email);
+ if ($existSubscriber['id'] && empty($this->_actions->update)) {
return [
'success' => false,
'message' => __('Subscriber already exist', 'bit-integrations'),
@@ -121,7 +122,11 @@ public function addSubscriber($auth_token, $groupIds, $type, $finalData)
return self::sendToGroups($this, $splitGroupIds, $requestParams, $this->_isMailerLiteV2);
}
- if ($isExist) {
+ if ($existSubscriber['id']) {
+ if (isset($existSubscriber['data']->status) && 'unsubscribed' === $existSubscriber['data']->status) {
+ $requestParams['resubscribe'] = true;
+ }
+
$response = HttpHelper::post($apiEndpoint, $requestParams, $this->_defaultHeader);
$response->update = true;
@@ -149,9 +154,9 @@ public function deleteSubscriber($auth_token, $finalData, $forget = false)
];
}
- $subscriberId = $this->existSubscriber($auth_token, $finalData['email']);
+ $existSubscriber = $this->existSubscriber($auth_token, $finalData['email']);
- if (empty($subscriberId)) {
+ if (empty($existSubscriber['id'])) {
return [
'success' => false,
'message' => __('Subscriber not exist', 'bit-integrations'),
@@ -159,6 +164,8 @@ public function deleteSubscriber($auth_token, $finalData, $forget = false)
];
}
+ $subscriberId = $existSubscriber['id'];
+
$response = Hooks::apply(Config::withPrefix('mailerlite_delete_subscriber'), false, $subscriberId, $finalData, $this->_baseUrl, $this->_defaultHeader, $forget);
/**
@@ -170,6 +177,45 @@ public function deleteSubscriber($auth_token, $finalData, $forget = false)
return $response ? $response : (object) ['success' => false, 'message' => __('Bit Integrations Pro is required.', 'bit-integrations'), 'code' => 400];
}
+ public function unassignSubscriberFromGroup($auth_token, $groupId, $finalData)
+ {
+ if (!$this->_isMailerLiteV2) {
+ return [
+ 'success' => false,
+ 'message' => __('This action is not supported for Classic accounts.', 'bit-integrations'),
+ 'code' => 400
+ ];
+ }
+
+ if (empty($finalData['email'])) {
+ return [
+ 'success' => false,
+ 'message' => __('Required field Email is empty', 'bit-integrations'),
+ 'code' => 400
+ ];
+ }
+ if (empty($groupId)) {
+ return [
+ 'success' => false,
+ 'message' => __('Required field Group is empty', 'bit-integrations'),
+ 'code' => 400
+ ];
+ }
+
+ $existSubscriber = $this->existSubscriber($auth_token, $finalData['email']);
+ if (empty($existSubscriber['id'])) {
+ return [
+ 'success' => false,
+ 'message' => __('Subscriber not exist', 'bit-integrations'),
+ 'code' => 400
+ ];
+ }
+
+ $response = Hooks::apply(Config::withPrefix('mailerlite_unassign_subscriber_from_group'), false, $existSubscriber['id'], $groupId, $this->_baseUrl, $this->_defaultHeader);
+
+ return $response ? $response : (object) ['success' => false, 'message' => __('Bit Integrations Pro is required.', 'bit-integrations'), 'code' => 400];
+ }
+
public function generateReqDataFromFieldMap($data, $fieldMap)
{
$dataFinal = [];
@@ -188,7 +234,7 @@ public function generateReqDataFromFieldMap($data, $fieldMap)
}
public function execute(
- $groupId,
+ $integrationDetails,
$type,
$fieldValues,
$fieldMap,
@@ -212,7 +258,16 @@ public function execute(
break;
+ case 'unassign_subscriber_from_group':
+ $groupId = $integrationDetails->selected_group_id ?? '';
+ $apiResponse = $this->unassignSubscriberFromGroup($auth_token, $groupId, $finalData);
+ $typeName = 'unassign-subscriber-from-group';
+ $res = ['success' => true, 'message' => __('Subscriber unassigned from group successfully', 'bit-integrations'), 'code' => 200];
+
+ break;
+
default:
+ $groupId = $integrationDetails->group_ids ?? '';
$apiResponse = $this->addSubscriber($auth_token, $groupId, $type, $finalData);
$typeName = 'add-subscriber';
$res = ['success' => true, 'message' => isset($apiResponse->update) ? __('Subscriber updated successfully', 'bit-integrations') : __('Subscriber created successfully', 'bit-integrations'), 'code' => 200];
@@ -220,7 +275,7 @@ public function execute(
break;
}
- if (isset($apiResponse->data->id) || isset($apiResponse->id) || str_starts_with((string) HttpHelper::$responseCode, '20')) {
+ if (isset($apiResponse->data->id) || isset($apiResponse->id) || strpos((string) HttpHelper::$responseCode, '20') === 0) {
LogHandler::save($this->_integrationID, wp_json_encode(['type' => 'subscriber', 'type_name' => $typeName]), 'success', wp_json_encode($res));
} else {
LogHandler::save($this->_integrationID, wp_json_encode(['type' => 'subscriber', 'type_name' => $typeName]), 'error', wp_json_encode($apiResponse));
diff --git a/backend/Actions/Registration/RegistrationController.php b/backend/Actions/Registration/RegistrationController.php
index f865e5995..c13697680 100644
--- a/backend/Actions/Registration/RegistrationController.php
+++ b/backend/Actions/Registration/RegistrationController.php
@@ -87,7 +87,7 @@ private function userFieldMapping($user_map, $fieldValues, $flowDetails)
}
if (empty($fieldData['user_pass']) && $flowDetails->action_type !== 'updated_user') {
- $fieldData['user_pass'] = random_int(100000, 999999);
+ $fieldData['user_pass'] = wp_generate_password(24);
}
return $fieldData;
diff --git a/backend/Actions/SendFox/RecordApiHelper.php b/backend/Actions/SendFox/RecordApiHelper.php
index 85d72d3bc..4f632fe99 100644
--- a/backend/Actions/SendFox/RecordApiHelper.php
+++ b/backend/Actions/SendFox/RecordApiHelper.php
@@ -132,40 +132,29 @@ public function execute(
$access_token,
$integrationDetails
) {
- $fieldData = [];
if ($integrationDetails->mainAction === '1') {
- $type_name = 'Create List';
$finalData = $this->generateListReqDataFromFieldMap($fieldValues, $integrationDetails->field_map_list);
- $apiResponseList = $this->createContactList($access_token, $finalData);
-
- if (property_exists($apiResponseList, 'id')) {
- LogHandler::save($this->_integrationID, wp_json_encode(['type' => 'record', 'type_name' => $type_name]), 'success', wp_json_encode($apiResponseList));
- } else {
- LogHandler::save($this->_integrationID, wp_json_encode(['type' => 'record', 'type_name' => $type_name]), 'error', wp_json_encode($apiResponseList));
- }
+ $apiResponse = $this->createContactList($access_token, $finalData);
+ $type = 'List';
+ $event_name = 'Create List';
}
if ($integrationDetails->mainAction === '2') {
- $type_name = 'Create Contact';
$finalData = $this->generateReqDataFromFieldMap($fieldValues, $fieldMap);
$apiResponse = $this->addContact($access_token, $listId, $finalData);
- if (property_exists($apiResponse, 'errors')) {
- LogHandler::save($this->_integrationID, wp_json_encode(['type' => 'contact', 'type_name' => $type_name]), 'error', wp_json_encode($apiResponse));
- } else {
- LogHandler::save($this->_integrationID, wp_json_encode(['type' => 'record', 'type_name' => $type_name]), 'success', wp_json_encode($apiResponse));
- }
+ $type = 'Contact';
+ $event_name = 'Create Contact';
}
if ($integrationDetails->mainAction === '3') {
- $type_name = 'Unsubscribe';
$finalData = $this->generateReqUnsubscribeDataFromFieldMap($fieldValues, $integrationDetails->field_map_unsubscribe);
$apiResponse = $this->unsubscribeContact($access_token, $finalData);
- if (property_exists($apiResponse, 'id')) {
- LogHandler::save($this->_integrationID, wp_json_encode(['type' => 'contact', 'type_name' => $type_name]), 'success', wp_json_encode($apiResponse));
- } else {
- LogHandler::save($this->_integrationID, wp_json_encode(['type' => 'record', 'type_name' => $type_name]), 'error', wp_json_encode($apiResponse));
- }
+ $type = 'Contact';
+ $event_name = 'Unsubscribe Contact';
}
+ $response_type = HttpHelper::$responseCode >= 200 && HttpHelper::$responseCode < 300 ? 'success' : 'error';
+ LogHandler::save($this->_integrationID, wp_json_encode(['type' => $type, 'type_name' => $event_name]), $response_type, wp_json_encode($apiResponse));
+
return $apiResponse;
}
}
diff --git a/backend/Actions/SureCart/SureCartController.php b/backend/Actions/SureCart/SureCartController.php
index eee102ae7..c34aef239 100644
--- a/backend/Actions/SureCart/SureCartController.php
+++ b/backend/Actions/SureCart/SureCartController.php
@@ -46,9 +46,12 @@ public function checkAuthorization($tokenRequestParams)
];
$request = wp_remote_post($this->api_url . 'webhook_endpoints', $headers);
+ if (is_wp_error($request)) {
+ wp_send_json_error($request->get_error_message(), 400);
+ }
$request_body = wp_remote_retrieve_body($request);
$request_data = json_decode($request_body);
- if ($request_data->code !== 'unauthorized') {
+ if (!$request_data || $request_data->code !== 'unauthorized') {
wp_send_json_success($request_body, 200);
} else {
wp_send_json_error(
diff --git a/backend/Actions/WooCommerce/RecordApiHelper.php b/backend/Actions/WooCommerce/RecordApiHelper.php
index bdfab5fc7..34bacf78a 100644
--- a/backend/Actions/WooCommerce/RecordApiHelper.php
+++ b/backend/Actions/WooCommerce/RecordApiHelper.php
@@ -749,7 +749,19 @@ private function product_added_to_order($fieldDataLine, $module, $customer_id)
$order = wc_create_order(['customer_id' => $customer_id]);
$product = wc_get_product($product_id);
- $order->add_product($product, (int) $lineItem->quantity);
+
+ $lineArgs = [];
+ if (isset($lineItem->subtotal) && $lineItem->subtotal !== '') {
+ $lineArgs['subtotal'] = (float) $lineItem->subtotal;
+ }
+ if (isset($lineItem->total) && $lineItem->total !== '') {
+ $lineArgs['total'] = (float) $lineItem->total;
+ }
+ if (isset($lineItem->line_subtotal_tax) && $lineItem->line_subtotal_tax !== '') {
+ $lineArgs['subtotal_tax'] = (float) $lineItem->line_subtotal_tax;
+ }
+
+ $order->add_product($product, (int) $lineItem->quantity, $lineArgs);
return $order;
}
diff --git a/backend/Config.php b/backend/Config.php
index 65886814c..21095bbe1 100644
--- a/backend/Config.php
+++ b/backend/Config.php
@@ -22,7 +22,7 @@ class Config
public const VAR_PREFIX = 'bit_integrations_';
- public const VERSION = '2.8.2';
+ public const VERSION = '2.8.3';
public const DB_VERSION = '1.1';
diff --git a/backend/Triggers/Elementor/ElementorController.php b/backend/Triggers/Elementor/ElementorController.php
index 00df0beb0..599bb28aa 100644
--- a/backend/Triggers/Elementor/ElementorController.php
+++ b/backend/Triggers/Elementor/ElementorController.php
@@ -16,7 +16,7 @@ public static function info()
'title' => __('Elementor is the platform web creators choose to build professional WordPress websites, grow their skills, and build their business. Start for free today!', 'bit-integrations'),
'type' => 'custom_form_submission',
'is_active' => self::pluginActive(),
- 'documentation_url' => 'https://bitapps.pro/docs/bit-integrations/trigger/elementor-form-integrations',
+ 'documentation_url' => 'https://bit-integrations.com/wp-docs/trigger/elementor-form-integrations/',
'tutorial_url' => 'https://youtube.com/playlist?list=PL7c6CDwwm-ALGg0fZNLDIHjh1QJPcDSXp&si=HIKa9m0-yjPSXP2p',
'tasks' => [
'action' => 'elementor/get',
diff --git a/bitwpfi.php b/bitwpfi.php
index 8d50d045f..3bbda7b66 100644
--- a/bitwpfi.php
+++ b/bitwpfi.php
@@ -4,7 +4,7 @@
* Plugin Name: Bit Integrations
* Plugin URI: https://bitapps.pro/bit-integrations
* Description: Bit Integrations is a platform that integrates with over 300+ different platforms to help with various tasks on your WordPress site, like WooCommerce, Form builder, Page builder, LMS, Sales funnels, Bookings, CRM, Webhooks, Email marketing, Social media and Spreadsheets, etc
- * Version: 2.8.2
+ * Version: 2.8.3
* Author: Automation & Integration Plugin - Bit Apps
* Author URI: https://bitapps.pro
* Text Domain: bit-integrations
@@ -33,7 +33,7 @@
*
* @deprecated 2.7.8 Use Config::VERSION instead.
*/
-define('BTCBI_VERSION', '2.8.2');
+define('BTCBI_VERSION', '2.8.3');
/**
* deprecated since version 2.7.8.
*
diff --git a/frontend/src/Utils/GetLogo.jsx b/frontend/src/Utils/GetLogo.jsx
index 6b8ab0516..8aecb8f7e 100644
--- a/frontend/src/Utils/GetLogo.jsx
+++ b/frontend/src/Utils/GetLogo.jsx
@@ -1,27 +1,43 @@
-import React, { useEffect, useState } from 'react'
-import Loader from '../components/Loaders/Loader'
+import React, { memo, useEffect, useState } from 'react'
import PlaceholderIcon from '../Icons/PlaceholderIcon'
+const logoModules = import.meta.glob('../resource/img/integ/*.{png,jpg,jpeg,webp,svg}')
+
function GetLogo({ name, style, extension }) {
- /**TODO: Fix the fluentCRM name in trigger or action */
- const logo = name === 'FluentCrm' ? 'fluentCRM' : camelize(name) // Temporary solution
- const dynamicModule = import(`../resource/img/integ/${logo}.${extension}`)
- const [Component, setComponent] = useState(null)
+ const [logo, setLogo] = useState(null)
+
useEffect(() => {
- dynamicModule.then(module => {
- setComponent(() => module.default)
- })
- }, [name])
-
- const loaderStyle = {
- display: 'flex',
- height: '85%',
- justifyContent: 'center',
- alignItems: 'center'
- }
-
- return Component ? (
-
+ let isMounted = true
+ const modulePath = `../resource/img/integ/${camelize(name)}.${extension}`
+ const importer = logoModules[modulePath]
+
+ if (!importer) {
+ console.error(`Logo not found for ${name} with extension ${extension}`)
+ setLogo(null)
+ return () => {
+ isMounted = false
+ }
+ }
+
+ importer()
+ .then(module => {
+ if (isMounted) {
+ setLogo(() => module.default)
+ }
+ })
+ .catch(() => {
+ if (isMounted) {
+ setLogo(null)
+ }
+ })
+
+ return () => {
+ isMounted = false
+ }
+ }, [name, extension])
+
+ return logo ? (
+
) : (
)
@@ -35,4 +51,4 @@ function camelize(name) {
.replace(/\s+/g, '')
}
-export default GetLogo
+export default memo(GetLogo)
diff --git a/frontend/src/Utils/StaticData/tutorialLinks.js b/frontend/src/Utils/StaticData/tutorialLinks.js
index 97d2258b4..fc787d1b0 100644
--- a/frontend/src/Utils/StaticData/tutorialLinks.js
+++ b/frontend/src/Utils/StaticData/tutorialLinks.js
@@ -1,21 +1,21 @@
const tutorialLinks = {
activeCampaign: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJi9NlLdluJLhADHgyymPgf',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/activecampaign-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/activecampaign-integrations/'
},
bitForm: {
youTubeLink:
'https://www.youtube.com/watch?v=Kdu3f8wLsrk&list=PL7c6CDwwm-AIJN9QZGc3jORO9Z6Rjp0O6&pp=iAQB',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/bit-form-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/bit-form-integrations/'
},
autonami: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AKKvkYEkCSXVfslSI_92xZq&si=K1EdWwex5pVIpTy7',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/funnelkit-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/funnelkit-integrations/'
},
acumbamail: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJwT-RmvZ4iuAqhIdG9nZ2S',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/acumbamail-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/acumbamail-integrations/'
},
antsAndApps: {
youTubeLink: '',
@@ -23,29 +23,29 @@ const tutorialLinks = {
},
agiled: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKR_aHEcgno5CONC2GXgJj1',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/agiled-crm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/agiled-crm-integrations/'
},
airtable: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKVpJtCejmJnsXrKl4xWLUz',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/airtable-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/airtable-integrations/'
},
asana: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALqRZ-IfDlhwqu40W6GG6iP',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/asana-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/asana-integrations/'
},
buddyBoss: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AL1Lmj_7nU7vTQwly34ScS1&si=3OvpQ12uRwVI8W-z',
- docLink: 'https://bitapps.pro/docs/bit-integrations/trigger/buddyboss-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/trigger/buddyboss-integrations/'
},
benchMark: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIrUyTzC5KAyuEv22VDxXhU',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/benchmark-email-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/benchmark-email-integrations/'
},
constantContact: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-ALc1_UJACiwJW3D0eYZeYWK&si=ZbML8PwhZka3X3Z6',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/constant-contact-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/constant-contact-integrations/'
},
customAction: {
youTubeLink: '',
@@ -54,504 +54,504 @@ const tutorialLinks = {
customApi: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AKth-ShFWFrh0F1uWphkMud&si=RIBDhH2FtQqJKhLr',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/customapi-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/customapi-integrations/'
},
capsulecrm: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIxhH4bBmlwKKQe71b5D4Y0',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/capsule-crm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/capsule-crm-integrations/'
},
convertKit: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AITR_K9KlAnPTJeYBFcFEcy',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/convertkit-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/convertkit-integrations/'
},
clinchPad: {
youTubeLink:
'https://www.youtube.com/watch?v=O5fkHW9SucA&list=PL7c6CDwwm-AINXnJjI8oIdygKgE4U5jlg&pp=iAQB',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/clinchpad-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/clinchpad-integrations/'
},
clickup: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AKF5yTZkCfNFnA94Bd848ok&si=wJHzL784d37jp8PK',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/clickup-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/clickup-integrations/'
},
coppercrm: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIDfH9sPdxJ9vuUdWuJFx_p',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/copper-crm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/copper-crm-integrations/'
},
dropbox: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AI7DZ2EQhJCISI84iaLhz6C',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/dropbox-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/dropbox-integrations/'
},
directIq: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AI9ZIECQakOnGjj8mKggEEl',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/directiq-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/directiq-integrations/'
},
discord: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-ALnPrvN-ao1AhwEddKI4rLd&si=6s5TJENXOxRjNAyY',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/discord-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/discord-integrations/'
},
elasticEmail: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKGk8q9MzrgeZvIqoP0yrWS',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/elastic-email-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/elastic-email-integrations/'
},
encharge: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AImmtJe83OV_alDRJtl_Wm2',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/encharge-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/encharge-integrations/'
},
emailOctopus: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJ9CS13FDnTgPfbhjMG2x1O',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/emailoctopus-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/emailoctopus-integrations/'
},
fluentCrm: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJy5hZGqcKBmtxO-9TSNlmy',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/fluentcrm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/fluentcrm-integrations/'
},
fluentSupport: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AJk_-lRrBQGqA0ZdErCb6q0&si=gQTJMXX65Fkh-CMJ',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/fluent-support-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/fluent-support-integrations-as-an-action/'
},
freshdesk: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKSOvPOxvQ73003RJqjyzmq',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/freshdesk-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/freshdesk-integrations/'
},
freshSales: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJpdtINh80Pq8YQXdp0Wvsi',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/freshsales-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/freshsales-integrations/'
},
getgist: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALmJUyTlrw7KyKeWSwa0-9_',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/getgist-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/getgist-integrations/'
},
googleSheet: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKuQdXT_tF6D9xEYIF2U5EF',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/google-sheets-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/google-sheets-integrations/'
},
googleCalendar: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJ9gfbu6S8M1DCTaWWCWptu',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/google-calendar-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/google-calendar-integrations/'
},
googleDrive: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AI1G80MgmdIewYLPqsr7Bl2',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/google-drive-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/google-drive-integrations/'
},
googleContacts: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AL2YdvUmvYmjjYx4brP5t81',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/google-contacts-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/google-contacts-integrations/'
},
gamiPress: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKvoKAatg5ioOep1N77Ek2d',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/gamipress-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/gamipress-integrations/'
},
groundhogg: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AITHa6jPQ3TfYo1P0FsNkF1',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/groundhogg-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/groundhogg-integrations/'
},
getResponse: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJ-gbPXJY3k6knIjPXiLuay',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/getresponse-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/getresponse-integrations/'
},
giveWp: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJd_oKE5n438PSWLUg35I2v',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/givewp-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/givewp-integrations/'
},
hubspot: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIWk0CnBaZfO9DxZnguDBRQ',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/hubspot-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/hubspot-integrations/'
},
integratelyLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AInYjAN6svcuBDHJolbCkIZ',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/integrately-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/integrately-integrations/'
},
integromatLinks: {
youTubeLink:
'https://www.youtube.com/watch?v=jnAnGnwXuk8&list=PL7c6CDwwm-AL8HfPs26xjhzc_7ysFYrCu&pp=iAQB',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/make-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/make-integrations/'
},
iFTTT: {
youTubeLink: '',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/ifttt-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/ifttt-integrations/'
},
insightly: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AJJZikQUoBuFD6vqyBIsmyA&si=k2zhHewzRw4nW4pu',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/insightly-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/insightly-integrations/'
},
keap: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AIcGnheYoOKjXkF3LK1cLRt&si=kXhE2PE5RK1kuUky',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/keap-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/keap-integrations/'
},
klaviyo: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIH42QKENrstP5MpfIieHtz',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/klaviyo-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/klaviyo-integrations/'
},
konnectzITLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJWYHqcUzFwVsiCy_2uUxml',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/konnectzit-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/konnectzit-integrations/'
},
kirimEmail: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AJVR9cAQg2OKLSqMC2G1Wlg&si=hVGmDkrezTYULJHO',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/kirim-email-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/kirim-email-integrations/'
},
learnDash: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALIfOiZvP_7IGF8ASejyNWD',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/learndash-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/learndash-integrations/'
},
lifterLms: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJRGUfkF0prpGOOonGktABQ',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/lifterlms-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/lifterlms-integrations/'
},
mailLinks: {
youTubeLink: '',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mail-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mail-integrations/'
},
masterStudyLMS: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AIRhdvMtVF1lKcj4zD1cFHK&si=RYO0rZbA3OeZdd0w',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/masterstudy-lms-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/masterstudy-lms-integrations/'
},
mailBluster: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKizqbIH_kWIGoPaoRUmY0j',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mailbluster-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mailbluster-integrations/'
},
mailRelay: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AL4Qq3LwifB5Q0FMc9jbCBh',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mailrelay-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mailrelay-integrations/'
},
mailerLite: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKe60pZMUmlWnHQWKrx8nw8',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mailerlite-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mailerlite-integrations/'
},
mailchimp: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALUaeqiK9GwBSxVkAod1PzP',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mailchimp-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mailchimp-integrations/'
},
mailPoet: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJXbv17x7QVuO9dxddO6Z-1',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mailpoet-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mailpoet-integrations/'
},
mailjet: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKgFBwkpaM0Uah1RPpaq0LO',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mailjet-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mailjet-integrations/'
},
mautic: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIJBYngBbT4yuYwBd51yEXb',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mautic-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mautic-integrations/'
},
moosend: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALkxq7mPauOZN1aU2vIWnER',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/moosend-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/moosend-integrations/'
},
mailercloud: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIqOr2OMJT8FNh9QPVm2NQ6',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mailercloud-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mailercloud-integrations/'
},
memberpress: {
youTubeLink: '',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/memberpress-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/memberpress-integrations/'
},
mailup: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKZoTOsege0sBuR1kPqnUhI',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mailup-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mailup-integrations/'
},
mailMint: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AI0HbXNIZLj08eYGZQx4z9j',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/mail-mint-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/mail-mint-integrations/'
},
notion: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AI-HlfXA-3V-mMcJ_g8L6gl',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/notion-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/notion-integrations/'
},
n8nLinks: {
youTubeLink: '',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/n8n-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/n8n-integrations/'
},
oneDrive: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKmwv84LP85aQDa2HdM9cPc',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/onedrive-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/onedrive-integrations/'
},
omniSend: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJtfMscjcjlQWfurvh2jy2J',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/omnisend-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/omnisend-integrations/'
},
pabblyLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKWWLROSA7sPf75a4TfNKKg',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/pabbly-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/pabbly-integrations/'
},
paidMembershipPro: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJIZ020K3uZyVFDr00u-O6K',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/paid-membership-pro-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/paid-membership-pro-integrations/'
},
podLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIQn0ojE2M_eUdCXWsgLPSR',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/pods-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/pods-integrations/'
},
postCreation: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIXE9-3U0gaFuqscE32OHcz',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/post-creation-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/post-creation-integrations/'
},
pCloud: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKN8YP9ZiA2Nr2YJkPsQL8x',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/pcloud-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/pcloud-integrations/'
},
propovoiceCrm: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALypdI2_549Vquqwc5qdDUE',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/propovoice-crm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/propovoice-crm-integrations/'
},
pipeDrive: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJLGkXGJ16QyDTCr-e2bGVw',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/pipedrive-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/pipedrive-integrations/'
},
rapidmail: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIptiRzWyY65BhngKd_dqbQ',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/rapid-mail-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/rapid-mail-integrations/'
},
registration: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJq1l8SeKisLk60ewQRreg1',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/registration-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/registration-integrations/'
},
restrictContent: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJq1l8SeKisLk60ewQRreg1',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/restrict-content-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/restrict-content-integrations/'
},
salesflare: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKwi-Ux8XGZEhvhQx8cFEb6',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/salesflare-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/salesflare-integrations/'
},
salesforce: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJHfZhVPrQ4KLQMNbVNgcnv',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/salesforce-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/salesforce-integrations/'
},
sliceWp: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALhoOseAyoCeffUOwCssDeQ',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/slicewp-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/slicewp-integrations/'
},
sendinBlue: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALjCKxsaR8FfT73Qv8mDEQ6',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/brevo-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/brevo-integrations/'
},
sendy: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AINF7yrxJGD6b4kghdm6AyS',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/sendy-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/sendy-integrations/'
},
sendFox: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKhQzTDGUWR6OAVj-uN1-Ep',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/sendfox-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/sendfox-integrations/'
},
syncSpiderLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJLuqpik9F0pBPhvWlYAHpK',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/syncspider-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/syncspider-integrations/'
},
slack: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALs0FkFMv0hh5_22fawGJsb',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/slack-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/slack-integrations/'
},
selzy: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKX9kTxBGWtQ_6R36EzK68N',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/selzy-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/selzy-integrations/'
},
smaily: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKu0p4pFVuQs66fDavvyL0o',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/smaily-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/smaily-integrations/'
},
sendGrid: {
youTubeLink:
'https://www.youtube.com/watch?v=lIFhcRZX8XQ&list=PL7c6CDwwm-AI1QPJIx4YUwpQLVbTvw1KO&pp=iAQB',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/sendgrid-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/sendgrid-integrations/'
},
sureCart: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALWAM6nXMfveSjTUUxONz7Y',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/surecart-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/surecart-integrations/'
},
sendPulse: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJlUggyhxxiPMqUvxFfqzGN',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/sendpulse-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/sendpulse-integrations/'
},
telegram: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKWf-FAvcCGFqgAzroUvrX5',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/telegram-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/telegram-integrations/'
},
tutorlms: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKtLYQYbqcV6W_SYpVH9dJV',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/tutor-lms-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/tutor-lms-integrations/'
},
trello: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALwkqPjpDK9SbXzpG6xSJz4',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/trello-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/trello-integrations/'
},
twilio: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIdj2m4zjTUt6FaX8lWHeAf',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/twilio-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/twilio-integrations/'
},
vbout: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKFBZEeN02rhG3lNCiy76yn',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/vbout-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/vbout-integrations/'
},
webHooksLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AK9UTFZUC--v1aCMNms6QUr',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/web-hooks-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/web-hooks-integrations/'
},
whatsApp: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALDwFtK0cqQODIFuvy-l8d5',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/whatsapp-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/whatsapp-integrations/'
},
wooCommerce: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIjBabvB9-BmttQmFQGVd7_',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/woocommerce-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/woocommerce-integrations/'
},
wpCourseware: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALe76SC4ClrJItKDznTPUmv',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/wp-courseware-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/wp-courseware-integrations/'
},
wishlistMember: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIsdIcLNYtPXJGnTZ_UmWvT',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/wishlist-integrations/'
+ docLink: '#'
},
zapierLinks: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-ALfK6q_IEHnwcwTsl7ra04w&si=Hz8knNWJA6XhuCb2',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zapier-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zapier-integrations/'
},
zohoBigin: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALhsMoiWS1Bel1TtjIbtibB',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoho-bigin-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoho-bigin-integrations/'
},
zohoCRM: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALDlpDo9vCBjdiJDJ33Xx0z',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoho-crm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoho-crm-integrations/'
},
zohoCampaigns: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJ4eDSJRgyqAwztfgPkwuJ9',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoho-campaigns-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoho-campaigns-integrations/'
},
zohoSheet: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJVBb24m1J1z0CcKPhr1Een',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoho-sheet-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoho-sheet-integrations/'
},
zohoDesk: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIbT5j2wupZ1O3USH8gDilg',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoho-desk-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoho-desk-integrations/'
},
zohoFlowLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKT6gxT00O3YFk2GGYvQtMX',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoho-flow-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoho-flow-integrations/'
},
zohoMarketingHub: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKgaz3bG1iFFBYg2JuFpgVJ',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoho-marketing-automation-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoho-marketing-automation-integrations/'
},
zohoRecruit: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIpAJSh09abQZaSe30pwk9E',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoho-recruit-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoho-recruit-integrations/'
},
zoomMeeting: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALsihVZKhQuq5QGINgro4DB',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoom-meeting-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoom-meeting-integrations/'
},
zoomWebinar: {
youTubeLink: '',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zoom-webinar-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zoom-webinar-integrations/'
},
zendesk: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJ8stxvQkVOyDb6V5qXa1jl',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/zendesk-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/zendesk-integrations/'
},
mailify: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJjJSkugTCNWW_mfwnFK02i',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/sarbacane-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/sarbacane-integrations/'
},
lemlist: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALlqBRAtTILihQLCYtJi2X3',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/lemlist-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/lemlist-integrations/'
},
salesmate: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJehgjc-7kcMyoPLOSLDxoc',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/salesmate-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/salesmate-integrations/'
},
lionDesk: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AINznAWh8pm4ps1W3IZKEvW',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/liondesk-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/liondesk-integrations/'
},
campaignMonitor: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AI4e7TX6ynAYEB2aXsbERha',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/campaign-monitor-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/campaign-monitor-integrations/'
},
suiteDash: {
youTubeLink:
'https://www.youtube.com/watch?v=avISvvG_2jo&list=PL7c6CDwwm-AJ591_txDeKg0Uj3oyxBpPp&pp=iAQB',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/suitedash-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/suitedash-integrations/'
},
companyHub: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIEjYIb_TTxc7tdQmKiBGQY',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/companyhub-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/companyhub-integrations/'
},
demio: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALQ0v5wAXYpQe22QTz2KsKI',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/demio-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/demio-integrations/'
},
flowlu: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKSV9O2566RvZOXlbN1e_Gi',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/flowlu-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/flowlu-integrations/'
},
flowMatticLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJc8D4KWd06kDyrWJJO3RNr',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/flowmattic-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/flowmattic-integrations/'
},
automatorWP: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALcrPCvnGNIXaJT04rkSExM',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/automatorwp-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/automatorwp-integrations/'
},
uncannyAutomatorLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJ7t5vNXCfq0OFf-NnXtMZ1',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/uncanny-automator-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/uncanny-automator-integrations/'
},
thriveAutomatorLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALstSgzji6-5kfB9vClJiQp',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/thrive-automator-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/thrive-automator-integrations/'
},
wPWebhooksLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALIvVjEM3v2yfP4iQkAJZ1p',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/wp-webhooks-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/wp-webhooks-integrations/'
},
afi: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AIgxCkAnAZPWfTFGC4GUvip',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/advanced-form-integration/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/advanced-form-integration/'
},
sperse: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-ALVkDySzW0OuD5FUjO4dVcW',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/sperse-io-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/sperse-io-integrations/'
},
albato: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKaWl2mxMlCk5GmbZaGXFKZ',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/albato-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/albato-integrations/'
},
sureTriggersLinks: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJe5mkdWh-6cn6BXMyRPyXB',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/suretriggers-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/suretriggers-integrations/'
},
gravitec: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AKGDLxtmmbbbtYyHHiugYZ0',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/gravitec-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/gravitec-integrations/'
},
nimble: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AL3lpTc3L2y9Vs-I7hcSSdf',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/nimble-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/nimble-integrations/'
},
perfexCRM: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AITU5v8hwOQecdVxOzblSWp',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/perfex-crm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/perfex-crm-integrations/'
},
livestorm: {
youTubeLink: 'https://www.youtube.com/playlist?list=PL7c6CDwwm-AJ_HyGJl8MzNODTp96nWlad',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/livestorm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/livestorm-integrations/'
},
oneHashCRM: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AKEGvpfNOQRJmr1vBBXxssV&si=OFWMWkNX2y-5l90y',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/onehash-crm-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/onehash-crm-integrations/'
},
academyLms: {
youTubeLink:
@@ -560,26 +560,26 @@ const tutorialLinks = {
},
creatorLms: {
youTubeLink: '',
- docLink: 'https://bit-integrations.com/wp-docs/actions/creator-lms-integrations/'
+ docLink: '#'
},
woodpecker: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AL0mmQk0yX6u-HnqDzJeXDu&si=MdiwtkYVb0kBIjPD',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/woodpecker-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/woodpecker-integrations/'
},
moxiecrm: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AK-vKTk6K0SjzR9ciayOr87&si=AT29lKvhEvPBsBnR',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/moxie-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/moxie-integrations/'
},
wpFusionLinks: {
youTubeLink: '',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/wp-fusion-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/wp-fusion-integrations/'
},
affiliate: {
youTubeLink:
'https://youtube.com/playlist?list=PL7c6CDwwm-AKA6EP_4OMVlEHrBw5kSrQo&si=aVAvTaA0hsb4pzYU',
- docLink: 'https://bitapps.pro/docs/bit-integrations/actions/affiliatewp-integrations/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/affiliatewp-integrations/'
},
newsletter: {
youTubeLink:
@@ -657,11 +657,11 @@ const tutorialLinks = {
},
wpcafe: {
youTubeLink: '',
- docLink: 'https://bit-integrations.com/wp-docs/actions/wpcafe-integrations-as-action/'
+ docLink: 'https://bit-integrations.com/wp-docs/actions/wpcafe-integration-as-action/'
},
seoPress: {
youTubeLink: '',
- docLink: 'https://bit-integrations.com/wp-docs/actions/seopress-integrations-as-action/'
+ docLink: '#'
},
ninjaTables: {
youTubeLink: '',
diff --git a/frontend/src/components/AllIntegrations/ActiveCampaign/ActiveCampaignIntegLayout.jsx b/frontend/src/components/AllIntegrations/ActiveCampaign/ActiveCampaignIntegLayout.jsx
index a7a33474a..760faca8f 100644
--- a/frontend/src/components/AllIntegrations/ActiveCampaign/ActiveCampaignIntegLayout.jsx
+++ b/frontend/src/components/AllIntegrations/ActiveCampaign/ActiveCampaignIntegLayout.jsx
@@ -33,7 +33,6 @@ export default function ActiveCampaignIntegLayout({
setActiveCampaingConf({ ...newConf })
}
const setAccount = val => {
- console.log(val)
setActiveCampaingConf(prevConf =>
create(prevConf, draftConf => {
if (val) {
diff --git a/frontend/src/components/AllIntegrations/CopperCRM/CopperCRMAuthorization.jsx b/frontend/src/components/AllIntegrations/CopperCRM/CopperCRMAuthorization.jsx
index 0a93acfd1..5b84e2ba2 100644
--- a/frontend/src/components/AllIntegrations/CopperCRM/CopperCRMAuthorization.jsx
+++ b/frontend/src/components/AllIntegrations/CopperCRM/CopperCRMAuthorization.jsx
@@ -36,7 +36,6 @@ const nextPage = () => {
setError(rmError)
setCopperCRMConf(newConf)
}
- console.log(copperCRMConf)
const ActiveInstructions = `
${__('Get api secret key', 'bit-integrations')}
diff --git a/frontend/src/components/AllIntegrations/Discord/DiscordCommonFunc.js b/frontend/src/components/AllIntegrations/Discord/DiscordCommonFunc.js
index f3cd58514..bd115e8b1 100644
--- a/frontend/src/components/AllIntegrations/Discord/DiscordCommonFunc.js
+++ b/frontend/src/components/AllIntegrations/Discord/DiscordCommonFunc.js
@@ -50,7 +50,6 @@ export const getAllServers = (confTmp, setConf, setIsLoading) => {
}
export const getAllChannels = (confTmp, setConf, setIsLoading) => {
- console.log('confTmp', confTmp.selectedServer)
if (!confTmp.accessToken) {
setError({
accessToken: !confTmp.accessToken ? __("Access Token can't be empty", 'bit-integrations') : ''
diff --git a/frontend/src/components/AllIntegrations/EditActionHook.jsx b/frontend/src/components/AllIntegrations/EditActionHook.jsx
index f50afd45a..892246cca 100644
--- a/frontend/src/components/AllIntegrations/EditActionHook.jsx
+++ b/frontend/src/components/AllIntegrations/EditActionHook.jsx
@@ -100,7 +100,7 @@ function EditActionHook() {
stopFetching()
})
} catch (err) {
- console.log(
+ console.error(
err.name === 'AbortError' ? __('AbortError: Fetch request aborted', 'bit-integrations') : err
)
}
diff --git a/frontend/src/components/AllIntegrations/EditCustomFormSubmissionInteg.jsx b/frontend/src/components/AllIntegrations/EditCustomFormSubmissionInteg.jsx
index 92169dc61..6b37fd4a9 100644
--- a/frontend/src/components/AllIntegrations/EditCustomFormSubmissionInteg.jsx
+++ b/frontend/src/components/AllIntegrations/EditCustomFormSubmissionInteg.jsx
@@ -93,7 +93,7 @@ function EditCustomFormSubmissionInteg({ setSnackbar }) {
stopFetching()
})
} catch (err) {
- console.log(
+ console.error(
err.name === 'AbortError' ? __('AbortError: Fetch request aborted', 'bit-integrations') : err
)
}
diff --git a/frontend/src/components/AllIntegrations/EditCustomTrigger.jsx b/frontend/src/components/AllIntegrations/EditCustomTrigger.jsx
index 2e5eb040b..f25181552 100644
--- a/frontend/src/components/AllIntegrations/EditCustomTrigger.jsx
+++ b/frontend/src/components/AllIntegrations/EditCustomTrigger.jsx
@@ -160,7 +160,7 @@ function EditCustomTrigger() {
stopFetching()
})
} catch (err) {
- console.log(
+ console.error(
err.name === 'AbortError' ? __('AbortError: Fetch request aborted', 'bit-integrations') : err
)
}
diff --git a/frontend/src/components/AllIntegrations/FluentSupport/FluentSupportCommonFunc.js b/frontend/src/components/AllIntegrations/FluentSupport/FluentSupportCommonFunc.js
index c002a2f35..44bf042fd 100644
--- a/frontend/src/components/AllIntegrations/FluentSupport/FluentSupportCommonFunc.js
+++ b/frontend/src/components/AllIntegrations/FluentSupport/FluentSupportCommonFunc.js
@@ -137,7 +137,6 @@ export const getAllBusinessInboxes = (
}
export const generateMappedField = fluentSupportFields => {
- console.log(fluentSupportFields)
const requiredFlds = fluentSupportFields.filter(fld => fld.required === true)
return requiredFlds.length > 0
? requiredFlds.map(field => ({
diff --git a/frontend/src/components/AllIntegrations/Freshdesk/FreshdeskActions.jsx b/frontend/src/components/AllIntegrations/Freshdesk/FreshdeskActions.jsx
index 1b7409935..9f6c453cb 100644
--- a/frontend/src/components/AllIntegrations/Freshdesk/FreshdeskActions.jsx
+++ b/frontend/src/components/AllIntegrations/Freshdesk/FreshdeskActions.jsx
@@ -26,7 +26,6 @@ export default function FreshdeskActions({ freshdeskConf, setFreshdeskConf, form
}
}
if (type === 'source') {
- console.log(e.target?.checked)
if (e.target?.checked) {
newConf.actions.source = true
setActionMdl({ show: 'source' })
@@ -37,7 +36,6 @@ export default function FreshdeskActions({ freshdeskConf, setFreshdeskConf, form
}
}
if (type === 'group') {
- console.log(e.target?.checked)
if (e.target?.checked) {
newConf.actions.group = true
setActionMdl({ show: 'group' })
@@ -48,7 +46,6 @@ export default function FreshdeskActions({ freshdeskConf, setFreshdeskConf, form
}
}
if (type === 'product') {
- console.log(e.target?.checked)
if (e.target?.checked) {
newConf.actions.product = true
setActionMdl({ show: 'product' })
@@ -59,7 +56,6 @@ export default function FreshdeskActions({ freshdeskConf, setFreshdeskConf, form
}
}
if (type === 'agent') {
- console.log(e.target?.checked)
if (e.target?.checked) {
newConf.actions.agent = true
setActionMdl({ show: 'agent' })
diff --git a/frontend/src/components/AllIntegrations/GoogleSheet/GoogleSheetAuthorization.jsx b/frontend/src/components/AllIntegrations/GoogleSheet/GoogleSheetAuthorization.jsx
index ed69d906a..8559ef4db 100644
--- a/frontend/src/components/AllIntegrations/GoogleSheet/GoogleSheetAuthorization.jsx
+++ b/frontend/src/components/AllIntegrations/GoogleSheet/GoogleSheetAuthorization.jsx
@@ -90,7 +90,6 @@ const [authData, setAuthData] = useState([])
setstep(2)
refreshSpreadsheets(formID, sheetConf, setSheetConf, setIsLoading, setSnackbar)
}
- console.log(btcbi)
return (
{
diff --git a/frontend/src/components/AllIntegrations/IntegrationHelpers/ActionProFeatureLabels.jsx b/frontend/src/components/AllIntegrations/IntegrationHelpers/ActionProFeatureLabels.jsx
index b1168477a..8ca4adc40 100644
--- a/frontend/src/components/AllIntegrations/IntegrationHelpers/ActionProFeatureLabels.jsx
+++ b/frontend/src/components/AllIntegrations/IntegrationHelpers/ActionProFeatureLabels.jsx
@@ -14,22 +14,22 @@ const ProFeatureTitle = ({ title }) => {
)
}
-const ProFeatureSubtitle = ({ title, subtitle, proVersion }) => {
+const ProFeatureSubtitle = ({ title, subTitle, proVersion }) => {
const btcbi = useRecoilValue($appConfigState)
const { isPro } = btcbi
return (
{isPro
- ? subtitle
+ ? subTitle
: sprintf(
- __(
- 'The Bit Integrations Pro v(%s) plugin needs to be installed and activated to enable the %s feature',
- 'bit-integrations'
- ),
- proVersion,
- title
- )}
+ __(
+ 'The Bit Integrations Pro v(%s) plugin needs to be installed and activated to enable the %s feature',
+ 'bit-integrations'
+ ),
+ proVersion,
+ title
+ )}
)
}
diff --git a/frontend/src/components/AllIntegrations/IntegrationHelpers/IntegrationHelpers.js b/frontend/src/components/AllIntegrations/IntegrationHelpers/IntegrationHelpers.js
index 923239949..a507f5653 100644
--- a/frontend/src/components/AllIntegrations/IntegrationHelpers/IntegrationHelpers.js
+++ b/frontend/src/components/AllIntegrations/IntegrationHelpers/IntegrationHelpers.js
@@ -190,16 +190,18 @@ export const saveIntegConfig = async (
) {
const dataFlow = edit ? flow?.flow_details : flow?.triggerData
tmpConf = actionHookStateIH(dataFlow, tmpConf)
- } else if (
+ } else if (flow.triggered_entity === 'CustomTrigger') {
+ const dataFlow = edit ? flow?.flow_details : flow?.triggerData
+ tmpConf = customTriggerStateIH(dataFlow, tmpConf)
+ }
+
+ if (
flow?.triggerData?.trigger_type === 'custom_form_submission' ||
flow?.flow_details?.trigger_type === 'custom_form_submission'
) {
const dataFlow = edit ? flow?.flow_details : flow?.triggerData
tmpConf = CFSStateIH(dataFlow, tmpConf)
- } else if (flow.triggered_entity === 'CustomTrigger') {
- const dataFlow = edit ? flow?.flow_details : flow?.triggerData
- tmpConf = customTriggerStateIH(dataFlow, tmpConf)
- }
+ }
if (isPro && !freeTriggers.includes(flow.triggered_entity)) {
tmpConf['pro_integ_v'] = version
@@ -381,16 +383,18 @@ export const saveActionConf = async ({
) {
const dataFlow = edit ? flow?.flow_details : flow?.triggerData
tmpConf = actionHookStateIH(dataFlow, tmpConf)
- } else if (
+ } else if (flow.triggered_entity === 'CustomTrigger') {
+ const dataFlow = edit ? flow?.flow_details : flow?.triggerData
+ tmpConf = customTriggerStateIH(dataFlow, tmpConf)
+ }
+
+ if (
flow?.triggerData?.trigger_type === 'custom_form_submission' ||
flow?.flow_details?.trigger_type === 'custom_form_submission'
) {
const dataFlow = edit ? flow?.flow_details : flow?.triggerData
tmpConf = CFSStateIH(dataFlow, tmpConf)
- } else if (flow.triggered_entity === 'CustomTrigger') {
- const dataFlow = edit ? flow?.flow_details : flow?.triggerData
- tmpConf = customTriggerStateIH(dataFlow, tmpConf)
- }
+ }
if (isPro && !freeTriggers.includes(flow.triggered_entity)) {
tmpConf['pro_integ_v'] = version
diff --git a/frontend/src/components/AllIntegrations/Klaviyo/KlaviyoActions.jsx b/frontend/src/components/AllIntegrations/Klaviyo/KlaviyoActions.jsx
index 3f7cbbd42..b636f68ba 100644
--- a/frontend/src/components/AllIntegrations/Klaviyo/KlaviyoActions.jsx
+++ b/frontend/src/components/AllIntegrations/Klaviyo/KlaviyoActions.jsx
@@ -34,7 +34,7 @@ export default function KlaviyoActions({ klaviyoConf, setKlaviyoConf, loading, s
subTitle={
{
const newConf = { ...mailPoetConf }
- if (type === 'update') {
- if (e.target.checked) {
- newConf.actions.update = true
- } else {
- delete newConf.actions.update
- }
+ if (e.target.checked) {
+ newConf.actions[type] = true
+ } else {
+ delete newConf.actions[type]
}
+
setMailPoetConf({ ...newConf })
}
@@ -42,6 +41,18 @@ export default function MailPoetActions({ mailPoetConf, setMailPoetConf }) {
/>
}
/>
+ actionHandler(e, 'send_confirmation_email')}
+ className="wdt-200 mt-4 mr-2"
+ value="user_share"
+ isInfo={!isPro}
+ title={__('Send Confirmation Email', 'bit-integrations')}
+ subTitle={__(
+ 'Can be used to disable a confirmation email. Otherwise, a confirmation email is sent as described above. It is strongly recommended to keep this option set to checked so that MailPoet settings for sign-up confirmation are respected. Turning it to unchecked might lead that subscriber to be added as unconfirmed.',
+ 'bit-integrations'
+ )}
+ />
)
}
diff --git a/frontend/src/components/AllIntegrations/MailerLite/EditMailerLite.jsx b/frontend/src/components/AllIntegrations/MailerLite/EditMailerLite.jsx
index 1a981a6d8..1c04745f1 100644
--- a/frontend/src/components/AllIntegrations/MailerLite/EditMailerLite.jsx
+++ b/frontend/src/components/AllIntegrations/MailerLite/EditMailerLite.jsx
@@ -36,6 +36,12 @@ function EditMailerLite({ allIntegURL }) {
setSnackbar({ show: true, msg: __('Please map mandatory fields', 'bit-integrations') })
return
}
+
+ if (mailerLiteConf?.action === 'unassign_subscriber_from_group' && !mailerLiteConf?.selected_group_id) {
+ setSnackbar({ show: true, msg: __('Please select a group', 'bit-integrations') })
+ return
+ }
+
saveActionConf({
flow,
allIntegURL,
diff --git a/frontend/src/components/AllIntegrations/MailerLite/MailerLite.jsx b/frontend/src/components/AllIntegrations/MailerLite/MailerLite.jsx
index 367f00ac4..fbd84344a 100644
--- a/frontend/src/components/AllIntegrations/MailerLite/MailerLite.jsx
+++ b/frontend/src/components/AllIntegrations/MailerLite/MailerLite.jsx
@@ -40,6 +40,11 @@ function MailerLite({ formFields, setFlow, flow, allIntegURL }) {
})
const saveConfig = () => {
+ if (mailerLiteConf?.action === 'unassign_subscriber_from_group' && !mailerLiteConf?.selected_group_id) {
+ toast.error(__('Please select a group', 'bit-integrations'))
+ return
+ }
+
setIsLoading(true)
const resp = saveIntegConfig(
flow,
@@ -69,6 +74,10 @@ function MailerLite({ formFields, setFlow, flow, allIntegURL }) {
toast.error(__('Please map mandatory fields', 'bit-integrations'))
return
}
+ if (mailerLiteConf?.action === 'unassign_subscriber_from_group' && !mailerLiteConf?.selected_group_id) {
+ toast.error(__('Please select a group', 'bit-integrations'))
+ return
+ }
mailerLiteConf.field_map.length > 0 && setstep(pageNo)
}
@@ -108,7 +117,10 @@ function MailerLite({ formFields, setFlow, flow, allIntegURL }) {
{mailerLiteConf?.action && (