Create and Run Thread

Overview

You can use this Snap to create a new thread and use the assistant to respond to the newly created thread.


Create and Run Thread Overview

Prerequisites

  • Valid OpenAI API key with appropriate permissions.
  • Access to the OpenAI Assistants API endpoints.

Limitations and known issues

None.

Snap views

View Description Examples of upstream and downstream Snaps
Input This Snap supports a maximum of one binary or document input view. You must specify an assistant and prompt to run this Snap.

Mapper

Union

Output This Snap has a maximum of one document output view. The Snap automatically polls the run until it gets the result.

Mapper

Filter

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution Stops the current pipeline execution when an error occurs.
  • Discard Error Data and Continue Ignores the error, discards that record, and continues with the remaining records.
  • Route Error Data to Error View Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap settings

Note:
  • Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.
  • Expression icon (): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.
  • Add icon (Plus Icon): Indicates that you can add fields in the field set.
  • Remove icon (Minus Icon): Indicates that you can remove fields from the field set.
Field / Field set Type Description
Label String

Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline.

Default value: Create and Run Thread

Example: OpenAI Create and Run Thread
Assistant ID String/Expression/Suggestion

Required. The ID of the assistant on which the thread has to run.

Default value: N/A

Example: asst_UDo4hjMyXqFxLXoy:General_Test
Prompt String/Expression

Appears only when you select Document as the Input type and in the default state (0 minimum input).

Required. Specify the prompt to run against the assistant.

Default value: N/A

Example: $msg
Advanced tool configuration Use this field set to configure the tool calling settings, guiding model responses and optimizing output processing.
Tool choice Dropdown list/Expression
Choose the preferred tool which the model has to call. Available options include:
  • AUTO: : The model chooses between generating a message or calling one or more tools.
  • NONE: The model does not call any tools and instead generates a message.
  • REQUIRED: The model must call one or more tools before responding to the user.
  • SPECIFY A FUNCTION: The model is forced to call a specific tool.

Default value: AUTO

Example: SPECIFY A FUNCTION

Function name String/Expression

Appears when you select SPECIFY A FUNCTION as the Tool choice.

Specify the name of the function to force the model to call.

Default value: N/A

Example: get_weather_info

Parallel tool call Checkbox/Expression

Select this checkbox to enable parallel tool calling.

Default status: Selected

Polling configuration Configure the following fields to modify the behavior of the polling time to fetch the status.
Polling interval (ms) Integer/Expression

Specify the time-interval in milliseconds between each poll of the run status.

Default value: 1000

Example: 2000

Polling timeout (ms) Integer/Expression

Specify the total amount of time in milliseconds to wait before the Snap stops.

Default value: 300000

Example: 100000

Advanced response configurations Configure the response settings to customize the responses and optimize output processing.
Simplify response Checkbox/Expression Select this checkbox to receive the latest message and the run information in a simplified format. Here's an example of a simplified output format.
{
  "id": <string>,
  "assistant_id": <string>,
  "thread_id": <string>,
  "role": <string>,
  "content": <array/string>,
  "finish_reason": <string>,
  "error": <object/null>,
  "usage": {
    "prompt_tokens": <integer>,
    "output_tokens": <integer>,
    "total_tokens": <integer>,
  },
  "_sl_responses": <object of the raw responses for debug mode> //optional
  "original": {}
}              
Important: This field does not support upstream values.

Default status: Deselected

Debug mode Checkbox/Expression

Appears when you select Simplify response checkbox.

Select this checkbox to enable debug mode. This mode provides the raw response in the _sl_response field and is recommended for debugging purposes only.

Important: This field does not support upstream values.

Default status: Deselected

Snap execution Dropdown list
Select one of the three modes in which the Snap executes. Available options are:
  • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.
  • Execute only: Performs full execution of the Snap during pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default value: Validate & Execute

Example: Execute only

Troubleshooting

Invalid polling configuration.

Polling interval must be less than or equal to the polling timeout.

Fix the polling configuration.

Invalid configuration to execute assistant.

Prompt property is missing.

Specify a prompt and try again.