@superglue/cli 1.1.220 → 1.1.221

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -385,16 +385,16 @@ Attach files with repeatable `--file key=path`. Reference in payloads with `file
385
385
 
386
386
  **Request step fields** (HTTP, Postgres, MSSQL, Redis, MongoDB, FTP/SFTP, SMB) — see protocol-specific references for full details:
387
387
 
388
- | Field | Type | Description |
389
- | ------------- | ------ | ------------------------------------------------------------------------ |
390
- | `type` | string | `"request"` (default, can be omitted) |
391
- | `systemId` | string | Optional. Links system credentials for `<<systemId_credKey>>` resolution |
392
- | `url` | string | Full URL with `<<variable>>` placeholders. Required. |
393
- | `method` | string | HTTP method (HTTP only) |
394
- | `headers` | object | HTTP headers with credential placeholders (HTTP only) |
395
- | `queryParams` | object | URL query parameters (HTTP only) |
396
- | `body` | string | Request body / DB query / Redis command / file operation |
397
- | `pagination` | object | Auto-pagination config (HTTP only, see `sg skill http`) |
388
+ | Field | Type | Description |
389
+ | ------------- | ------ | ------------------------------------------------------------------ |
390
+ | `type` | string | `"request"` (default, can be omitted) |
391
+ | `systemId` | string | Optional. Resolves connection secrets as `<<systemId_secretName>>` |
392
+ | `url` | string | Full URL with `<<variable>>` placeholders. Required. |
393
+ | `method` | string | HTTP method (HTTP only) |
394
+ | `headers` | object | HTTP headers with credential placeholders (HTTP only) |
395
+ | `queryParams` | object | URL query parameters (HTTP only) |
396
+ | `body` | string | Request body / DB query / Redis command / file operation |
397
+ | `pagination` | object | Auto-pagination config (HTTP only, see `sg skill http`) |
398
398
 
399
399
  **Transform step fields:**
400
400
 
@@ -423,8 +423,8 @@ All step config fields (url, headers, body, queryParams) support `<<expression>>
423
423
  <<userId>> payload inputs
424
424
  <<currentItem>> whole current loop item
425
425
  <<page>> <<offset>> <<cursor>> <<limit>> <<pageSize>> pagination variables
426
- <<systemId_api_key>> system credentials (namespaced: systemId_credKey)
427
- <<systemId_url>> system base URLs (namespaced: systemId_url)
426
+ <<systemId_api_key>> connection secrets (namespaced: systemId_secretName)
427
+ <<systemId_url>> connection base URLs (namespaced: systemId_url)
428
428
  <<sg_auth_email>> email of the user triggering this run (in scheduled runs: the schedule creator)
429
429
  <<sg_auth_jwt>> short-lived signed JWT proving the identity of the user triggering this run; receivers verify it against superglue's outbound JWKS endpoint (/api/auth/outbound-jwks on the web app origin)
