picked 0.0.102-next.1 → 0.0.102-next.2

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.
Files changed (36) hide show
  1. package/docs/reference/dashboard/workflow-test-runs.md +40 -17
  2. package/docs/reference/management-api/schema/action.md +67 -79
  3. package/docs/reference/management-api/schema/analytics-session.md +77 -94
  4. package/docs/reference/management-api/schema/analytics.md +16 -14
  5. package/docs/reference/management-api/schema/api-key.md +43 -51
  6. package/docs/reference/management-api/schema/auth.md +271 -404
  7. package/docs/reference/management-api/schema/cms-fields.md +348 -245
  8. package/docs/reference/management-api/schema/cms-models.md +369 -378
  9. package/docs/reference/management-api/schema/common.md +69 -130
  10. package/docs/reference/management-api/schema/condition.md +63 -74
  11. package/docs/reference/management-api/schema/design-system.md +59 -51
  12. package/docs/reference/management-api/schema/experience.md +388 -364
  13. package/docs/reference/management-api/schema/external-api.md +153 -171
  14. package/docs/reference/management-api/schema/feature.md +85 -103
  15. package/docs/reference/management-api/schema/feedback.md +27 -31
  16. package/docs/reference/management-api/schema/field.md +117 -135
  17. package/docs/reference/management-api/schema/index.md +184 -184
  18. package/docs/reference/management-api/schema/integration.md +72 -78
  19. package/docs/reference/management-api/schema/label.md +81 -137
  20. package/docs/reference/management-api/schema/lead.md +80 -119
  21. package/docs/reference/management-api/schema/mcp-server.md +73 -71
  22. package/docs/reference/management-api/schema/metric.md +6 -9
  23. package/docs/reference/management-api/schema/operation.md +17 -26
  24. package/docs/reference/management-api/schema/organization.md +198 -220
  25. package/docs/reference/management-api/schema/project.md +177 -186
  26. package/docs/reference/management-api/schema/report.md +69 -65
  27. package/docs/reference/management-api/schema/saved-view.md +71 -71
  28. package/docs/reference/management-api/schema/shopify.md +331 -204
  29. package/docs/reference/management-api/schema/step.md +72 -80
  30. package/docs/reference/management-api/schema/tenant-branding.md +48 -70
  31. package/docs/reference/management-api/schema/workbench.md +54 -66
  32. package/docs/reference/management-api/schema/workflow-run.md +66 -79
  33. package/docs/reference/management-api/schema/workflow.md +310 -353
  34. package/docs/reference/management-api/schema/workspace-version.md +212 -261
  35. package/docs/reference/management-api/schema/workspace.md +275 -328
  36. package/package.json +4 -4
@@ -6,8 +6,8 @@ layout: docs
6
6
  # Workflow test runs
7
7
 
8
8
  A test run runs the draft of a workflow one time, with the trigger input that you give.
9
- It shows what each node did. It saves nothing, so you can test a change before you
10
- publish it.
9
+ It shows what each node did. By default it saves nothing, so you can test a change before
10
+ you publish it.
11
11
 
12
12
  ## Where to start a test run
13
13
 
@@ -38,16 +38,39 @@ Each action field gets the input for its type:
38
38
 
39
39
  A required field must have a value before the test run starts.
40
40
 
41
+ ## Execute writes
42
+
43
+ Set **Execute writes** to run the tools that write. This option is off by default.
44
+
45
+ :::warning
46
+ Writes are real. The test run creates and changes leads and labels, sends requests to
47
+ external APIs and answers the action. You cannot undo these writes.
48
+ :::
49
+
50
+ When **Execute writes** is on:
51
+
52
+ - Each tool that writes runs as it does in a run.
53
+ - Each write records the workflow as the thing that made it.
54
+ - An **Action response** node shows the payload of its answer in its output.
55
+ - **Set run labels** and **Remove run labels** write the labels of the test run. Picked deletes
56
+ these labels when the test run ends.
57
+ - A wait node does not wait.
58
+ - The test run stops after 60 seconds. It shows `Failed` and the nodes that it ran before
59
+ it stopped. The API gives the failure code `test_run_timed_out`.
60
+ - If a tool runs when the test run stops, that tool shows `Failed`. Its write can
61
+ continue after the stop.
62
+
63
+ The scopes that you must have do not change.
64
+
41
65
  ## What runs
