Sign Up
Loading...

OpenAI commands

Use these commands from an endpoint, server function or event. Choose Add Command → Connector → OpenAI, select the action, then choose an Account. Selecting an account reveals the remaining inputs. When the command returns a result, open OUTPUT and use Return as to name it for later commands.

All connector references · Connect an account · AI setup and shared results

Generate Text (Legacy)

Preserve the existing OpenAI Responses command for saved workflows. For a new text-only workflow, Generate Text provides explicit request/output limits and a shared result shape.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector in this organization. Use the account menu to connect/reconnect; do not enter a raw API key.
ModeltextRequired exact OpenAI model ID for this operation; no default is supplied by the runtime. Model names are editable so you can use a currently supported model enabled for the account.
Instructionstext boxOptional instructions passed to OpenAI, such as "Answer in one sentence." At least Instructions or Input must be supplied.
Inputopenai inputOptional prompt text or an ordered list of OpenAI input objects with role and content. Example: [{"role":"user","content":"What is a webhook?"}]. A single object is wrapped in a list. At least Instructions or Input is required; provider model and content limits apply.

Result

An object containing responseId and outputText, with compatibility aliases response_id and output_text holding the same values. The legacy error field is retained; provider request failures throw a summarized error instead of exposing diagnostics.

Example

Account: select OpenAI. Model: paste an enabled Responses model ID. Instructions: "Answer briefly." Input: "What is a webhook?". Save as answer and use answer.outputText; older workflows may continue using answer.output_text.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. Missing both Instructions and Input fails. These legacy inputs do not use the newer Generate Text options or its 32,768-character prompt limit; OpenAI and execution limits still apply.

Upload File

Upload supplied file bytes to OpenAI and return the provider file record. This does not add the file to the Twidget File Manager or automatically attach it to another AI request.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector in this organization. Use the account menu to connect/reconnect; do not enter a raw API key.
FilefileRequired FILE value with accessible file bytes and a filename, such as the result of an admitted upload/read-file command. A path string or public URL alone is not a file upload. In-memory file reads are limited to 16 MiB.
Purposeopenai file purposeRequired OpenAI upload purpose. The current picker offers assistants (default) and fine-tune. Select a purpose supported by your intended OpenAI operation and file format; this command does not create an Assistant or training job.

Result

The native OpenAI file record, including id, object, bytes, created_at, filename and purpose; expires_at is present when provided. Use its id only with provider operations that accept that file purpose.

Example

Account: select OpenAI. File: choose the FILE output of a previous upload/read step. Purpose: assistants for a compatible provider file workflow. Save as uploaded_file and use uploaded_file.id where an operation explicitly accepts it.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. Unavailable bytes, a file exceeding the in-memory bound, unsupported purpose/content or provider file limits can fail the upload. Do not assume an upload guarantees later model access.

Create Vector Embeddings

Preserve the legacy OpenAI command that embeds one text value and returns OpenAI’s native embedding response. Use Create Embeddings for a bounded list with the shared result shape.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector in this organization. Use the account menu to connect/reconnect; do not enter a raw API key.
ModeltextRequired exact OpenAI model ID for this operation; no default is supplied by the runtime. Model names are editable so you can use a currently supported model enabled for the account.
Inputtext boxRequired text to embed, such as "Red apple". Choose a model that supports embeddings; provider token limits apply. This legacy input is one text value rather than the new command’s list of texts.

Result

The native OpenAI embedding object with object, model, data and usage. Each data item has object, index and embedding; usage uses OpenAI names prompt_tokens and total_tokens, not the newer camelCase usage fields.

Example

Account: select OpenAI. Model: paste an enabled embedding-model ID. Input: "Red apple". Save as legacy_vector and use legacy_vector.data[0].embedding.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. A text-generation model cannot be used as an embedding model. Provider text/token limits and execution limits apply.

Speech to Text