430
430
  ```
@@ -485,7 +485,7 @@ sourceData = {
485
485
  - State gives at-least-once execution with progress tracking, never exactly-once: crashes, concurrent-run conflicts, and state resets all cause re-processing, which re-executes side effects. Steps that write to external systems MUST be replay-safe — upsert by a stable external id or pass an idempotency key — or duplicates will land in the target system.
486
486
  - Keep set-valued keys bounded (e.g. keep only the most recent ~1,000 ids): an unbounded set eventually exceeds the 64KB value limit, which rejects the tool's entire state write on every run.
487
487
  - Never copy credential values into state — state is stored unencrypted and readable by anyone with read access to the tool.
488
- - Inspect current state via `sg tool state get <toolId>` (values matching known system credentials are masked); reset it via `sg tool state reset <toolId>`. A reset wins over in-flight runs: their updates to pre-reset keys are discarded as conflicts; only keys they newly add are kept.
488
+ - Inspect current state via `sg tool state get <toolId>` (values matching known connection secrets are masked); reset it via `sg tool state reset <toolId>`. A reset wins over in-flight runs: their updates to pre-reset keys are discarded as conflicts; only keys they newly add are kept.
489
489
  - Set state deliberately via `sg tool state set <toolId> --state '<json>'` (or `--state-file`) — a full replace, subject to the same key and size limits. To test warm-state behavior without touching real state, pass `--state-fixture '<json>'` (or `--state-fixture-file`) to `sg tool run`: it seeds `sourceData.persistedState` for that run and the run never saves state changes. Side effects still execute, including `tool:` chain webhooks — a chained tool runs for real against its own real state.
490
490
 
491
491
  ### Naming Rules — Avoiding Key Collisions
@@ -495,7 +495,7 @@ Everything in `sourceData` shares ONE flat namespace. Saving a tool rejects payl
495
495
  - `__files__`, `currentItem`, `persistedState`, `sg_auth_email`, `sg_auth_jwt` — injected by the runtime
496
496
  - `page`, `offset`, `cursor`, `limit`, `pageSize` — rejected only when the tool has a paginated step, because they would shadow the live pagination counters; on non-paginated tools they are allowed but discouraged (a later edit that adds pagination will force a rename)
497
497
  - the tool's own step ids — the step result overwrites a same-named payload key
498
- - anything starting with `<systemId>_` for a system the tool uses — the entire prefix is reserved for namespaced credentials (`<systemId>_<credKey>`, `<systemId>_url`), even names that don't match an existing credential, because credentials added to the system later would silently shadow the input
498
+ - anything starting with `<systemId>_` for a system the tool uses — the entire prefix is reserved for namespaced secrets (`<systemId>_<secretName>`, `<systemId>_url`), even names that don't match an existing secret, because secrets added to a connection later would silently shadow the input
499
499
 
500
500
  Safe naming: payload inputs get specific, domain-flavored names (`customerId`, `reportMonth`, `maxResults` — prefer `maxResults` over `limit` even on non-paginated tools, and never prefix an input with a referenced system's id); step ids are verb-prefixed camelCase (`fetchUsers`) and distinct from every payload key. If the user asks for an input named like a reserved key, use a safe alternative and explain why.
501
501
 
@@ -26,7 +26,7 @@ GraphQL APIs use HTTP POST under the hood. This skill covers the GraphQL-specifi
26
26
  | `method` | yes | Always `POST` |
27
27
  | `headers` | yes | Must include `Content-Type: application/json` and auth |
28
28
  | `body` | yes | JSON string with `query` and optional `variables` |
29
- | `systemId` | no | Links system credentials and URL |
29
+ | `systemId` | no | Resolves connection secrets and URL |
30
30
 
31
31
  ### Body Format
32
32
 
@@ -27,7 +27,7 @@ All fields support `<<variable>>` and `<<(sourceData) => ...>>` expressions.
27
27
  | `queryParams` | no | Key-value pairs appended to URL |
28
28
  | `body` | no | Stripped for GET/HEAD/DELETE/OPTIONS |
29
29
  | `pagination` | no | See Pagination section |
30
- | `systemId` | no | Links system credentials and URL. Omit for public APIs |
30
+ | `systemId` | no | Resolves connection secrets and URL. Omit for public APIs |
31
31
 
32
32
  For APIs that require the same query key multiple times, use an array value:
33
33
  `{ metadataHeaders: ["From", "Subject"] }` -> `?metadataHeaders=From&metadataHeaders=Subject`.
@@ -19,11 +19,11 @@ Configure the connection URL based on the selected credential's secrets — use
19
19
 
20
20
  ### Fields
21
21
 
22
- | Field | Required | Notes |
23
- | ---------- | -------- | -------------------------------------------------------------- |
24
- | `url` | yes | Connection string with `<<credential>>` placeholders |
25
- | `body` | yes | JSON: single operation object or array of operations |
26
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
22
+ | Field | Required | Notes |
23
+ | ---------- | -------- | -------------------------------------------------------- |
24
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
25
+ | `body` | yes | JSON: single operation object or array of operations |
26
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
27
27
 
28
28
  ### URL Format
29
29
 
@@ -21,11 +21,11 @@ Configure the connection URL based on the selected connection's secrets — use
21
21
 
22
22
  ### Fields
23
23
 
24
- | Field | Required | Notes |
25
- | ---------- | -------- | -------------------------------------------------------------- |
26
- | `url` | yes | Connection string with `<<credential>>` placeholders |
27
- | `body` | yes | JSON string with `query` and optional `params` |
28
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
24
+ | Field | Required | Notes |
25
+ | ---------- | -------- | -------------------------------------------------------- |
26
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
27
+ | `body` | yes | JSON string with `query` and optional `params` |
28
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
29
29
 
30
30
  ### URL Format
31
31
 
@@ -19,11 +19,11 @@ Configure the connection URL based on the selected credential's secrets — use
19
19
 
20
20
  ### Fields
21
21
 
22
- | Field | Required | Notes |
23
- | ---------- | -------- | -------------------------------------------------------------- |
24
- | `url` | yes | Connection string with `<<credential>>` placeholders |
25
- | `body` | yes | JSON string with `query` and optional `params` |
26
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
22
+ | Field | Required | Notes |
23
+ | ---------- | -------- | -------------------------------------------------------- |
24
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
25
+ | `body` | yes | JSON string with `query` and optional `params` |
26
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
27
27
 
28
28
  ### URL Format
29
29
 
@@ -19,11 +19,11 @@ Configure the connection URL based on the selected credential's secrets — use
19
19
 
20
20
  ### Fields
21
21
 
22
- | Field | Required | Notes |
23
- | ---------- | -------- | -------------------------------------------------------------- |
24
- | `url` | yes | Connection string with `<<credential>>` placeholders |
25
- | `body` | yes | JSON string with `query` and optional `params` |
26
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
22
+ | Field | Required | Notes |
23
+ | ---------- | -------- | -------------------------------------------------------- |
24
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
25
+ | `body` | yes | JSON string with `query` and optional `params` |
26
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
27
27
 
28
28
  ### URL Format
29
29
 
@@ -19,11 +19,11 @@ Configure the connection URL based on the selected credential's secrets — use
19
19
 
20
20
  ### Fields
21
21
 
22
- | Field | Required | Notes |
23
- | ---------- | -------- | -------------------------------------------------------------- |
24
- | `url` | yes | Connection string with `<<credential>>` placeholders |
25
- | `body` | yes | JSON: single command object or array for pipeline |
26
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
22
+ | Field | Required | Notes |
23
+ | ---------- | -------- | -------------------------------------------------------- |
24
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
25
+ | `body` | yes | JSON: single command object or array for pipeline |
26
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
27
27
 
28
28
  ### URL Format
29
29
 
@@ -21,11 +21,11 @@ Configure the connection URL based on the selected connection's secrets — use
21
21
 
22
22
  ### Fields
23
23
 
24
- | Field | Required | Notes |
25
- | ---------- | -------- | -------------------------------------------------------------- |
26
- | `url` | yes | Connection string with `<<credential>>` placeholders |
27
- | `body` | yes | JSON: single operation object or array for batch |
28
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
24
+ | Field | Required | Notes |
25
+ | ---------- | -------- | -------------------------------------------------------- |
26
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
27
+ | `body` | yes | JSON: single operation object or array for batch |
28
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
29
29
 
30
30
  ### URL Formats
31
31
 
@@ -124,7 +124,7 @@ When cloud billing is enabled, Trial organizations see **Upgrade Plan** in the s
124
124
  1. **Validate** tool structure (id, steps array, URLs on request steps)
125
125
  2. **For each step in order:**
126
126
  a. Build aggregated data: `{ ...originalPayload, ...previousStepResults }`
127
- b. Resolve system credentials (refresh OAuth if needed), namespace as `systemId_key`
127
+ b. Resolve connection secrets (refresh OAuth if needed), namespace as `systemId_secretName`
128
128
  c. Run `dataSelector` → object means single execution, array means loop
129
129
  d. For each item: merge `currentItem` into input and execute
130
130
  e. Wrap result: `{ currentItem, data, success }`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superglue/cli",
3
- "version": "1.1.220",
3
+ "version": "1.1.221",
4
4
  "bin": {
5
5
  "sg": "./dist/cli.js"
6
6
  },
@@ -385,16 +385,16 @@ Attach files with repeatable `--file key=path`. Reference in payloads with `file
385
385
 
