chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
import { IntegrationDefinition, z } from '@botpress/sdk'
|
||||
|
||||
export default new IntegrationDefinition({
|
||||
name: 'google-analytics',
|
||||
title: 'Google Analytics',
|
||||
description: 'Track bot events and user activity in Google Analytics.',
|
||||
icon: 'icon.svg',
|
||||
version: '1.0.0',
|
||||
readme: 'hub.md',
|
||||
configuration: {
|
||||
schema: z.object({
|
||||
measurementId: z
|
||||
.string()
|
||||
.min(1, 'Measurement ID is required')
|
||||
.title('Measurement ID')
|
||||
.describe('The Measurement ID for your Google Analytics 4 property'),
|
||||
apiSecret: z
|
||||
.string()
|
||||
.secret()
|
||||
.min(1, 'API Secret is required')
|
||||
.title('API Secret')
|
||||
.describe('The API Secret for your Google Analytics 4 property'),
|
||||
}),
|
||||
},
|
||||
actions: {
|
||||
updateUserProfile: {
|
||||
title: 'Update User Profile',
|
||||
description: "Update a user's profile information in Google Analytics.",
|
||||
input: {
|
||||
schema: z.object({
|
||||
userId: z.string().min(1).title('User ID').describe('The user ID of the profile you want to update'),
|
||||
userProfile: z
|
||||
.string()
|
||||
.title('User Profile')
|
||||
.describe("JSON object string containing the user's metadata, such as email or name")
|
||||
.optional(),
|
||||
}),
|
||||
},
|
||||
output: {
|
||||
schema: z.object({}),
|
||||
},
|
||||
},
|
||||
trackNode: {
|
||||
title: 'Track Node',
|
||||
description: 'Track a node execution as a page view in Google Analytics.',
|
||||
input: {
|
||||
schema: z.object({
|
||||
userId: z.string().min(1).title('User ID').describe('The user ID to track'),
|
||||
nodeId: z.string().min(1).title('Node ID').describe('A unique ID representing the node being tracked'),
|
||||
}),
|
||||
},
|
||||
output: {
|
||||
schema: z.object({}),
|
||||
},
|
||||
},
|
||||
trackEvent: {
|
||||
title: 'Track Event',
|
||||
description: 'Track a custom event in Google Analytics.',
|
||||
input: {
|
||||
schema: z.object({
|
||||
userId: z.string().min(1).title('User ID').describe('The user ID to track'),
|
||||
eventName: z.string().min(1).title('Event Name').describe('The event name to track'),
|
||||
eventPayload: z
|
||||
.string()
|
||||
.title('Event Payload')
|
||||
.describe('JSON object string containing the properties of the event')
|
||||
.optional(),
|
||||
}),
|
||||
},
|
||||
output: {
|
||||
schema: z.object({}),
|
||||
},
|
||||
},
|
||||
},
|
||||
channels: {},
|
||||
attributes: {
|
||||
category: 'Marketing & Email',
|
||||
repo: 'botpress',
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user