2
0

Add Segment block (#1672)

Added support for Twilio Segment

New Segment Block added to Forge. Includes the following:
- Credentials
- Identify User, including Traits
- Alias User
- Track Event, including Properties
- Track Bot View ( Page ), including Properties
- Generate UUID for User IDs

Tested integration with Segment, verified working. Uses Segment's NodeJS
analytics library to support non-browser based platforms, such as
WhatsApp

---------

Co-authored-by: John Walsh <john@famkit.com>
Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com>
This commit is contained in:
John Walsh
2024-08-16 11:23:23 -04:00
committed by GitHub
parent d197cf9b4d
commit 29ab812512
18 changed files with 4382 additions and 3023 deletions

View File

@@ -13,4 +13,5 @@ export const forgedBlockIds = [
'together-ai',
'open-router',
'nocodb',
'segment',
] as const satisfies ForgedBlock['type'][]

View File

@@ -16,6 +16,8 @@ import { togetherAiBlock } from '@typebot.io/together-ai-block'
import { togetherAiCredentialsSchema } from '@typebot.io/together-ai-block/schemas'
import { nocodbBlock } from '@typebot.io/nocodb-block'
import { nocodbCredentialsSchema } from '@typebot.io/nocodb-block/schemas'
import { segmentBlock } from '@typebot.io/segment-block'
import { segmentCredentialsSchema } from '@typebot.io/segment-block/schemas'
export const forgedCredentialsSchemas = {
[openAIBlock.id]: openAICredentialsSchema,
@@ -27,4 +29,5 @@ export const forgedCredentialsSchemas = {
[togetherAiBlock.id]: togetherAiCredentialsSchema,
[openRouterBlock.id]: openRouterCredentialsSchema,
[nocodbBlock.id]: nocodbCredentialsSchema,
[segmentBlock.id]: segmentCredentialsSchema,
}

View File

@@ -10,6 +10,7 @@ import { chatNodeBlock } from '@typebot.io/chat-node-block'
import { calComBlock } from '@typebot.io/cal-com-block'
import { openAIBlock } from '@typebot.io/openai-block'
import { nocodbBlock } from '@typebot.io/nocodb-block'
import { segmentBlock } from '@typebot.io/segment-block'
export const forgedBlocks = {
[openAIBlock.id]: openAIBlock,
@@ -23,4 +24,5 @@ export const forgedBlocks = {
[togetherAiBlock.id]: togetherAiBlock,
[openRouterBlock.id]: openRouterBlock,
[nocodbBlock.id]: nocodbBlock,
[segmentBlock.id]: segmentBlock,
}

View File

@@ -17,6 +17,7 @@
"@typebot.io/anthropic-block": "workspace:*",
"@typebot.io/together-ai-block": "workspace:*",
"@typebot.io/open-router-block": "workspace:*",
"@typebot.io/nocodb-block": "workspace:*"
"@typebot.io/nocodb-block": "workspace:*",
"@typebot.io/segment-block": "workspace:*"
}
}

View File

@@ -21,6 +21,8 @@ import { togetherAiBlock } from '@typebot.io/together-ai-block'
import { togetherAiBlockSchema } from '@typebot.io/together-ai-block/schemas'
import { nocodbBlock } from '@typebot.io/nocodb-block'
import { nocodbBlockSchema } from '@typebot.io/nocodb-block/schemas'
import { segmentBlock } from '@typebot.io/segment-block'
import { segmentBlockSchema } from '@typebot.io/segment-block/schemas'
export const forgedBlockSchemas = {
[openAIBlock.id]: openAIBlockSchema,
@@ -34,4 +36,5 @@ export const forgedBlockSchemas = {
[togetherAiBlock.id]: togetherAiBlockSchema,
[openRouterBlock.id]: openRouterBlockSchema,
[nocodbBlock.id]: nocodbBlockSchema,
[segmentBlock.id]: segmentBlockSchema,
}