Import/Export a Chatbot

Overview

Import/Export functionality allows you to package entire bots (including all their dependencies) into portable ZIP files. This is essential for bot lifecycle management, collaboration, and deployment automation.

Why Import/Export?

Use Cases:

  • Backup & Restore: Protect your bot configurations from accidental deletion or corruption

  • Version Control: Store bot configurations alongside code in Git

  • Environment Migration: Move bots from development → staging → production

  • Team Collaboration: Share bots with team members or customers

  • Disaster Recovery: Quickly restore bots after system failures

  • Bot Templates: Create reusable bot templates for similar use cases

  • CI/CD Integration: Automate bot deployment in your pipeline

What Gets Exported?

When you export a bot, EDDI packages:

  • ✅ Bot configuration (package references)

  • ✅ All packages used by the bot

  • ✅ All extensions (behavior rules, dictionaries, HTTP calls, outputs, etc.)

  • ✅ Version information

  • ✅ Configuration metadata

Note: Conversations and conversation history are NOT exported (only configurations).

Export/Import Workflow

Best Practices

  • Version Your Exports: Include version numbers in filenames: customer-support-bot-v2.3.zip

  • Document Changes: Keep a changelog of what changed between exports

  • Regular Backups: Schedule automated exports of production bots

  • Test Imports: Always test imported bots in a test environment first

  • Store Securely: Keep exports in secure, version-controlled storage (e.g., Git LFS, S3)

Common Scenarios

Scenario 1: Promoting to Production

Scenario 2: Sharing Bot with Team

Scenario 3: Disaster Recovery

API Reference

In this tutorial we will explain importing/exporting bots. This is a very useful feature that makes bots portable and easy to re-use across different EDDI instances, and allows you to backup, restore, and maintain your bots.

Exporting a Chatbot:

Exporting a bot is a fairly simple process, send a POST request to the following API endpoint and you will receive the location of the exported zip file on the response headers, specifically the location header.

Export Chatbot REST API Endpoint

Export a chatbot

POST http://localhost:7070/backup/export/:botId?botVersion=:botVersion

Path Parameters

Name
Type
Description

botId

string

Id of the bot you wish to export

Query Parameters

Name
Type
Description

botVersion

string

Version of the bot

Example:

Request URL:

http://localhost:7070/backup/export/5aaf90e29f7dd421ac3c7dd4?botVersion=1

Response Body: no content Response Code: 200 Response Headers:

Importing a bot:

Same process as exporting; send a POST request to the following API endpoint , you will receive the id of the imported bot on the response headers.

Import Chatbot REST API Endpoint

Element
Value

Http Method

POST

API endpoint

/backup/import

HTTP Content Type Header

application/zip

Request body

the zip file binary.

Example:

For the sake of simplifying things you can use Postmanarrow-up-right to upload the zip file of the exported bot just don't forget to add the http header of content type : application/zip****.

Take a look at the image below to understand how you can upload the zip file in Postman:

Important: The bot will not be deployed after import you will have to deploy it yourself by using the corresponding API endpoint, please refer to Deploying a bot.

Last updated

Was this helpful?