📈 Track custom domain and WA enabled events
This commit is contained in:
@ -14,6 +14,7 @@ import {
|
||||
} from '@typebot.io/schemas'
|
||||
import { isDefined } from '@typebot.io/lib/utils'
|
||||
import { isWriteWorkspaceForbidden } from '@/features/workspace/helpers/isWriteWorkspaceForbidden'
|
||||
import { trackEvents } from '@typebot.io/lib/telemetry/trackEvents'
|
||||
|
||||
const inputShape = {
|
||||
data: true,
|
||||
@ -77,6 +78,14 @@ export const createCredentials = authenticatedProcedure
|
||||
id: true,
|
||||
},
|
||||
})
|
||||
if (credentials.type === 'whatsApp')
|
||||
await trackEvents([
|
||||
{
|
||||
workspaceId: workspace.id,
|
||||
userId: user.id,
|
||||
name: 'WhatsApp credentials created',
|
||||
},
|
||||
])
|
||||
return { credentialsId: createdCredentials.id }
|
||||
})
|
||||
|
||||
|
@ -6,6 +6,7 @@ import { customDomainSchema } from '@typebot.io/schemas/features/customDomains'
|
||||
import got, { HTTPError } from 'got'
|
||||
import { env } from '@typebot.io/env'
|
||||
import { isWriteWorkspaceForbidden } from '@/features/workspace/helpers/isWriteWorkspaceForbidden'
|
||||
import { trackEvents } from '@typebot.io/lib/telemetry/trackEvents'
|
||||
|
||||
export const createCustomDomain = authenticatedProcedure
|
||||
.meta({
|
||||
@ -75,6 +76,17 @@ export const createCustomDomain = authenticatedProcedure
|
||||
},
|
||||
})
|
||||
|
||||
await trackEvents([
|
||||
{
|
||||
name: 'Custom domain added',
|
||||
userId: user.id,
|
||||
workspaceId,
|
||||
data: {
|
||||
domain: name,
|
||||
},
|
||||
},
|
||||
])
|
||||
|
||||
return { customDomain }
|
||||
})
|
||||
|
||||
|
@ -69,6 +69,21 @@ const publishedTypebotEventSchema = typebotEvent.merge(
|
||||
})
|
||||
)
|
||||
|
||||
const customDomainAddedEventSchema = workspaceEvent.merge(
|
||||
z.object({
|
||||
name: z.literal('Custom domain added'),
|
||||
data: z.object({
|
||||
domain: z.string(),
|
||||
}),
|
||||
})
|
||||
)
|
||||
|
||||
const whatsAppCredentialsCreatedEventSchema = workspaceEvent.merge(
|
||||
z.object({
|
||||
name: z.literal('WhatsApp credentials created'),
|
||||
})
|
||||
)
|
||||
|
||||
const subscriptionUpdatedEventSchema = workspaceEvent.merge(
|
||||
z.object({
|
||||
name: z.literal('Subscription updated'),
|
||||
@ -142,6 +157,8 @@ export const eventSchema = z.discriminatedUnion('name', [
|
||||
workspacePastDueEventSchema,
|
||||
workspaceNotPastDueEventSchema,
|
||||
userUpdatedEventSchema,
|
||||
customDomainAddedEventSchema,
|
||||
whatsAppCredentialsCreatedEventSchema,
|
||||
])
|
||||
|
||||
export type TelemetryEvent = z.infer<typeof eventSchema>
|
||||
|
@ -142,7 +142,7 @@ export const incomingMessageSchema = z.discriminatedUnion('type', [
|
||||
type: z.literal('location'),
|
||||
location: z.object({
|
||||
latitude: z.number(),
|
||||
longitude: z.number()
|
||||
longitude: z.number(),
|
||||
}),
|
||||
timestamp: z.string(),
|
||||
}),
|
||||
|
Reference in New Issue
Block a user