2
0
Files
bot/packages/bot-engine/blocks/integrations/pixel/executePixelBlock.ts
Baptiste Arnaud 5e019bbb22 Introducing The Forge (#1072)
The Forge allows anyone to easily create their own Typebot Block.

Closes #380
2023-12-13 10:22:02 +01:00

33 lines
865 B
TypeScript

import { PixelBlock, SessionState } from '@typebot.io/schemas'
import { ExecuteIntegrationResponse } from '../../../types'
import { deepParseVariables } from '@typebot.io/variables/deepParseVariables'
export const executePixelBlock = (
state: SessionState,
block: PixelBlock
): ExecuteIntegrationResponse => {
const { typebot, resultId } = state.typebotsQueue[0]
if (
!resultId ||
!block.options?.pixelId ||
!block.options.eventType ||
state.whatsApp
)
return { outgoingEdgeId: block.outgoingEdgeId }
const pixel = deepParseVariables(typebot.variables, {
guessCorrectTypes: true,
removeEmptyStrings: true,
})(block.options)
return {
outgoingEdgeId: block.outgoingEdgeId,
clientSideActions: [
{
pixel: {
...pixel,
pixelId: block.options.pixelId,
},
},
],
}
}