Transcribe the supplied audio file with an OpenAI transcription model. The selected response format controls whether the result is an object or text.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector in this organization. Use the account menu to connect/reconnect; do not enter a raw API key.
ModeltextRequired exact OpenAI model ID for this operation; no default is supplied by the runtime. Model names are editable so you can use a currently supported model enabled for the account.
Audio FilefileRequired audio FILE value with accessible bytes and filename, produced by an admitted upload/read-file command. Select a provider-supported audio format; a filename or URL alone is not sufficient. In-memory file reads are limited to 16 MiB.
Response Formatopenai speech to text response formatChoose json (editor default) or text. json returns the provider transcription object; text returns plain text. The chosen model must support the selected format.

Result

For json, the provider transcription object normally contains text and may include usage depending on the model. For text, the result is a string rather than an object. Do not assume .text exists when Response_Format is text.

Example

Account: select OpenAI. Model: paste an enabled transcription-model ID. Audio_File: choose the FILE output of a previous step. Response_Format: json. Save as transcript and use transcript.text.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. Unsupported audio/response format, missing file bytes, oversized files or model restrictions fail transcription. OpenAI audio-size and duration limits also apply.

Text To Speech

Create spoken audio from text and save it to the Twidget file store. Returns a file value for later workflow steps.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector in this organization. Use the account menu to connect/reconnect; do not enter a raw API key.
ModeltextRequired exact OpenAI model ID for this operation; no default is supplied by the runtime. Model names are editable so you can use a currently supported model enabled for the account.
Voiceopen ai voiceRequired voice supported by your chosen model. The current picker offers alloy (default), ash, ballad, coral, echo, fable, nova, onyx, sage and shimmer. Voice availability depends on the model.
Instructionstext boxOptional speaking guidance, such as "Speak slowly in a calm tone." It is sent to OpenAI; only models supporting speech instructions will use it.
Inputtext boxRequired text to speak. Example: "Your order is ready." Provider model text limits apply; this legacy command has no maxOutputTokens option.
Output Formatopen ai text to speech output formatChoose mp3 (editor default), wav, opus, aac, flac or pcm. Set a matching filename extension in Export_Path. Raw pcm requires the playback application to understand the audio format.
Export PathtextRequired destination file path including a filename, for example /audio/greeting.mp3. A path ending in / is rejected. Use a separate destination for each file you want to keep.
PermissionspermissionsChoose PRIVATE (editor default) or PUBLIC for the saved file. Public files can be downloaded without customer authentication; choose the visibility your workflow requires.

Result

A Twidget FILE value for the saved audio, with file metadata such as filename/path/size and the chosen permissions. This is not a JSON transcription or a model text response.

Example

Account: select OpenAI. Model: paste an enabled speech-generation model ID. Voice: alloy. Input: "Your order is ready." Instructions: blank. Output_Format: mp3. Export_Path: /audio/order-ready.mp3. Permissions: PRIVATE. Save as spoken_audio.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. A destination ending in /, unsupported voice/format/model, oversized provider response or a failed file write causes an error. A provider generation charge may occur even if saving the audio subsequently fails.

Generate Image

Use an OpenAI Responses model with the image-generation tool and save the first returned image as a PNG file. This is the existing image command, not a direct image-model endpoint.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector in this organization. Use the account menu to connect/reconnect; do not enter a raw API key.
ModeltextRequired exact Responses-compatible model ID enabled for image generation with the account. Do not substitute an image-only endpoint model unless OpenAI explicitly supports it through Responses.
Inputtext boxRequired prompt text describing the image, such as "A flat blue delivery-box icon on a white background." This command does not expose input-image uploads, size, quality or transparency options.
Export PathtextRequired destination file path including a filename, preferably ending .png, such as /images/delivery-box.png. The command writes PNG content regardless of the chosen extension; a path ending in / is rejected.
PermissionspermissionsChoose PRIVATE (editor default) or PUBLIC for the saved file. Public files can be downloaded without customer authentication; choose the visibility your workflow requires.

Result

A Twidget FILE value for the first generated image saved as image/png. If the provider returns several image-generation results, this command saves only the first.

Example