42
66
 
43
- | Node | In a test run |
44
- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
45
- | Tool that reads, such as **Search leads** or an **External API** `GET` or `HEAD` | Runs. |
46
- | Tool that writes, such as **Create lead**, **Set lead labels** or an **External API** `POST` | Does not run. The result shows the input that it would send. |
47
- | **Set run labels** and **Remove run labels** | Do not run, because Picked does not keep a test run. The result shows the input that they would send. |
48
- | **Get run** | Runs, and gives the ID of the test run, which starts with `test_`, and no labels. |
49
- | Condition | Runs, and shows the branch that it took. |
50
- | Wait | Does not wait. |
67
+ | Node | In a test run |
68
+ | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
69
+ | Tool that reads, such as **Search leads** or an **External API** `GET` or `HEAD` | Runs. |
70
+ | Tool that writes, such as **Create lead**, **Set lead labels** or an **External API** `POST` | Runs only when **Execute writes** is on. If it does not run, the result shows the input that it would send. |
71
+ | **Get run** | Runs, and gives the ID of the test run, which starts with `test_`, and the labels of the test run. |
72
+ | Condition | Runs, and shows the branch that it took. |
73
+ | Wait | Does not wait. |
51
74
 
52
75
  A later node that reads the output of a skipped node gets no value.
53
76
 
@@ -58,18 +81,18 @@ a later visit shows its number, such as `visit 2`. Refer to the
58
81
 
59
82
  ## Result
60
83
 
61
- | Status | Meaning |
62
- | ----------- | ------------------------------------------------ |
63
- | `Succeeded` | The node did its work. |
64
- | `Skipped` | The tool writes, so the test run did not run it. |
65
- | `Failed` | The node failed, and shows the reason. |
84
+ | Status | Meaning |
85
+ | ----------- | -------------------------------------- |
86
+ | `Succeeded` | The node did its work. |
87
+ | `Skipped` | The test run did not run the tool. |
88
+ | `Failed` | The node failed, and shows the reason. |
66
89
 
67
90
  When a node fails, the test run stops at that node and shows `Failed`. If an edge leaves
68
91
  the error exit of the node, the test run continues on that edge as a run does, and can
