Hurozo Chat
For: Conversational prompts that stay within Hurozo's managed reasoning service and return the textual answer.
Inputs: prompt (STRING), schema (STRING or JSON, optional), files (FILE, multi‑input).
Outputs: response (STRING; pretty‑printed JSON when a schema is provided).
Schema mode: Supply a JSON Schema (either as raw JSON or JSON text). When present, the node requests strict JSON output that matches the schema and pretty‑prints the JSON in the response. Leave the schema input empty to receive normal free‑form text.
Attachments: Connect one or more Storage / File nodes to files. Image files are embedded as inline images. Other files are included as text blocks with a filename header; large files are truncated to a safe size. If no files are connected, nothing is attached.
Schema Examples
Drop these schemas into the schema input to enforce structured responses. Each example highlights a different validation pattern the node supports.
ObjectColorMap
Captures arbitrary keys where each value must be one of a known color set.
{
"type": "object",
"title": "ObjectColorMap",
"additionalProperties": {
"type": "string",
"enum": ["red", "blue", "green", "yellow", "purple"]
}
}
PipelineConfig
Describes a config with required metadata, a stage list, and optional plugin lookup by name.
{
"type": "object",
"title": "PipelineConfig",
"required": ["name", "version", "stages"],
"properties": {
"name": { "type": "string" },
"version": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" },
"stages": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["id", "type"],
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["extract", "transform", "load"] },
"dependsOn": {
"type": "array",
"items": { "type": "string" },
"uniqueItems": true
},
"config": { "type": "object", "additionalProperties": true }
},
"additionalProperties": false
}
},
"plugins": {
"type": "object",
"description": "Optional plugin map keyed by plugin name",
"additionalProperties": {
"type": "object",
"required": ["entrypoint"],
"properties": {
"entrypoint": { "type": "string" },
"enabled": { "type": "boolean", "default": true }
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
Notification
Uses oneOf with a discriminator to explain different payloads.
{
"type": "object",
"title": "Notification",
"required": ["kind"],
"properties": {
"kind": { "type": "string", "enum": ["email", "sms", "push"] }
},
"additionalProperties": false,
"oneOf": [
{
"properties": {
"kind": { "const": "email" },
"subject": { "type": "string" },
"bodyHtml": { "type": "string" },
"recipients": {
"type": "array",
"items": { "type": "string", "format": "email" },
"minItems": 1
}
},
"required": ["subject", "bodyHtml", "recipients"]
},
{
"properties": {
"kind": { "const": "sms" },
"message": { "type": "string", "maxLength": 160 },
"phoneNumber": { "type": "string", "pattern": "^\\+[1-9]\\d{1,14}$" }
},
"required": ["message", "phoneNumber"]
},
{
"properties": {
"kind": { "const": "push" },
"title": { "type": "string" },
"body": { "type": "string" },
"priority": { "type": "string", "enum": ["low", "normal", "high"], "default": "normal" },
"data": { "type": "object", "additionalProperties": { "type": ["string", "number", "boolean"] } }
},
"required": ["title", "body"]
}
]
}
PaginatedSearchResult
Combines page metadata with arrays of polymorphic items and supports unknown filtering keys.
{
"type": "object",
"title": "PaginatedSearchResult",
"required": ["total", "items", "page", "pageSize"],
"properties": {
"total": { "type": "integer", "minimum": 0 },
"page": { "type": "integer", "minimum": 1 },
"pageSize": { "type": "integer", "minimum": 1, "maximum": 100 },
"filters": {
"type": "object",
"description": "Arbitrary applied filters keyed by field name",
"additionalProperties": {
"type": ["string", "number", "boolean", "array"],
"items": { "type": ["string", "number", "boolean"] }
}
},
"items": {
"type": "array",
"items": {
"oneOf": [
{
"title": "UserItem",
"type": "object",
"required": ["type", "id", "username"],
"properties": {
"type": { "const": "user" },
"id": { "type": "string", "format": "uuid" },
"username": { "type": "string" },
"profile": { "type": "object", "additionalProperties": true }
},
"additionalProperties": false
},
{
"title": "TeamItem",
"type": "object",
"required": ["type", "id", "teamName", "members"],
"properties": {
"type": { "const": "team" },
"id": { "type": "string", "format": "uuid" },
"teamName": { "type": "string" },
"members": {
"type": "array",
"items": { "type": "string", "format": "uuid" },
"minItems": 1
}
},
"additionalProperties": false
}
]
}
},
"links": {
"type": "object",
"required": ["self"],
"properties": {
"self": { "type": "string", "format": "uri" },
"next": { "type": ["string", "null"], "format": "uri" },
"prev": { "type": ["string", "null"], "format": "uri" }
},
"additionalProperties": false
}
},
"additionalProperties": false
}