February 1, 2025

API Request Node, Improved Retries, and Enhanced Message Controls

  1. HttpRequest Node Renamed to ApiRequest: The HttpRequest workflow node has been renamed to ApiRequest, and can be accessed through Assistant.model.workflow.nodes[type="api-request"]. Key changes:

    • New support for POST requests with customizable headers and body
    • New async request support with isAsync flag
    • Task status messages for waiting, starting, failure and success states
      The HttpRequest node is now deprecated and will be removed in a future release. Please migrate to the new ApiRequest node.
  2. New Backoff and Retry Controls: You can now configure Assistant.model.tools[type=dtmf].server.backoffPlan to handle failed requests with customizable retry strategies and delays.

    • Supports fixed or exponential backoff strategies
    • Configure maxRetries (up to 10) and baseDelaySeconds (up to 10 seconds)
    • Available in server configurations via backoffPlan property
  3. Enhanced Gather Node: The Assistant.model.workflow.nodes[type=gather] node has been improved with the following changes:

    • Added maxRetries property to control retry attempts
    • Now accepts a single JsonSchema instead of an array
    • Removed default value for confirmContent property
  4. Improved Message Controls: Assistant.messagePlan has been improved with the following changes:

    • Increased idleTimeoutSeconds maximum from 30 to 60 seconds
    • Added silenceTimeoutMessage to customize call ending due to silence
  5. New Distilled Deepseek Model with Groq: You can now select deepseek-r1-distill-llama-70b when using Groq as the provider in Assistant.model[provider='groq']

  6. Edge Condition Updates: Edge conditions now require explicit matching criteria to improve workflow control and readability. Semantic edges must specify a matches property while programmatic edges require a booleanExpression property to define transition logic.