386
386
  **Request step fields** (HTTP, Postgres, MSSQL, Redis, MongoDB, FTP/SFTP, SMB) — see protocol-specific references for full details:
387
387
 
388
- | Field | Type | Description |
389
- | ------------- | ------ | ------------------------------------------------------------------------ |
390
- | `type` | string | `"request"` (default, can be omitted) |
391
- | `systemId` | string | Optional. Links system credentials for `<<systemId_credKey>>` resolution |
392
- | `url` | string | Full URL with `<<variable>>` placeholders. Required. |
393
- | `method` | string | HTTP method (HTTP only) |
394
- | `headers` | object | HTTP headers with credential placeholders (HTTP only) |
395
- | `queryParams` | object | URL query parameters (HTTP only) |
396
- | `body` | string | Request body / DB query / Redis command / file operation |
397
- | `pagination` | object | Auto-pagination config (HTTP only, see `sg skill http`) |
388
+ | Field | Type | Description |
389
+ | ------------- | ------ | ------------------------------------------------------------------ |
390
+ | `type` | string | `"request"` (default, can be omitted) |
391
+ | `systemId` | string | Optional. Resolves connection secrets as `<<systemId_secretName>>` |
392
+ | `url` | string | Full URL with `<<variable>>` placeholders. Required. |
393
+ | `method` | string | HTTP method (HTTP only) |
394
+ | `headers` | object | HTTP headers with credential placeholders (HTTP only) |
395
+ | `queryParams` | object | URL query parameters (HTTP only) |
396
+ | `body` | string | Request body / DB query / Redis command / file operation |
397
+ | `pagination` | object | Auto-pagination config (HTTP only, see `sg skill http`) |
398
398
 