69
92
  show `Completed`. Refer to the [workflow runs reference](/reference/dashboard/workflow-runs#run-status).
70
93
 
71
- Each node shows its input and its output. A test run does not show in **Runs**, and it
72
- does not create or change leads or labels.
94
+ Each node shows its input and its output. A test run does not show in **Runs**. When
95
+ **Execute writes** is off, it does not create or change leads or labels.
73
96
 
74
97
  ## Run variables
75
98
 
@@ -6,13 +6,14 @@ generated: true
6
6
 
7
7
  # Action schema
8
8
 
9
- The operations and types that `action.graphql` adds to the Management API. See [Management API schema](/reference/management-api/schema) for every domain, the endpoint and authentication.
9
+ See [Management API schema](/reference/management-api/schema) for every domain, the endpoint and authentication.
10
10
 
11
11
  ## Queries
12
12
 
13
13
  ### `action`
14
14
 
15
- Get an action by ID within a workspace.
15
+ Reads an action.
16
+ Scope: `ORGANIZATION_WORKSPACE_READ`.
16
17
 
17
18
  ```graphql
18
19
  action(id: ID!, workspaceId: ID!): Action @auth
@@ -20,8 +21,9 @@ action(id: ID!, workspaceId: ID!): Action @auth
20
21
 
21
22
  ### `actions`
22
23
 
23
- List actions in a workspace. Filter by name with `search` (case-insensitive
24
- substring) and order with `sortKey` (default `NAME`) plus `reverse`.
24
+ Lists the actions in a workspace. `search` matches a case-insensitive substring of the name;
25
+ `sortKey` and `reverse` set the order.
26
+ Scope: `ORGANIZATION_WORKSPACE_READ`.
25
27
 
26
28
  ```graphql
27
29
  actions(first: Int, after: String, last: Int, before: String, workspaceId: ID!, search: String, sortKey: ActionSortKeys = NAME, reverse: Boolean = false): ActionConnection! @auth
@@ -31,7 +33,8 @@ actions(first: Int, after: String, last: Int, before: String, workspaceId: ID!,
31
33
 
32
34
  ### `actionCreate`
33
35
 
34
- Create a new action. Requires scope: `ORGANIZATION_PROJECTS_UPDATE`.
36
+ Creates an action in a workspace.
37
+ Scope: `ORGANIZATION_WORKSPACE_UPDATE`.
35
38
 
36
39
  ```graphql
37
40
  actionCreate(input: ActionCreateInput!): ActionCreatePayload! @auth
@@ -39,7 +42,8 @@ actionCreate(input: ActionCreateInput!): ActionCreatePayload! @auth
39
42
 
40
43
  ### `actionUpdate`
41
44
 
42
- Update an action. Requires scope: `ORGANIZATION_PROJECTS_UPDATE`.
45
+ Updates an action.
46
+ Scope: `ORGANIZATION_WORKSPACE_UPDATE`.
43
47
 
44
48
  ```graphql
45
49
  actionUpdate(input: ActionUpdateInput!): ActionUpdatePayload! @auth
@@ -47,7 +51,9 @@ actionUpdate(input: ActionUpdateInput!): ActionUpdatePayload! @auth
47
51
 
48
52
  ### `actionDelete`
49
53
 
50
- Delete an action. Requires scope: `ORGANIZATION_PROJECTS_UPDATE`.
54
+ Deletes an action and the workflow it starts. An action that an experience references is not
55
+ deleted, and comes back as an `IN_USE` user error.
56
+ Scope: `ORGANIZATION_WORKSPACE_UPDATE`.
51
57
 
52
58
  ```graphql
53
59
  actionDelete(input: ActionDeleteInput!): ActionDeletePayload! @auth
@@ -59,37 +65,29 @@ actionDelete(input: ActionDeleteInput!): ActionDeletePayload! @auth
59
65
 
60
66
  ```graphql
61
67
  """
62
- A side effect triggered during experience flow execution. Workspace-
63
- scoped — actions are copied into a new workspace when the workspace is
64
- duplicated.
65
-
66
- Examples: API calls (`tracking/send-event`), analytics events
67
- (`segment/identify`), or SDK state updates (`features/toggle`). The
68
- shape of the side effect itself is encoded in the action's `key` and
69
- handled by the SDK plugin matching that key.
68
+ A side effect that starts when a flow reaches it. Your application registers a handler for it by
69
+ `key`.
70
70
  """
71
71
  type Action {
72
- """Unique action identifier."""
72
+ """The ID of the action."""
73
73
  id: ID!
74
- """Display name of the action."""
74
+ """The name of the action."""
75
75
  name: String!
76
- """Stable, human-readable key for SDK consumers."""
76
+ """The stable identifier of the action, unique within its workspace."""
77
77
  key: String!
78
- """Optional description of what this action does."""
78
+ """A description of the action. Null when none is set."""
79
79
  description: String
80
- """When this action was created."""
80
+ """When the action was created."""
81
81
  createdAt: DateTime!
82
- """When this action was last updated."""
82
+ """When the action last changed."""
83
83
  updatedAt: DateTime!
84
- """The workspace this action belongs to."""
84
+ """The workspace the action belongs to."""
85
85
  workspace: Workspace!
86
- """
87
- The workspace ID this action belongs to (denormalised for query convenience).
88
- """
86
+ """The ID of the workspace the action belongs to."""
89
87
  workspaceId: ID
90
- """Fields whose responses this action receives."""
88
+ """The fields whose answers the action receives."""
91
89
  fields(first: Int, after: String, last: Int, before: String): FieldConnection!
92
- """The one workflow this action starts, or null when it starts none."""
90
+ """The workflow the action starts. Null when it starts none."""
93
91
  workflow: Workflow
94
92
  }
95
93
  ```
@@ -97,19 +95,15 @@ type Action {
97
95
  ### `ActionConnection`
98
96
 
99
97
  ```graphql
100
- """
101
- Relay-style connection of actions, with both an `edges` list and a flat `nodes` accessor.
102
- """
98
+ """A page of actions."""
103
99
  type ActionConnection {
104
- """List of action edges."""
100
+ """The edges in this page."""
105
101
  edges: [ActionEdge!]!
106
- """
107
- Flat list of actions, equivalent to `edges[].node`. Convenience accessor.
108
- """
102
+ """The actions in this page."""
109
103
  nodes: [Action!]!
110
- """Pagination metadata."""
104
+ """Where this page sits in the list."""
111
105
  pageInfo: PageInfo!
112
- """Total number of actions."""
106
+ """The number of actions across all pages, ignoring `search`."""
113
107
  totalCount: Int!
114
108
  }
115
109
  ```
@@ -117,9 +111,9 @@ type ActionConnection {
117
111
  ### `ActionEdge`
118
112
 
119
113
  ```graphql
120
- """Edge type for `ActionConnection`."""
114
+ """An action in a page of results."""
121
115
  type ActionEdge {
122
- """Pagination cursor for this edge."""
116
+ """The cursor of this edge."""
123
117
  cursor: String!
124
118
  """The action."""
125
119
  node: Action!
@@ -129,17 +123,19 @@ type ActionEdge {
129
123
  ### `ActionCreateInput`
130
124
 
131
125
  ```graphql
132
- """Input for `actionCreate`."""
126
+ """The input of `actionCreate`."""
133
127
  input ActionCreateInput {
134
- """Workspace ID to create the action in."""
128
+ """The ID of the workspace to create the action in."""
135
129
  workspaceId: ID!
136
- """Display name for the action."""
130
+ """The name of the action."""
137
131
  name: String!
138
- """Unique key identifier for the action (stable across versions)."""
132
+ """
133
+ The stable identifier of the action, unique within the workspace. It cannot change later.
134
+ """
139
135
  key: String!
140
- """Description of what this action does."""
136
+ """A description of the action."""
141
137
  description: String
142
- """Ids of the fields whose responses this action receives."""
138
+ """The IDs of the fields whose answers the action receives."""
143
139
  fieldIds: [ID!]
144
140
  }
145
141
  ```
@@ -147,7 +143,7 @@ input ActionCreateInput {
147
143
  ### `ActionCreatePayload`
148
144
 
149
145
  ```graphql
150
- """Payload returned by `actionCreate`."""
146
+ """The result of `actionCreate`."""
151
147
  type ActionCreatePayload {
152
148
  """The created action."""
153
149
  action: Action
@@ -157,19 +153,18 @@ type ActionCreatePayload {
157
153
  ### `ActionUpdateInput`
158
154
 
159
155
  ```graphql
160
- """Input for `actionUpdate`. Omit a field to leave it unchanged."""
156
+ """The input of `actionUpdate`. Omit a field to keep its value."""
161
157
  input ActionUpdateInput {
162
- """Action ID."""
158
+ """The ID of the action."""
163
159
  id: ID!
164
- """Workspace ID the action belongs to."""
160
+ """The ID of the workspace the action belongs to."""
165
161
  workspaceId: ID!
166
- """New display name."""
162
+ """The name of the action."""
167
163
  name: String
168
- """New description."""
164
+ """A description of the action."""
169
165
  description: String
170
166
  """
171
- Replacement set of field ids. Omit to leave the set unchanged; pass an empty
172
- list to request nothing.
167
+ The IDs of the fields whose answers the action receives. Replaces the current set; an empty list clears it.
173
168
  """
174
169
  fieldIds: [ID!]
175
170
  }
@@ -178,7 +173,7 @@ input ActionUpdateInput {
178
173
  ### `ActionUpdatePayload`
179
174
 
180
175
  ```graphql
181
- """Payload returned by `actionUpdate`."""
176
+ """The result of `actionUpdate`."""
182
177
  type ActionUpdatePayload {
183
178
  """The updated action."""
184
179
  action: Action
@@ -188,11 +183,11 @@ type ActionUpdatePayload {
188
183
  ### `ActionDeleteInput`
189
184
 
190
185
  ```graphql
191
- """Input for `actionDelete`."""
186
+ """The input of `actionDelete`."""
192
187
  input ActionDeleteInput {
193
- """Action ID."""
188
+ """The ID of the action."""
194
189
  id: ID!
195
- """Workspace ID the action belongs to."""
190
+ """The ID of the workspace the action belongs to."""
196
191
  workspaceId: ID!
197
192
  }
198
193
  ```
@@ -200,13 +195,11 @@ input ActionDeleteInput {
200
195
  ### `ActionDeletePayload`
201
196
 
202
197
  ```graphql
203
- """
204
- Payload returned by `actionDelete`. Returns `userErrors` when the action is in use.
205
- """
198
+ """The result of `actionDelete`."""
206
199
  type ActionDeletePayload {
207
- """ID of the deleted action (null when `userErrors` is non-empty)."""
200
+ """The ID of the deleted action. Null when `userErrors` is not empty."""
208
201
  deletedActionId: ID
209
- """Validation errors. Empty array indicates success."""
202
+ """The reasons the action was not deleted. Empty on success."""
210
203
  userErrors: [ActionDeleteUserError!]!
211
204
  }
212
205
  ```
@@ -214,11 +207,9 @@ type ActionDeletePayload {
214
207
  ### `ActionDeleteUserErrorCode`
215
208
 
216
209
  ```graphql
217
- """Machine-readable error codes for `actionDelete`."""
210
+ """The reasons `actionDelete` refuses a delete."""
218
211
  enum ActionDeleteUserErrorCode {
219
- """
220
- The action is referenced by one or more experiences and cannot be deleted.
221
- """
212
+ """An experience references the action."""
222
213
  IN_USE
223
214
  }
224
215
  ```
@@ -226,18 +217,18 @@ enum ActionDeleteUserErrorCode {
226
217
  ### `ActionDeleteUserError`
227
218
 
228
219
  ```graphql
229
- """
230
- A user error from `actionDelete`. Carries the experiences that block the delete when `code` is `IN_USE`.
231
- """
220
+ """A reason `actionDelete` did not delete an action."""
232
221
  type ActionDeleteUserError {
233
- """Path to the input field that caused the error."""
222
+ """
223
+ The path to the input field at fault. Null when no single field is at fault.
224
+ """
234
225
  field: [String!]
235
- """Human-readable error message."""
226
+ """A message to show the user."""
236
227
  message: String!
237
- """Machine-readable error code."""
228
+ """A machine-readable code."""
238
229
  code: ActionDeleteUserErrorCode!
239
230
  """
240
- Experiences that reference this action (present when `code` is `IN_USE`).
231
+ The experiences that reference the action. Null unless `code` is `IN_USE`.
241
232
  """
242
233
  referencingExperiences: [ReferencingExperience!]
243
234
  }
@@ -246,16 +237,13 @@ type ActionDeleteUserError {
246
237
  ### `ActionSortKeys`
247
238
 
248
239
  ```graphql
249
- """
250
- Sort keys for `actions(...)`. Pair with `reverse: true` to flip the order
251
- (`NAME` + `reverse: false` sorts A→Z; `CREATED_AT` + `reverse: true` is newest-first).
252
- """
240
+ """The orders `actions` can sort by. `reverse: true` flips each."""
253
241
  enum ActionSortKeys {
254
- """Sort by `name` (alphabetical)."""
242
+ """By name, A to Z."""
255
243
  NAME
256
- """Sort by `createdAt`."""
244
+ """By creation time, oldest first."""
257
245
  CREATED_AT
258
- """Sort by `updatedAt`."""
246
+ """By last change, oldest first."""
259
247
  UPDATED_AT
260
248
  }
261
249
  ```