Botdesk Integration | Botpress Hub

Streamline your customer support operations with the Botdesk integration for your Botpress chatbot. This powerful integration allows you to oversee all bot communications, seamlessly transition conversations from bot to human agents, and efficiently manage support tickets through human-in-the-loop (HITL) functionality.

Key Features

  • Comprehensive Conversation Oversight: Monitor all chatbot interactions in one centralized dashboard
  • Seamless Human Handoff: Intercept automated conversations when human expertise is needed
  • Efficient Ticket Management: Track and manage all support tickets created through human-in-the-loop interactions
  • Unified Support Experience: Blend automated and human support channels for optimal customer experience

Installation and Configuration

To integrate Botdesk with your Botpress chatbot, follow these simple steps:

  1. Access Botdesk Settings: Open your Botdesk application and navigate to the Settings section.
  2. Locate API Controls: Navigate to the API section within Settings.
  3. Generate API Token: Create a new API token with a meaningful name (we recommend using your bot's name for easy identification). Note: The API key will only be displayed once, so be sure to copy it immediately.
  4. Configure Integration: In your Botpress integration form, paste the API key into the designated field.
  5. Set Base URL: Enter https://botdesk.app/api/v1 as the Base URL to establish the connection.
  6. Set Botpress Personal Access Token: Go to https://app.botpress.cloud/, click on profile and then Personal Access Tokens. Generate token and set it in Integration Configuration.

Setup live messages

Add custom hooks in your Botpress bot to ensure live messages are properly handled in Botdesk:

After Incoming Message Hook:

const { success } = await actions['codemazes/botdesk'].handleIncomingMessage(event);
if (!success) {
  throw new Error('Failed to handle incoming message in Botdesk.');
}

Before Outgoing Message Hook:

const { success } = await actions['codemazes/botdesk'].handleOutgoingMessage({
  outgoingEvent,
  incomingEvent: event
});
if (!success) {
  throw new Error('Failed to handle outgoing message in Botdesk.');
}

After Conversation Ends Hook:

await actions['codemazes/botdesk'].handleAfterConversationEnd(event);