399
399
  **Transform step fields:**
400
400
 
@@ -423,8 +423,8 @@ All step config fields (url, headers, body, queryParams) support `<<expression>>
423
423
  <<userId>> payload inputs
424
424
  <<currentItem>> whole current loop item
425
425
  <<page>> <<offset>> <<cursor>> <<limit>> <<pageSize>> pagination variables
426
- <<systemId_api_key>> system credentials (namespaced: systemId_credKey)
427
- <<systemId_url>> system base URLs (namespaced: systemId_url)
426
+ <<systemId_api_key>> connection secrets (namespaced: systemId_secretName)
427
+ <<systemId_url>> connection base URLs (namespaced: systemId_url)
428
428
  <<sg_auth_email>> email of the user triggering this run (in scheduled runs: the schedule creator)
429
429
  <<sg_auth_jwt>> short-lived signed JWT proving the identity of the user triggering this run; receivers verify it against superglue's outbound JWKS endpoint (/api/auth/outbound-jwks on the web app origin)
430
430
  ```
@@ -485,7 +485,7 @@ sourceData = {
485
485
  - State gives at-least-once execution with progress tracking, never exactly-once: crashes, concurrent-run conflicts, and state resets all cause re-processing, which re-executes side effects. Steps that write to external systems MUST be replay-safe — upsert by a stable external id or pass an idempotency key — or duplicates will land in the target system.
486
486
  - Keep set-valued keys bounded (e.g. keep only the most recent ~1,000 ids): an unbounded set eventually exceeds the 64KB value limit, which rejects the tool's entire state write on every run.
487
487
  - Never copy credential values into state — state is stored unencrypted and readable by anyone with read access to the tool.
488
- - Inspect current state via `sg tool state get <toolId>` (values matching known system credentials are masked); reset it via `sg tool state reset <toolId>`. A reset wins over in-flight runs: their updates to pre-reset keys are discarded as conflicts; only keys they newly add are kept.
488
+ - Inspect current state via `sg tool state get <toolId>` (values matching known connection secrets are masked); reset it via `sg tool state reset <toolId>`. A reset wins over in-flight runs: their updates to pre-reset keys are discarded as conflicts; only keys they newly add are kept.
489
489
  - Set state deliberately via `sg tool state set <toolId> --state '<json>'` (or `--state-file`) — a full replace, subject to the same key and size limits. To test warm-state behavior without touching real state, pass `--state-fixture '<json>'` (or `--state-fixture-file`) to `sg tool run`: it seeds `sourceData.persistedState` for that run and the run never saves state changes. Side effects still execute, including `tool:` chain webhooks — a chained tool runs for real against its own real state.
490
490
 
491
491
  ### Naming Rules — Avoiding Key Collisions
@@ -495,7 +495,7 @@ Everything in `sourceData` shares ONE flat namespace. Saving a tool rejects payl
495
495
  - `__files__`, `currentItem`, `persistedState`, `sg_auth_email`, `sg_auth_jwt` — injected by the runtime
496
496
  - `page`, `offset`, `cursor`, `limit`, `pageSize` — rejected only when the tool has a paginated step, because they would shadow the live pagination counters; on non-paginated tools they are allowed but discouraged (a later edit that adds pagination will force a rename)
497
497
  - the tool's own step ids — the step result overwrites a same-named payload key
498
- - anything starting with `<systemId>_` for a system the tool uses — the entire prefix is reserved for namespaced credentials (`<systemId>_<credKey>`, `<systemId>_url`), even names that don't match an existing credential, because credentials added to the system later would silently shadow the input
498
+ - anything starting with `<systemId>_` for a system the tool uses — the entire prefix is reserved for namespaced secrets (`<systemId>_<secretName>`, `<systemId>_url`), even names that don't match an existing secret, because secrets added to a connection later would silently shadow the input
499
499
 
500
500
  Safe naming: payload inputs get specific, domain-flavored names (`customerId`, `reportMonth`, `maxResults` — prefer `maxResults` over `limit` even on non-paginated tools, and never prefix an input with a referenced system's id); step ids are verb-prefixed camelCase (`fetchUsers`) and distinct from every payload key. If the user asks for an input named like a reserved key, use a safe alternative and explain why.
501
501
 
@@ -26,7 +26,7 @@ GraphQL APIs use HTTP POST under the hood. This skill covers the GraphQL-specifi
26
26
  | `method` | yes | Always `POST` |
27
27
  | `headers` | yes | Must include `Content-Type: application/json` and auth |
28
28
  | `body` | yes | JSON string with `query` and optional `variables` |
29
- | `systemId` | no | Links system credentials and URL |
29
+ | `systemId` | no | Resolves connection secrets and URL |
30
30
 
31
31
  ### Body Format
32
32
 
@@ -27,7 +27,7 @@ All fields support `<<variable>>` and `<<(sourceData) => ...>>` expressions.
27
27
  | `queryParams` | no | Key-value pairs appended to URL |
28
28
  | `body` | no | Stripped for GET/HEAD/DELETE/OPTIONS |
29
29
  | `pagination` | no | See Pagination section |
30
- | `systemId` | no | Links system credentials and URL. Omit for public APIs |
30
+ | `systemId` | no | Resolves connection secrets and URL. Omit for public APIs |
31
31
 
32
32
  For APIs that require the same query key multiple times, use an array value:
33
33
  `{ metadataHeaders: ["From", "Subject"] }` -> `?metadataHeaders=From&metadataHeaders=Subject`.
@@ -19,11 +19,11 @@ Configure the connection URL based on the selected credential's secrets — use
19
19
 
20
20
  ### Fields
21
21
 
22
- | Field | Required | Notes |
23
- | ---------- | -------- | -------------------------------------------------------------- |
24
- | `url` | yes | Connection string with `<<credential>>` placeholders |
25
- | `body` | yes | JSON: single operation object or array of operations |
26
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
22
+ | Field | Required | Notes |
23
+ | ---------- | -------- | -------------------------------------------------------- |
24
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
25
+ | `body` | yes | JSON: single operation object or array of operations |
26
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
27
27
 
28
28
  ### URL Format
29
29
 
@@ -21,11 +21,11 @@ Configure the connection URL based on the selected connection's secrets — use
21
21
 
22
22
  ### Fields
23
23
 
24
- | Field | Required | Notes |
25
- | ---------- | -------- | -------------------------------------------------------------- |
26
- | `url` | yes | Connection string with `<<credential>>` placeholders |
27
- | `body` | yes | JSON string with `query` and optional `params` |
28
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
24
+ | Field | Required | Notes |
25
+ | ---------- | -------- | -------------------------------------------------------- |
26
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
27
+ | `body` | yes | JSON string with `query` and optional `params` |
28
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
29
29
 
30
30
  ### URL Format
31
31
 
@@ -19,11 +19,11 @@ Configure the connection URL based on the selected credential's secrets — use
19
19
 
20
20
  ### Fields
21
21
 
22
- | Field | Required | Notes |
23
- | ---------- | -------- | -------------------------------------------------------------- |
24
- | `url` | yes | Connection string with `<<credential>>` placeholders |
25
- | `body` | yes | JSON string with `query` and optional `params` |
26
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
22
+ | Field | Required | Notes |
23
+ | ---------- | -------- | -------------------------------------------------------- |
24
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
25
+ | `body` | yes | JSON string with `query` and optional `params` |
26
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
27
27
 
28
28
  ### URL Format
29
29
 
@@ -19,11 +19,11 @@ Configure the connection URL based on the selected credential's secrets — use
19
19
 
20
20
  ### Fields
21
21
 
22
- | Field | Required | Notes |
23
- | ---------- | -------- | -------------------------------------------------------------- |
24
- | `url` | yes | Connection string with `<<credential>>` placeholders |
25
- | `body` | yes | JSON string with `query` and optional `params` |
26
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
22
+ | Field | Required | Notes |
23
+ | ---------- | -------- | -------------------------------------------------------- |
24
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
25
+ | `body` | yes | JSON string with `query` and optional `params` |
26
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
27
27
 
28
28
  ### URL Format
29
29
 
@@ -19,11 +19,11 @@ Configure the connection URL based on the selected credential's secrets — use
19
19
 
20
20
  ### Fields
21
21
 
22
- | Field | Required | Notes |
23
- | ---------- | -------- | -------------------------------------------------------------- |
24
- | `url` | yes | Connection string with `<<credential>>` placeholders |
25
- | `body` | yes | JSON: single command object or array for pipeline |
26
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
22
+ | Field | Required | Notes |
23
+ | ---------- | -------- | -------------------------------------------------------- |
24
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
25
+ | `body` | yes | JSON: single command object or array for pipeline |
26
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
27
27
 
28
28
  ### URL Format
29
29
 
@@ -21,11 +21,11 @@ Configure the connection URL based on the selected connection's secrets — use
21
21
 
22
22
  ### Fields
23
23
 
24
- | Field | Required | Notes |
25
- | ---------- | -------- | -------------------------------------------------------------- |
26
- | `url` | yes | Connection string with `<<credential>>` placeholders |
27
- | `body` | yes | JSON: single operation object or array for batch |
28
- | `systemId` | no | Links system credentials for `<<systemId_credKey>>` resolution |
24
+ | Field | Required | Notes |
25
+ | ---------- | -------- | -------------------------------------------------------- |
26
+ | `url` | yes | Connection string with `<<credential>>` placeholders |
27
+ | `body` | yes | JSON: single operation object or array for batch |
28
+ | `systemId` | no | Resolves connection secrets as `<<systemId_secretName>>` |
29
29
 
30
30
  ### URL Formats
31
31
 
@@ -124,7 +124,7 @@ When cloud billing is enabled, Trial organizations see **Upgrade Plan** in the s
124
124
  1. **Validate** tool structure (id, steps array, URLs on request steps)
125
125
  2. **For each step in order:**
126
126
  a. Build aggregated data: `{ ...originalPayload, ...previousStepResults }`
127
- b. Resolve system credentials (refresh OAuth if needed), namespace as `systemId_key`
127
+ b. Resolve connection secrets (refresh OAuth if needed), namespace as `systemId_secretName`
128
128
  c. Run `dataSelector` → object means single execution, array means loop
129
129
  d. For each item: merge `currentItem` into input and execute
130
130
  e. Wrap result: `{ currentItem, data, success }`