Endpoint: POST /api/openclaw/integrations/run-action
Auth: X-Org-Token header (org service token)
CORS: Enabled (OPTIONS preflight supported)

Purpose: Execute a specific action/tool on a connected account via the Composio API.

Request Headers:
  X-Org-Token: <org-service-token>
  Content-Type: application/json

Request Body:
  toolName (required, string): The action slug to execute (e.g. "GMAIL_SEND_EMAIL")
  accountId (required, string): The connected account ID (obtained from connected-account endpoint)
  arguments (optional, object): Structured key-value arguments for the action
  text (optional, string): Natural language input (used only if arguments is not provided)
  version (optional, string): API version override
  custom_auth_params (optional, object): Custom authentication parameters
  custom_connection_data (optional, object): Custom connection data
  allow_tracing (optional, boolean): Enable execution tracing

Behavior:
  - Validates org token against database
  - Requires COMPOSIO_API_KEY environment variable
  - Builds payload with connected_account_id, user_id (org.id), and provided parameters
  - Structured arguments take priority over text input
  - Calls Composio API: POST https://backend.composio.dev/api/v3/tools/execute/{toolName}
  - Returns the raw Composio response

Response 200:
  Varies by action. The raw Composio execution result is returned directly.

Error Responses:
  401 - Missing or invalid X-Org-Token
  400 - toolName is required / accountId is required
  500 - COMPOSIO_API_KEY not configured / Server error
  (Composio status) - Forwarded error from Composio API
