Node reference

OpenAI for Joomla and WordPress

Calls OpenAI via the Responses API and merges structured output into the payload.

Overview

Calls OpenAI via the Responses API and merges structured output into the payload.

When the flow reaches this step, JOrchestrator calls the configured model using credentials from Node Configuration, then exposes the response fields listed below to downstream steps.

Why use this node

OpenAI is a AI step in the AI group. AI steps call language or media models. Use them to generate text, classify content, or produce assets that later steps publish or send.

Typical reasons teams add OpenAI to a flow:

  • Generate or transform content with OpenAI before publishing or sending
  • Use upstream CMS or webhook fields as prompts or context
  • Keep AI calls inside audited, repeatable flows rather than one-off scripts

Example workflows

Common patterns on the canvas:

  1. Trigger or Webhook → upstream steps → OpenAISend Email or CMS update
  2. Scheduled triggerOpenAIDebug (while testing) → production action

How to set it up

General — model, temperature, max tokens. Design — available fields, tools, output format, response JSON shape, and prompt.

Good to know

Enable file_search or MCP tools on Design when the model needs external context.

Properties panel

The designer shows these tabs for this node:

TabPurpose
InfoPlain-language description and output payload fields for downstream steps
GeneralCanvas label and read-only node ID
AIOptional assistant to help draft settings from plain language
DesignNode-specific configuration fields

System (automatic — not edited by the user)

These fields are managed by the designer or runtime — you do not type into them directly:

Property keyLabelTypeRequiredVisible whenNotes
_nodeIdNode IDnode-idNo
_payloadFieldsAvailable Fieldspayload-panelNo

| rawJsonShape | OpenAI response JSON | raw-json-shape-editor | No | outputFormat === 'raw_json' | { "title": "", "introtext": "", "customKey": "" } |

User-configured — General tab

Property keyLabelTypeRequiredVisible whenNotes
labelLabeltextNoNode label
modelModeltextNoModel name (e.g., gpt-4, claude-3, etc.)
temperatureTemperaturenumberNo0.7
maxTokensMax TokensnumberNo1000

User-configured — Design tab

Property keyLabelTypeRequiredVisible whenNotes

| agentPreset | Agent preset | select (transform \| research \| classifier \| editor \| custom; default: transform) | No | — | Transform (default) — Single-shot transform — no agent role or tools. Research agent — Web search (OpenAI) + structured JSON with citations. Classifier — Categorize or route content into structured labels. Editor — Editorial assistant — article-shaped output. Custom — Write your own system prompt below. |

systemPromptSystem prompttextareaNoAgent role and constraints (optional). Applied separately from the task prompt below. Defines how the model behaves (research agent, editor, classifier, etc.). The task prompt below describes what to do with upstream data this run.
openaiToolsTools to includeopenai-toolsNo
openaiVectorStoreIdsVector store IDs (file search)openai-vector-store-idsNoopenaiToolsIncludes:file_searchvs_… one per line or comma-separated
openaiMcpServerLabelMCP server labeltextNoopenaiToolsIncludes:mcpShown in tool calls (required for MCP)
openaiMcpServerUrlMCP server URLtextNoopenaiToolsIncludes:mcphttps://… (required unless connector ID is set)
openaiMcpConnectorIdMCP connector IDtextNoopenaiToolsIncludes:mcpOptional ChatGPT / connector id if not using URL
outputFormatOutput formatselect (legacy | image | article | raw_json | email; default: article)No
promptPrompttextareaYesEnter your OpenAI prompt here… Drag fields from Available Fields into the prompt.

CMS site configuration (not on this node's properties panel)

Credentials, API keys, mailers, SMTP, and integration defaults are configured in the CMS plugin under Node Configuration, not per step on this node. Link the flow to a domain before testing CMS-backed fields.

Output payload fields

After this step runs, later nodes can reference these fields using placeholders such as {{openai.parsed}}.

Field keyTypeDescription
parsedobjectParsed JSON object extracted from the LLM response.
titlestringTitle text for the created or updated record.
introtextstringArticle introduction / teaser HTML.
fulltextstringArticle main body HTML.
responsestringRaw text response from the LLM or API.
contentstringMain text content from the LLM response.
messageIdstringProvider message or email identifier.
usageobjectToken usage metadata from the LLM API.

Validation rules

  • Prompt (prompt) must be filled before the flow can be saved.