Dust · Arazzo Workflow

Dust Import an Agent and Start a Conversation

Version 1.0.0

Create a new agent configuration from a JSON definition, then open a conversation that mentions it.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AgentsAIArtificial IntelligenceCustom WorkflowsData SourcesDustEnterprise AIKnowledge ManagementLLMMCPMulti-ModelRAGArazzoWorkflows

Provider

dust-tt

Workflows

import-agent-and-converse
Import an agent configuration and open a conversation mentioning it.
Imports an agent configuration from a JSON definition and creates a conversation that mentions the newly created agent.
2 steps inputs: agent, apiToken, content, editors, generationSettings, instructions, tags, toolset, wId outputs: agentId, conversationId
1
importAgent
{$sourceDescriptions.agentsApi.url}#/paths/~1api~1v1~1w~1{wId}~1assistant~1agent_configurations~1import/post
Create a new agent configuration from the supplied JSON definition and capture its sId.
2
createConversation
{$sourceDescriptions.conversationsApi.url}#/paths/~1api~1v1~1w~1{wId}~1assistant~1conversations/post
Open a conversation seeded with a message that mentions the newly imported agent.

Source API Descriptions

Arazzo Workflow Specification

dust-tt-import-agent-and-converse-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Dust Import an Agent and Start a Conversation
  summary: Create a new agent configuration from a JSON definition, then open a conversation that mentions it.
  description: >-
    Provisions a brand new Dust agent and immediately puts it to work. The
    workflow imports an agent configuration from a structured JSON body,
    captures the new agent's sId, and opens a conversation seeded with a message
    that mentions the freshly created agent. Each step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: agentsApi
  url: ../openapi/dust-agents-api-openapi.yml
  type: openapi
- name: conversationsApi
  url: ../openapi/dust-conversations-api-openapi.yml
  type: openapi
workflows:
- workflowId: import-agent-and-converse
  summary: Import an agent configuration and open a conversation mentioning it.
  description: >-
    Imports an agent configuration from a JSON definition and creates a
    conversation that mentions the newly created agent.
  inputs:
    type: object
    required:
    - apiToken
    - wId
    - agent
    - instructions
    - generationSettings
    - content
    properties:
      apiToken:
        type: string
        description: Dust API key used as the Bearer token.
      wId:
        type: string
        description: The workspace identifier.
      agent:
        type: object
        description: Agent definition with handle, description, scope, max_steps_per_run, and visualization_enabled.
      instructions:
        type: string
        description: Instructions for the agent.
      generationSettings:
        type: object
        description: Model generation settings (model_id, provider_id, temperature, reasoning_effort).
      tags:
        type: array
        description: Tags to attach to the agent.
        items:
          type: object
      editors:
        type: array
        description: Editors for the agent.
        items:
          type: object
      toolset:
        type: array
        description: Toolset (MCP tools) for the agent.
        items:
          type: object
      content:
        type: string
        description: The text of the first human message in the conversation.
  steps:
  - stepId: importAgent
    description: >-
      Create a new agent configuration from the supplied JSON definition and
      capture its sId.
    operationPath: '{$sourceDescriptions.agentsApi.url}#/paths/~1api~1v1~1w~1{wId}~1assistant~1agent_configurations~1import/post'
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiToken
    - name: wId
      in: path
      value: $inputs.wId
    requestBody:
      contentType: application/json
      payload:
        agent: $inputs.agent
        instructions: $inputs.instructions
        generation_settings: $inputs.generationSettings
        tags: $inputs.tags
        editors: $inputs.editors
        toolset: $inputs.toolset
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      agentId: $response.body#/agentConfiguration/sId
      agentName: $response.body#/agentConfiguration/name
  - stepId: createConversation
    description: >-
      Open a conversation seeded with a message that mentions the newly imported
      agent.
    operationPath: '{$sourceDescriptions.conversationsApi.url}#/paths/~1api~1v1~1w~1{wId}~1assistant~1conversations/post'
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiToken
    - name: wId
      in: path
      value: $inputs.wId
    requestBody:
      contentType: application/json
      payload:
        blocking: false
        message:
          content: $inputs.content
          mentions:
          - configurationId: $steps.importAgent.outputs.agentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      conversationId: $response.body#/conversation/sId
  outputs:
    agentId: $steps.importAgent.outputs.agentId
    conversationId: $steps.createConversation.outputs.conversationId