ModelAsk the model
- Step kind
- ModelCall
- Instructions
- Read the ticket. Say what it is about…
- Model
- tier/medium
- Output
- Structured
Inputs
- InstructionsstringRequired
- The question the step asks, sent as a user message. Raw text, or a reference to a prompt Momor holds.
- Modelmodel selector
- The models the step may run on: a model ID, tier/high, anthropic/*, or an object with Name, Tier, Publisher, Provider and System. Where absent, the workflow’s Model applies, and where the workflow names none, the step asks for auto: the models the organization lists in Settings › Models, tried in order.
- Operationsstring[]
- Declared operations the model may call during this step: tools, workflows and waits. It can only call what is listed.
- Outputoutput contract
- The reply shapes the step accepts. Where absent, it accepts text, calls, or both.
ContentToolCallStructured: <schema>OneOf: [...] - AttemptsintegerDefault
1 - How many logical requests the step may make when a reply fails, after Gateway has already tried every eligible provider.
- GatherAsNeeded | AlwaysDefault
AsNeeded - Always requires the reply to call at least one operation, so the output must admit calls.
- KnowledgeOpen | ToolsOnlyDefault
Open - ToolsOnly builds the answer from results already in the conversation, with claims tied to their sources.
- OnExhaustedpolicy
- What happens when the attempts run out. Without one, the step fails.
Outputs
- Contentstring
- The reply’s text. Output: Content keeps only this.
- Callsobject[]
- The calls the reply chose. Output: ToolCall keeps only these; an ExecuteModelToolCall step runs them.
- <schema fields>object
- With Output: { Structured: … }, the step’s value is the validated object itself, so later steps read its fields: { Field: Triage.Topic }.
Example
- ModelCall: Triage
Instructions: Read the ticket. Say what it is about and how urgent it is.
Model: tier/medium
Output:
Structured:
type: object
required: [Topic, Urgency]
properties:
Topic: { type: string }
Urgency: { type: string, enum: [Low, Normal, High] }When the model calls tools
Calls the model makes to declared tools come back in Calls; the step does not run them. Ask for Output: ToolCall, run the calls with ExecuteModelToolCall, and hand the results back with DeliverResults. Calls to a declared wait are the exception: the step raises the wait itself and asks the model again with the answer.
- ModelCall: Plan
Instructions: Decide which issues this ticket needs opened.
Operations: [Tracker]
Output: ToolCall
- ExecuteModelToolCall: Open
Operations: [Tracker]
- DeliverResults: HandOverTracker is a declared operation binding the tools of an MCP tool server. ExecuteModelToolCall runs only calls its own Operations allow; a call outside them is returned to the model as a failure, not run.
Model calls go through GatewayProvider failover, attachments and costs work as described in the Gateway docs. Attachments on the request are prepared for the model automatically. Momor makes these calls for the organization, so a Workflow organization needs no Gateway API key. Changing the model doesn’t change the workflow.