Account: select OpenAI. Model: paste a Responses model ID supporting image generation. Input: "A flat blue delivery-box icon on white." Export_Path: /images/delivery-box.png. Permissions: PRIVATE. Save as generated_image.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. A model without image-generation support, a provider response containing no image, an oversized response, invalid destination or failed file write causes an error. Generation may be billed even if saving the file fails.

Generate Text

Generate a text answer from one prompt with OpenAI. No tools, file inputs, image inputs or streaming controls are exposed by this command.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector belonging to this organization. Connect or reconnect the account from the account input menu; never enter a raw API key here.
ModeltextPaste the exact model ID enabled for your OpenAI account, up to 200 characters; there is no default model. Model access depends on your account. Use List Models where available, then choose a model that supports this operation.
Instructionstext boxOptional nonblank instructions, up to 16,384 characters, such as "Answer in one short paragraph." Leave blank to omit them. Use this field for system guidance rather than adding a system role to Messages.
Inputtext boxRequired nonblank prompt text, up to 32,768 characters. Example: "Summarize this order in one sentence." Files, objects and message lists are not accepted here; use Chat for conversation turns.
OptionsobjectOptional object with only maxOutputTokens (whole number 1–8192; default 1024), temperature (0–2) and topP (greater than 0 and at most 1). Example: {"maxOutputTokens":200}. Omit sampling settings unless the selected model supports them. Unknown keys, tools and response-format settings are rejected.

Result

An object with responseId, outputText, model, finishReason and usage. Use outputText for the answer. finishReason retains the provider status/stop reason. usage has inputTokens, outputTokens and totalTokens; unknown counts are null. A safety stop or token limit can produce empty or shortened text.

Example

Account: select your OpenAI connection. Model: paste an enabled text-model ID. Instructions: "Answer briefly." Input: "What is a webhook?". Options: {"maxOutputTokens":200}. Save as answer and use answer.outputText.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. Inputs over the 64 KiB serialized request limit, responses over 2 MiB, or a request exceeding 30 seconds fail instead of returning a partial result.

Chat

Send an ordered text conversation to OpenAI and return its text answer. Supply the conversation each time; this command does not create a persistent chat session.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector belonging to this organization. Connect or reconnect the account from the account input menu; never enter a raw API key here.
ModeltextPaste the exact model ID enabled for your OpenAI account, up to 200 characters; there is no default model. Model access depends on your account. Use List Models where available, then choose a model that supports this operation.
Instructionstext boxOptional nonblank instructions, up to 16,384 characters, such as "Answer in one short paragraph." Leave blank to omit them. Use this field for system guidance rather than adding a system role to Messages.
MessageslistRequired ordered list of 1–100 objects. Each object must contain only role ("user" or "assistant") and content (nonblank text, at most 32,768 characters). Example: [{"role":"user","content":"Name two primary colors."}]. System/tool roles and multimodal content are not supported.
OptionsobjectOptional object with only maxOutputTokens (whole number 1–8192; default 1024), temperature (0–2) and topP (greater than 0 and at most 1). Example: {"maxOutputTokens":200}. Omit sampling settings unless the selected model supports them. Unknown keys, tools and response-format settings are rejected.

Result

An object with responseId, outputText, model, finishReason and usage. Use outputText for the answer. finishReason retains the provider status/stop reason. usage has inputTokens, outputTokens and totalTokens; unknown counts are null. A safety stop or token limit can produce empty or shortened text.

Example

Account: select your OpenAI connection. Model: paste an enabled text-model ID. Instructions: "Answer briefly." Messages: [{"role":"user","content":"What is a webhook?"}]. Options: {"maxOutputTokens":200}. Save as answer and use answer.outputText.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. Inputs over the 64 KiB serialized request limit, responses over 2 MiB, or a request exceeding 30 seconds fail instead of returning a partial result.

List Models

Read one bounded page of OpenAI model identifiers without generating text. This lists model metadata; it does not prove access to every model or operation.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector belonging to this organization. Connect or reconnect the account from the account input menu; never enter a raw API key here.
CursortextLeave blank. This provider does not accept a model-pagination cursor in this command; a nonempty value is rejected.

