You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: skills/uipath-maestro-case/references/connector-integration.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,6 +92,8 @@ Input keys come from the `describe` response (Step 4): typically `body`, `queryP
92
92
93
93
## Filter Expression Syntax
94
94
95
+
>**Note:** The direct JSON write path uses structured filter trees (see [connector-trigger-common.md §7](connector-trigger-common.md#7-build-input-values-and-filter)) instead of flat filter expressions. The CLI internally converts event parameters to a structured filter tree.
96
+
95
97
Trigger `data.filter` (or `node.data.uipath.filter`for event triggers) uses the connector's filter DSL. Common patterns:
Copy file name to clipboardExpand all lines: skills/uipath-maestro-case/references/connector-trigger-common.md
+81-10Lines changed: 81 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,14 +82,83 @@ If an SDD input matches an `eventParameters` field name, it's an event parameter
82
82
{"parentFolderId": "AAMkADNm..."}
83
83
```
84
84
85
-
**filter** — translate SDD filter criteria using `filterFields` from Step 3. Use JMESPath syntax. Supports `=vars.X` for runtime case variable references:
85
+
**filter** — translate SDD filter criteria using `filterFields` from Step 3. Build a **structured filter tree** (NOT a flat JMESPath string). The CLI converts the tree to a JMESPath expression automatically.
No filter (trigger fires on all events): omit `filter` from the tasks.md entry entirely.
158
+
159
+
#### Dynamic variable limitation
160
+
161
+
The filter tree only supports `isLiteral: true` values. When a filter requires runtime case variable references (`=vars.X`), write the `body.filters.expression` JMESPath string directly and leave `essentialConfiguration.filter` as `null`. This is a known SDK limitation shared with flow-tool.
93
162
94
163
Only use field names that appear in `filterFields`. If a filter cannot be translated unambiguously, **AskUserQuestion**.
95
164
@@ -183,16 +252,16 @@ Every context entry MUST include `"type": "string"` (or `"type": "json"` for met
>**Critical:**`activityType` MUST be `"CuratedWaitFor"` — NOT `Config.activityType` (which is `"CuratedTrigger"`).
190
259
191
-
>`filter`is always `null`in essentialConfiguration. The filter goes in`inputs[].body.filters.expression` only.
260
+
>When a structured filter tree is provided (from §7), store it in`essentialConfiguration.filter` so Studio Web can round-trip the filter UI. The derived JMESPath expression goes in`inputs[].body.filters.expression`. When no filter is needed, `filter` stays `null`.
192
261
193
262
### Input body (from tasks.md values)
194
263
195
-
If `input-values` has event parameters, convert to JMESPath + combine with `filter`:
264
+
If `input-values` has event parameters, the CLI auto-generates the JMESPath expression from the structured filter tree. The body contains:
196
265
197
266
```json
198
267
{
@@ -225,7 +294,9 @@ After writing root bindings, populate IS connection cache per [bindings-v2-sync.
225
294
## What NOT to Do (shared)
226
295
227
296
- **Do NOT use `CuratedTrigger`**in essentialConfiguration. It MUST be `CuratedWaitFor`.
228
-
- **Do NOT put filter in`essentialConfiguration.filter`.** It stays `null`. Filter goes in`body.filters.expression`.
297
+
- **Do NOT hand-write JMESPath filter expressions.** Build a structured filter tree (§7); the CLI derives the expression automatically.
298
+
- **Do NOT use `filterExpression` as a CLI input.** The CLI rejects raw `filterExpression` strings (MST-8802).
299
+
- **Never reuse a reference ID from a prior case or session.** Reference IDs (mailbox folders, Slack channels, Jira projects) are scoped to the authenticated account behind each connection. Always resolve fresh via `uip is resources execute list` against the current `--connection-id`.
229
300
- **Do NOT add `body.parameters`.** Only `body.filters.expression` + `body.queryParams`.
Copy file name to clipboardExpand all lines: skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -280,6 +280,7 @@ All issues appended to the shared issue list per [logging/impl-json.md](../../lo
280
280
- **Do NOT omit `file` input** when `enrichment.multipartParameters` has a file entry. Include it even when empty.
281
281
- **Do NOT add `data.name`.** The FE does not use it for connector tasks.
282
282
- **Do NOT auto-inject `entryConditions`.** Step 10 handles them — injecting here creates duplicates.
283
+
- **Never reuse a reference ID from a prior case or session.** Reference IDs (e.g., Jira project keys, Slack channel IDs) are scoped to the authenticated account behind each connection. Always resolve fresh via `uip is resources execute list` against the current `--connection-id`.
0 commit comments