Documentation Index
Fetch the complete documentation index at: https://mintlify.com/botpress/botpress/llms.txt
Use this file to discover all available pages before exploring further.
Actions allow bots to call integration functionality and interact with external APIs.
Define actions
integration.definition.ts
export default new IntegrationDefinition({
actions: {
sendMessage: {
title: 'Send Message',
description: 'Send a message to external platform',
input: {
schema: z.object({
channel: z.string(),
text: z.string(),
}),
},
output: {
schema: z.object({
messageId: z.string(),
success: z.boolean(),
}),
},
},
},
})
Implement actions
src/actions/send-message.ts
import type { ActionHandlers } from '.botpress/implementation'
export const sendMessage: ActionHandlers['sendMessage'] = async ({
input,
ctx,
logger,
}) => {
const config = JSON.parse(ctx.configuration.payload)
const response = await fetch(`${config.apiUrl}/messages`, {
method: 'POST',
headers: { 'Authorization': `Bearer ${config.apiKey}` },
body: JSON.stringify(input),
})
const data = await response.json()
return {
messageId: data.id,
success: true,
}
}