Result

An object with models (each has id and name), nextCursor, hasMore and truncated. At most 500 model entries are returned; paginating providers request up to 100 per page. nextCursor is null when unavailable. If truncated is true with no nextCursor, the remaining catalogue cannot be fetched with this command.

Example

Account: select your OpenAI connection. Cursor: blank. Save the result as model_catalog and read model_catalog.models; select a suitable returned model ID for a text or embedding command.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. Inputs over the 64 KiB serialized request limit, responses over 2 MiB, or a request exceeding 30 seconds fail instead of returning a partial result.

Create Embeddings

Convert a list of texts into numeric vectors with a compatible OpenAI embedding model. Use vectors for similarity search or matching; this does not store them in a database.

Inputs

InputTypeHow to use it
AccountAccountSelect an existing OpenAI connector belonging to this organization. Connect or reconnect the account from the account input menu; never enter a raw API key here.
ModeltextPaste the exact model ID enabled for your OpenAI account, up to 200 characters; there is no default model. Model access depends on your account. Use List Models where available, then choose a model that supports this operation.
InputlistRequired list of 1–32 nonblank text values, each at most 8,192 characters. Example: ["Red apple","Green pear"]. Keep the whole serialized request within 64 KiB; output index matches the original input position.
OptionsobjectOptional object. The only supported setting for this provider is dimensions: a whole number from 1 to 3072, for models that support a custom vector size. Leave blank or {} to use the model default. Example: {"dimensions":256}.

Result

An object with model, data and usage. data contains one {index, embedding} entry per input in original order; embedding is a list of finite numbers. usage has inputTokens, outputTokens and totalTokens; unknown counts are null. Vector length depends on the model and supported settings.

Example

Account: select your OpenAI connection. Model: paste an enabled embedding-model ID. Input: ["Red apple","Green pear"]. Options: {}. Save as vectors and use vectors.data[0].embedding for the first text.

Errors and limits

A missing, revoked, wrong-provider or inaccessible organization account stops the command. Isolated tests and live debugging do not contact providers; enable Use live data deliberately to test a connected account. Provider permissions, unsupported models/options, billing and rate limits can reject requests. Provider errors are summarized and external requests are not automatically retried. Inputs over the 64 KiB serialized request limit, responses over 2 MiB, or a request exceeding 30 seconds fail instead of returning a partial result.

Test safely

Isolated tests and live debugging do not call connected providers. Enable Use live data only when you intend to contact the account. Writes, messages and AI requests can change real data or incur provider charges. A successful connection check does not prove access to every action. These examples explain the command contract; they are not evidence of a completed live provider request.

Related Topics

GitHub commands

Use these commands from an endpoint, server function or event. Choose Add Command → Connector → GitHub, select the action, then choose an Account. Selecting an account reveals the remaining inputs. When the command returns a result, open OUTPUT and use Return as to name it for later commands. [All c...

Zendesk commands

Use these commands from an endpoint, server function or event. Choose Add Command → Connector → Zendesk, select the action, then choose an Account. Selecting an account reveals the remaining inputs. When the command returns a result, open OUTPUT and use Return as to name it for later commands. [All ...

Slack commands

Use these commands from an endpoint, server function or event. Choose Add Command → Connector → Slack, select the action, then choose an Account. Selecting an account reveals the remaining inputs. When the command returns a result, open OUTPUT and use Return as to name it for later commands. [All co...

xAI (Grok) commands

Use these commands from an endpoint, server function or event. Choose Add Command → Connector → xAI (Grok), select the action, then choose an Account. Selecting an account reveals the remaining inputs. When the command returns a result, open OUTPUT and use Return as to name it for later commands. [A...

Twilio commands

Use these commands from an endpoint, server function or event. Choose Add Command → Connector → Twilio, select the action, then choose an Account. Selecting an account reveals the remaining inputs. When the command returns a result, open OUTPUT and use Return as to name it for later commands. [All c...