Chat API
- Introduction
- Endpoints
Admin API
- Getting started
- Concepts
- Endpoints
- GETgetAccount
- PUTupdateAccount
- GETlistPublicIntegrations
- GETgetPublicIntegrationById
- GETgetPublicIntegration
- POSTcreateBot
- GETlistBots
- PUTupdateBot
- GETgetBot
- DELdeleteBot
- GETgetBotLogs
- GETgetBotAnalytics
- GETgetBotIssue
- DELdeleteBotIssue
- GETlistBotIssues
- GETlistBotIssueEvents
- POSTcreateWorkspace
- GETlistWorkspaces
- GETgetPublicWorkspace
- GETgetWorkspace
- PUTupdateWorkspace
- DELdeleteWorkspace
- GETlistPublicWorkspaces
- GETgetAuditRecords
- GETlistWorkspaceMembers
- POSTcreateWorkspaceMember
- GETgetWorkspaceMember
- DELdeleteWorkspaceMember
- PUTupdateWorkspaceMember
- POSTcreateIntegration
- GETlistIntegrations
- POSTvalidateIntegrationCreation
- PUTupdateIntegration
- GETgetIntegration
- DELdeleteIntegration
- PUTvalidateIntegrationUpdate
- GETgetIntegrationLogs
- GETgetIntegrationByName
- GET
Files API
Tables API
- Getting Started
- Endpoints
Runtime API
- Getting Started
- Concepts
- Endpoints
createIntegration
Create integration
curl --request POST \
--url https://api.botpress.cloud/v1/admin/integrations \
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"version": "<string>",
"configuration": {
"title": "<string>",
"description": "<string>",
"schema": {},
"identifier": {
"required": true,
"linkTemplateScript": "<string>"
}
},
"configurations": {},
"states": {},
"events": {},
"actions": {},
"entities": {},
"identifier": {
"fallbackHandlerScript": "<string>",
"extractScript": "<string>"
},
"channels": {},
"user": {
"creation": {
"enabled": true,
"requiredTags": [
"<string>"
]
},
"tags": {}
},
"interfaces": {},
"secrets": {},
"code": "<string>",
"url": "<string>",
"dev": true,
"icon": "<string>",
"readme": "<string>",
"title": "<string>",
"description": "<string>",
"public": true,
"layers": [
"<string>"
]
}'
{
"integration": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"identifier": {
"fallbackHandlerScript": "<string>",
"extractScript": "<string>"
},
"sandbox": {
"identifierExtractScript": "<string>",
"messageExtractScript": "<string>"
},
"url": "<string>",
"name": "<string>",
"version": "<string>",
"interfaces": {},
"configuration": {
"title": "<string>",
"description": "<string>",
"identifier": {
"linkTemplateScript": "<string>",
"required": true
},
"schema": {}
},
"configurations": {},
"channels": {},
"states": {},
"events": {},
"actions": {},
"user": {
"tags": {},
"creation": {
"enabled": true,
"requiredTags": [
"<string>"
]
}
},
"entities": {},
"dev": true,
"title": "<string>",
"description": "<string>",
"iconUrl": "<string>",
"readmeUrl": "<string>",
"public": true,
"verificationStatus": "unapproved",
"secrets": [
"<string>"
]
}
}
Body
Name of the Integration
200
Version of the Integration
200
Default configuration definition of the integration
Title of the configuration
64
Description of the configuration
256
Schema of the configuration in the JSON schema
format. The configuration data is validated against this JSON schema
.
Additional configuration definitions of the integration
Title of the configuration
64
Description of the configuration
256
Schema of the configuration in the JSON schema
format. The configuration data is validated against this JSON schema
.
State definition
Action definition
Title of the action
64
Description of the action
256
Title of the channel
64
Description of the channel
256
The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the createConversation
functionality to support this setting.
The user creation setting determines how to create a user through the API directly. The integration will have to implement the createUser
functionality to support this setting.
ID of the interface
28 - 36
Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.
20000
JavaScript code of the integration
URL of the integration
Indicates if the integration is a development integration; Dev integrations run locally
Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.
Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.
Title of the integration. This is the name that will be displayed in the UI
1 - 64
Description of the integration. This is the description that will be displayed in the UI
256
Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.
Response
ID of the Integration
28 - 36
Creation date of the Integration in ISO 8601 format
Updating date of the Integration in ISO 8601 format
Global identifier configuration of the Integration
VRL Script of the Integration to handle incoming requests for a request that doesn't have an identifier
2000
VRL Script of the Integration to extract the identifier from an incoming webhook often use for OAuth
2000
URL of the Integration
2000
Name of the Integration
200
Version of the Integration
200
ID of the interface
28 - 36
Name of the interface
200
Version of the interface
200
Configuration definition
Identifier configuration of the Integration
Schema of the configuration in the JSON schema
format. The configuration data is validated against this JSON schema
.
Title of the configuration
64
Description of the configuration
256
Configuration definition
Identifier configuration of the Integration
Schema of the configuration in the JSON schema
format. The configuration data is validated against this JSON schema
.
Title of the configuration
64
Description of the configuration
256
Channel definition
Message definition
Conversation object configuration
The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the createConversation
functionality to support this setting.
Message object configuration
Title of the channel
64
Description of the channel
256
State definition
Type of the State (conversation
, user
or integration
)
conversation
, user
, integration
Action definition
Title of the action
64
Description of the action
256
User object configuration
The user creation setting determines how to create a user through the API directly. The integration will have to implement the createUser
functionality to support this setting.
Indicates if the integration is a development integration; Dev integrations run locally
Title of the integration. This is the name that will be displayed in the UI
1 - 64
Description of the integration. This is the description that will be displayed in the UI
256
URL of the icon of the integration. This is the icon that will be displayed in the UI
URL of the readme of the integration. This is the readme that will be displayed in the UI
Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.
Status of the integration version verification
unapproved
, pending
, approved
, rejected
Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.
VRL Script of the Integration to extract the identifier from an incoming webhook used specifically for the sandbox
2000
VRL Script of the Integration to extract the message from an incoming webhook used specifically for the sandbox
2000
Was this page helpful?
curl --request POST \
--url https://api.botpress.cloud/v1/admin/integrations \
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"version": "<string>",
"configuration": {
"title": "<string>",
"description": "<string>",
"schema": {},
"identifier": {
"required": true,
"linkTemplateScript": "<string>"
}
},
"configurations": {},
"states": {},
"events": {},
"actions": {},
"entities": {},
"identifier": {
"fallbackHandlerScript": "<string>",
"extractScript": "<string>"
},
"channels": {},
"user": {
"creation": {
"enabled": true,
"requiredTags": [
"<string>"
]
},
"tags": {}
},
"interfaces": {},
"secrets": {},
"code": "<string>",
"url": "<string>",
"dev": true,
"icon": "<string>",
"readme": "<string>",
"title": "<string>",
"description": "<string>",
"public": true,
"layers": [
"<string>"
]
}'
{
"integration": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"identifier": {
"fallbackHandlerScript": "<string>",
"extractScript": "<string>"
},
"sandbox": {
"identifierExtractScript": "<string>",
"messageExtractScript": "<string>"
},
"url": "<string>",
"name": "<string>",
"version": "<string>",
"interfaces": {},
"configuration": {
"title": "<string>",
"description": "<string>",
"identifier": {
"linkTemplateScript": "<string>",
"required": true
},
"schema": {}
},
"configurations": {},
"channels": {},
"states": {},
"events": {},
"actions": {},
"user": {
"tags": {},
"creation": {
"enabled": true,
"requiredTags": [
"<string>"
]
}
},
"entities": {},
"dev": true,
"title": "<string>",
"description": "<string>",
"iconUrl": "<string>",
"readmeUrl": "<string>",
"public": true,
"verificationStatus": "unapproved",
"secrets": [
"<string>"
]
}
}