diff --git a/apps/builder/assets/logos/PabblyConnectLogo.tsx b/apps/builder/assets/logos/PabblyConnectLogo.tsx
new file mode 100644
index 00000000000..12228f5527a
--- /dev/null
+++ b/apps/builder/assets/logos/PabblyConnectLogo.tsx
@@ -0,0 +1,27 @@
+import { Icon, IconProps } from '@chakra-ui/react'
+
+export const PabblyConnectLogo = (props: IconProps) => (
+
+
+
+
+
+
+
+
+
+)
diff --git a/apps/builder/assets/logos/index.tsx b/apps/builder/assets/logos/index.tsx
index b1bc69e3b4d..e582658dd6e 100644
--- a/apps/builder/assets/logos/index.tsx
+++ b/apps/builder/assets/logos/index.tsx
@@ -16,3 +16,4 @@ export * from './GoogleLogo'
export * from './FacebookLogo'
export * from './ZapierLogo'
export * from './MakeComLogo'
+export * from './PabblyConnectLogo'
diff --git a/apps/builder/components/editor/StepsSideBar/StepIcon.tsx b/apps/builder/components/editor/StepsSideBar/StepIcon.tsx
index 9ece6b859f7..351e5078265 100644
--- a/apps/builder/components/editor/StepsSideBar/StepIcon.tsx
+++ b/apps/builder/components/editor/StepsSideBar/StepIcon.tsx
@@ -24,6 +24,7 @@ import {
GoogleAnalyticsLogo,
GoogleSheetsLogo,
MakeComLogo,
+ PabblyConnectLogo,
ZapierLogo,
} from 'assets/logos'
import {
@@ -81,6 +82,8 @@ export const StepIcon = ({ type, ...props }: StepIconProps) => {
return
case IntegrationStepType.MAKE_COM:
return
+ case IntegrationStepType.PABBLY_CONNECT:
+ return
case IntegrationStepType.EMAIL:
return
case 'start':
diff --git a/apps/builder/components/editor/StepsSideBar/StepTypeLabel.tsx b/apps/builder/components/editor/StepsSideBar/StepTypeLabel.tsx
index 027d4aac52c..414408b2594 100644
--- a/apps/builder/components/editor/StepsSideBar/StepTypeLabel.tsx
+++ b/apps/builder/components/editor/StepsSideBar/StepTypeLabel.tsx
@@ -73,6 +73,8 @@ export const StepTypeLabel = ({ type }: Props) => {
return Zapier
case IntegrationStepType.MAKE_COM:
return Make.com
+ case IntegrationStepType.PABBLY_CONNECT:
+ return Pabbly
case IntegrationStepType.EMAIL:
return Email
default:
diff --git a/apps/builder/components/shared/Graph/Nodes/StepNode/SettingsPopoverContent/SettingsPopoverContent.tsx b/apps/builder/components/shared/Graph/Nodes/StepNode/SettingsPopoverContent/SettingsPopoverContent.tsx
index bd4d726bfca..b55bf42da8b 100644
--- a/apps/builder/components/shared/Graph/Nodes/StepNode/SettingsPopoverContent/SettingsPopoverContent.tsx
+++ b/apps/builder/components/shared/Graph/Nodes/StepNode/SettingsPopoverContent/SettingsPopoverContent.tsx
@@ -224,6 +224,18 @@ export const StepSettings = ({
/>
)
}
+ case IntegrationStepType.PABBLY_CONNECT: {
+ return (
+
+ )
+ }
case IntegrationStepType.WEBHOOK: {
return (
diff --git a/apps/builder/components/shared/Graph/Nodes/StepNode/SettingsPopoverContent/bodies/WebhookSettings/WebhookSettings.tsx b/apps/builder/components/shared/Graph/Nodes/StepNode/SettingsPopoverContent/bodies/WebhookSettings/WebhookSettings.tsx
index e8346878c99..87ed696096f 100644
--- a/apps/builder/components/shared/Graph/Nodes/StepNode/SettingsPopoverContent/bodies/WebhookSettings/WebhookSettings.tsx
+++ b/apps/builder/components/shared/Graph/Nodes/StepNode/SettingsPopoverContent/bodies/WebhookSettings/WebhookSettings.tsx
@@ -27,6 +27,7 @@ import {
defaultWebhookAttributes,
Webhook,
MakeComStep,
+ PabblyConnectStep,
} from 'models'
import { DropdownList } from 'components/shared/DropdownList'
import { TableList, TableListItemProps } from 'components/shared/TableList'
@@ -44,11 +45,11 @@ import { SwitchWithLabel } from 'components/shared/SwitchWithLabel'
import { ExternalLinkIcon } from 'assets/icons'
type Provider = {
- name: 'Make.com'
+ name: 'Make.com' | 'Pabbly Connect'
url: string
}
type Props = {
- step: WebhookStep | MakeComStep
+ step: WebhookStep | MakeComStep | PabblyConnectStep
onOptionsChange: (options: WebhookOptions) => void
provider?: Provider
}
diff --git a/apps/builder/components/shared/Graph/Nodes/StepNode/StepNodeContent/StepNodeContent.tsx b/apps/builder/components/shared/Graph/Nodes/StepNode/StepNodeContent/StepNodeContent.tsx
index 68035a70546..ef97d4a9174 100644
--- a/apps/builder/components/shared/Graph/Nodes/StepNode/StepNodeContent/StepNodeContent.tsx
+++ b/apps/builder/components/shared/Graph/Nodes/StepNode/StepNodeContent/StepNodeContent.tsx
@@ -125,6 +125,7 @@ export const StepNodeContent = ({ step, indices }: Props) => {
)
}
+ case IntegrationStepType.PABBLY_CONNECT:
case IntegrationStepType.MAKE_COM: {
return (
{
case IntegrationStepType.GOOGLE_ANALYTICS:
return defaultGoogleAnalyticsOptions
case IntegrationStepType.ZAPIER:
+ case IntegrationStepType.PABBLY_CONNECT:
case IntegrationStepType.MAKE_COM:
case IntegrationStepType.WEBHOOK:
return defaultWebhookOptions
diff --git a/packages/bot-engine/src/services/integration.ts b/packages/bot-engine/src/services/integration.ts
index fc6fe187945..ee0bdfdb389 100644
--- a/packages/bot-engine/src/services/integration.ts
+++ b/packages/bot-engine/src/services/integration.ts
@@ -17,6 +17,7 @@ import {
Block,
VariableWithValue,
MakeComStep,
+ PabblyConnectStep,
} from 'models'
import { stringify } from 'qs'
import { byId, sendRequest } from 'utils'
@@ -51,6 +52,7 @@ export const executeIntegration = ({
return executeGoogleAnalyticsIntegration(step, context)
case IntegrationStepType.ZAPIER:
case IntegrationStepType.MAKE_COM:
+ case IntegrationStepType.PABBLY_CONNECT:
case IntegrationStepType.WEBHOOK:
return executeWebhook(step, context)
case IntegrationStepType.EMAIL:
@@ -209,7 +211,7 @@ const parseCellValues = (
}, {})
const executeWebhook = async (
- step: WebhookStep | ZapierStep | MakeComStep,
+ step: WebhookStep | ZapierStep | MakeComStep | PabblyConnectStep,
{
blockId,
stepId,
diff --git a/packages/models/src/typebot/steps/integration.ts b/packages/models/src/typebot/steps/integration.ts
index ab258c7b171..6fcf51a6e7f 100644
--- a/packages/models/src/typebot/steps/integration.ts
+++ b/packages/models/src/typebot/steps/integration.ts
@@ -7,6 +7,7 @@ export type IntegrationStep =
| SendEmailStep
| ZapierStep
| MakeComStep
+ | PabblyConnectStep
export type IntegrationStepOptions =
| GoogleSheetsOptions
@@ -21,6 +22,7 @@ export enum IntegrationStepType {
EMAIL = 'Email',
ZAPIER = 'Zapier',
MAKE_COM = 'Make.com',
+ PABBLY_CONNECT = 'Pabbly',
}
export type GoogleSheetsStep = StepBase & {
@@ -47,6 +49,10 @@ export type MakeComStep = Omit & {
type: IntegrationStepType.MAKE_COM
}
+export type PabblyConnectStep = Omit & {
+ type: IntegrationStepType.PABBLY_CONNECT
+}
+
export type SendEmailStep = StepBase & {
type: IntegrationStepType.EMAIL
options: SendEmailOptions
diff --git a/packages/utils/src/utils.ts b/packages/utils/src/utils.ts
index 9a4673e183b..670a0e92341 100644
--- a/packages/utils/src/utils.ts
+++ b/packages/utils/src/utils.ts
@@ -116,6 +116,7 @@ export const stepTypeHasWebhook = (
IntegrationStepType.WEBHOOK,
IntegrationStepType.ZAPIER,
IntegrationStepType.MAKE_COM,
+ IntegrationStepType.PABBLY_CONNECT,
] as string[]).includes(type)
export const stepTypeHasItems = (