Skip to content

Plugins

Plugins let OpenEdge connect external business systems to the console and bot workflows. A plugin exposes actions, accepts user input, returns cards, and can receive interaction events.

Use Cases

  • Search orders from an internal API.
  • Fetch customer records from a CRM.
  • Trigger a workflow from a bot card.
  • Expose weather, news, or custom data actions to the console.

Protocol

List Actions

http
GET /actions

Response:

json
{
  "actions": [
    {
      "id": "search_orders",
      "label": "Search Orders",
      "type": "form",
      "inputs": [
        { "name": "query", "label": "Order ID", "type": "text" }
      ]
    }
  ]
}

Execute Action

http
POST /execute

Request:

json
{
  "action_id": "search_orders",
  "params": { "query": "123" },
  "user_id": "user_1"
}

Response:

json
{
  "type": "list",
  "items": [
    {
      "id": "ord_123",
      "title": "Order #123",
      "subtitle": "$50.00 - Pending",
      "card": {
        "title": "Order #123 Details",
        "body": [
          { "type": "text", "content": "Status: Pending" }
        ],
        "actions": [
          { "type": "button", "label": "Refund", "id": "refund_123" }
        ]
      }
    }
  ]
}

Handle Interaction

http
POST /

Request:

json
{
  "action_id": "refund_123",
  "user_id": "telegram_user_id",
  "interaction_id": "interaction_..."
}

Security

Plugin requests should be authenticated. Verify any gateway signature header provided by your deployment and avoid exposing plugin actions that mutate data without authorization checks.

For integrations that require third-party credentials, prefer Connected Accounts instead of hardcoding secrets in plugin configuration.

Registering a Plugin

  1. Deploy your plugin as an HTTPS endpoint.
  2. Open the OpenEdge Console.
  3. Register the plugin URL.
  4. Test the action list.
  5. Execute an action from the console or bot workflow.