{
  "service": "bolna",
  "displayName": "Bolna",
  "categories": [
    "AI",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "sk-...",
      "description": "Bolna API key used with the Authorization Bearer header. Sign in to the Bolna dashboard, open Developers, and create a new API key: https://platform.bolna.ai",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.bolna.ai",
  "actions": [
    {
      "id": "bolna.get_agent",
      "service": "bolna",
      "name": "get_agent",
      "description": "Get one Bolna voice agent by agent_id.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "agent_id": {
            "type": "string",
            "description": "The Bolna agent identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "agent_id"
        ],
        "description": "Input payload for retrieving one Bolna agent."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "agent": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Bolna agent identifier.",
                "format": "uuid"
              },
              "agent_name": {
                "type": "string",
                "description": "The human-readable Bolna agent name."
              },
              "agent_type": {
                "type": "string",
                "description": "The Bolna agent type."
              },
              "agent_status": {
                "type": "string",
                "description": "The current Bolna agent status."
              },
              "created_at": {
                "type": "string",
                "description": "The creation timestamp returned by Bolna.",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "description": "The last update timestamp returned by Bolna.",
                "format": "date-time"
              },
              "tasks": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "One Bolna task definition returned by the agent."
                },
                "description": "The tasks configured on the Bolna agent."
              },
              "ingest_source_config": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The Bolna ingest source configuration returned for the agent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "agent_prompts": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Bolna agent prompts object keyed by task name, such as task_1."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "agent_name",
              "created_at"
            ],
            "description": "One Bolna agent returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "agent"
        ],
        "description": "The Bolna agent detail wrapper."
      }
    },
    {
      "id": "bolna.get_execution",
      "service": "bolna",
      "name": "get_execution",
      "description": "Get one Bolna execution by execution_id.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "execution_id": {
            "type": "string",
            "description": "The Bolna execution identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "execution_id"
        ],
        "description": "Input payload for retrieving one Bolna execution."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "execution": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Bolna execution identifier.",
                "format": "uuid"
              },
              "agent_id": {
                "type": "string",
                "description": "The Bolna agent identifier attached to the execution.",
                "format": "uuid"
              },
              "batch_id": {
                "type": "string",
                "description": "The Bolna batch identifier when the execution belongs to a batch."
              },
              "conversation_duration": {
                "type": "number",
                "description": "The execution conversation duration in seconds."
              },
              "total_cost": {
                "type": "number",
                "description": "The total execution cost in cents."
              },
              "status": {
                "type": "string",
                "description": "The current Bolna execution status."
              },
              "error_message": {
                "type": "string",
                "description": "The execution error message returned by Bolna."
              },
              "answered_by_voice_mail": {
                "type": "boolean",
                "description": "Whether the execution reached voicemail."
              },
              "transcript": {
                "type": "string",
                "description": "The execution transcript returned by Bolna."
              },
              "created_at": {
                "type": "string",
                "description": "The execution creation timestamp.",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "description": "The execution last update timestamp.",
                "format": "date-time"
              },
              "cost_breakdown": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Bolna execution cost breakdown object."
              },
              "telephony_data": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The telephony details returned by Bolna."
              },
              "transfer_call_data": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The transfer call details returned by Bolna."
              },
              "batch_run_details": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The batch metadata returned by Bolna."
              },
              "extracted_data": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The extracted data object returned by Bolna."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "context_details": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The context variables returned by Bolna."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "agent_id",
              "status",
              "created_at"
            ],
            "description": "One Bolna execution returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "execution"
        ],
        "description": "The Bolna execution detail wrapper."
      }
    },
    {
      "id": "bolna.get_execution_raw_logs",
      "service": "bolna",
      "name": "get_execution_raw_logs",
      "description": "Get raw logs for one Bolna execution by execution_id.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "execution_id": {
            "type": "string",
            "description": "The Bolna execution identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "execution_id"
        ],
        "description": "Input payload for retrieving one Bolna execution."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status string returned by Bolna for the raw log request."
          },
          "logs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "created_at": {
                  "type": "string",
                  "description": "The log creation timestamp.",
                  "format": "date-time"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "request",
                    "response"
                  ],
                  "description": "The direction of the log entry."
                },
                "component": {
                  "type": "string",
                  "description": "The Bolna component that produced the log entry."
                },
                "provider": {
                  "type": "string",
                  "description": "The provider associated with the log entry."
                },
                "data": {
                  "type": "string",
                  "description": "The log payload or message returned by Bolna."
                },
                "reasoning_content": {
                  "type": "string",
                  "description": "The optional reasoning content returned by Bolna."
                }
              },
              "additionalProperties": true,
              "required": [
                "created_at",
                "type",
                "component",
                "data"
              ],
              "description": "One Bolna execution log entry."
            },
            "description": "The normalized Bolna execution log entries."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "logs"
        ],
        "description": "The Bolna execution raw log wrapper."
      }
    },
    {
      "id": "bolna.get_user_info",
      "service": "bolna",
      "name": "get_user_info",
      "description": "Get the authenticated Bolna workspace user, wallet, and concurrency summary.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input payload for reading Bolna user information."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Bolna user identifier.",
                "format": "uuid"
              },
              "name": {
                "type": "string",
                "description": "The display name of the Bolna user."
              },
              "email": {
                "type": "string",
                "description": "The email address of the Bolna user.",
                "format": "email"
              },
              "wallet": {
                "type": "number",
                "description": "The current wallet balance returned by Bolna."
              },
              "concurrency": {
                "type": "object",
                "properties": {
                  "max": {
                    "type": "integer",
                    "description": "The maximum concurrency limit for the workspace."
                  },
                  "current": {
                    "type": "integer",
                    "description": "The current number of running calls in the workspace."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "max",
                  "current"
                ],
                "description": "The concurrency summary returned by Bolna."
              }
            },
            "additionalProperties": true,
            "required": [
              "id"
            ],
            "description": "The authenticated Bolna user summary."
          }
        },
        "additionalProperties": false,
        "required": [
          "user"
        ],
        "description": "The Bolna user info wrapper."
      }
    },
    {
      "id": "bolna.list_agent_executions",
      "service": "bolna",
      "name": "list_agent_executions",
      "description": "List execution history for one Bolna voice agent.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "agent_id": {
            "type": "string",
            "description": "The Bolna agent identifier.",
            "format": "uuid"
          },
          "page_number": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9999,
            "description": "The page number to request from Bolna."
          },
          "page_size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "The number of executions to request from Bolna."
          },
          "status": {
            "type": "string",
            "enum": [
              "scheduled",
              "queued",
              "rescheduled",
              "ringing",
              "initiated",
              "in-progress",
              "call-disconnected",
              "completed",
              "balance-low",
              "busy",
              "no-answer",
              "canceled",
              "failed",
              "stopped",
              "error"
            ],
            "description": "The execution status filter accepted by Bolna."
          },
          "call_type": {
            "type": "string",
            "enum": [
              "inbound",
              "outbound"
            ],
            "description": "The call type filter accepted by Bolna."
          },
          "provider": {
            "type": "string",
            "enum": [
              "plivo",
              "twilio",
              "websocket",
              "web-call"
            ],
            "description": "The provider filter accepted by Bolna."
          },
          "answered_by_voice_mail": {
            "type": "boolean",
            "description": "Whether to filter executions answered by voicemail."
          },
          "batch_id": {
            "type": "string",
            "minLength": 1,
            "description": "The Bolna batch identifier used to filter executions."
          },
          "from": {
            "type": "string",
            "description": "The inclusive execution start timestamp filter in ISO 8601 format.",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "description": "The inclusive execution end timestamp filter in ISO 8601 format.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "required": [
          "agent_id"
        ],
        "description": "Input payload for listing executions of one Bolna agent."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "page_number": {
            "type": "integer",
            "description": "The current page number returned by Bolna."
          },
          "page_size": {
            "type": "integer",
            "description": "The current page size returned by Bolna."
          },
          "total": {
            "type": "integer",
            "description": "The total number of matching executions returned by Bolna."
          },
          "has_more": {
            "type": "boolean",
            "description": "Whether Bolna reports that more execution pages are available."
          },
          "executions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Bolna execution identifier.",
                  "format": "uuid"
                },
                "agent_id": {
                  "type": "string",
                  "description": "The Bolna agent identifier attached to the execution.",
                  "format": "uuid"
                },
                "batch_id": {
                  "type": "string",
                  "description": "The Bolna batch identifier when the execution belongs to a batch."
                },
                "conversation_duration": {
                  "type": "number",
                  "description": "The execution conversation duration in seconds."
                },
                "total_cost": {
                  "type": "number",
                  "description": "The total execution cost in cents."
                },
                "status": {
                  "type": "string",
                  "description": "The current Bolna execution status."
                },
                "error_message": {
                  "type": "string",
                  "description": "The execution error message returned by Bolna."
                },
                "answered_by_voice_mail": {
                  "type": "boolean",
                  "description": "Whether the execution reached voicemail."
                },
                "transcript": {
                  "type": "string",
                  "description": "The execution transcript returned by Bolna."
                },
                "created_at": {
                  "type": "string",
                  "description": "The execution creation timestamp.",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The execution last update timestamp.",
                  "format": "date-time"
                },
                "cost_breakdown": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Bolna execution cost breakdown object."
                },
                "telephony_data": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The telephony details returned by Bolna."
                },
                "transfer_call_data": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The transfer call details returned by Bolna."
                },
                "batch_run_details": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The batch metadata returned by Bolna."
                },
                "extracted_data": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The extracted data object returned by Bolna."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "context_details": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The context variables returned by Bolna."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "agent_id",
                "status",
                "created_at"
              ],
              "description": "One Bolna execution returned by the API."
            },
            "description": "The normalized Bolna executions for this page."
          }
        },
        "additionalProperties": false,
        "required": [
          "page_number",
          "page_size",
          "total",
          "has_more",
          "executions"
        ],
        "description": "The Bolna execution list wrapper."
      }
    },
    {
      "id": "bolna.list_agents",
      "service": "bolna",
      "name": "list_agents",
      "description": "List all Bolna voice agents in the authenticated workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input payload for listing Bolna agents."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "agents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Bolna agent identifier.",
                  "format": "uuid"
                },
                "agent_name": {
                  "type": "string",
                  "description": "The human-readable Bolna agent name."
                },
                "agent_type": {
                  "type": "string",
                  "description": "The Bolna agent type."
                },
                "agent_status": {
                  "type": "string",
                  "description": "The current Bolna agent status."
                },
                "created_at": {
                  "type": "string",
                  "description": "The creation timestamp returned by Bolna.",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The last update timestamp returned by Bolna.",
                  "format": "date-time"
                },
                "tasks": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "One Bolna task definition returned by the agent."
                  },
                  "description": "The tasks configured on the Bolna agent."
                },
                "ingest_source_config": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The Bolna ingest source configuration returned for the agent."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "agent_prompts": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Bolna agent prompts object keyed by task name, such as task_1."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "agent_name",
                "created_at"
              ],
              "description": "One Bolna agent returned by the API."
            },
            "description": "The Bolna agents returned by the workspace."
          }
        },
        "additionalProperties": false,
        "required": [
          "agents"
        ],
        "description": "The Bolna agent list wrapper."
      }
    }
  ]
}
