Resolve step parameters
resolve_parametersThe parameters a workflow step (action) or trigger takes, resolved against a connection and the values chosen so far. Pass exactly one of action or trigger.
Returns { status, data: [{ key, label, type, required, default, options, dynamic, dependent, … }] }. default is what the editor pre-fills. edit_source and create fill it in only for a field the app's #schema declares with a plain default (text, number, true/false, date, multiple-value text, dropdown or multiple dropdown), on a step whose params the edit writes; a field listed here but absent from the #schema (computed from earlier values), or an object or reference field, is not filled, so write its default yourself. When the workflow is published, a field this lists as html is marked so inserted answers are HTML-escaped, unless the param says options { encodeHTML: false }. A required key left out with nothing filled is refused. A static dropdown carries its choices in options; message and error fields only show text and take no value. An embedded field (a file picker, such as Google's) can't be filled by typing an id: picking the file is what gives the connection access to it. Such a field carries pick_url when you own the connection: give that link to the user to choose the file in their browser, then call again with the same input and the field carries picked { id, label }; write that option as the param's value. Without pick_url, only the connection's owner can choose the file. dynamic marks a dropdown whose options come from the connected account (read them with list_parameter_options); dependent marks a parameter whose shape changes with the ones it depends on. The list itself grows as values are set: parameters absent from the first answer appear once the ones before them have values, so after choosing any value call again with the full input so far, and stop when an answer repeats the previous one.
Example: resolve_parameters({ app: "12:app:airtable-1", action: "findRecord", connection: "12:connection:9c58…" }) → { "status": "success", "data": [ { "key": "applicationId", "type": "dropdown", "dynamic": true, … } ] }
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"app": "<app>",
"connection": "<connection>"
},
"name": "resolve_parameters"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | The app id, exactly as list({ type: "app" }) returned it. | |
| input | No | The parameter values chosen so far, key → value (plain values, not the source forms). Later parameters often depend on earlier ones. | |
| action | No | An action key, from fetch on the app. | |
| trigger | No | A trigger key, from fetch on the app. | |
| connection | Yes | A connection id for this app, from list({ type: "connection" }) or fetch on the app. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| status | No |