changedInput schema / properties / operations / items / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "accountIds": {
- "description": "Reads with: accounts that watch the target (LinkedIn account IDs). Omit it to default to the workspace's only LinkedIn account that is ready; with several, the error lists them so you can ask the person.",
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 25,
- "type": "array"
- },
- "actAccountIds": {
- "description": "Acts with: accounts that contact the people found (LinkedIn account IDs). Omit it to default to the workspace's only LinkedIn account that is ready; with several, the error lists them so you can ask the person. An explicit [] stays empty: the agent collects without contacting anyone.",
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 25,
- "type": "array"
- },
- "approvalMode": {
- "description": "Whether what this workflow drafts waits for a person. manual_review: every message waits in the review queue. auto_when_confident: messages still wait, and the ones the confidence check rates as safe to send unchanged go out on their own once the workspace's calibration allows it (a daily cap applies, and booking confirmations, files, conversation turns and flagged drafts always wait). automatic: no review step at all. On a signal agent this also removes its review steps; on any other workflow, review steps already in the graph keep waiting, so remove them with campaignstack_edit_workflow_graph. Omit to keep the current mode; on create, omit to start from the owner's onboarding answer. Only a workspace owner or admin can set it. Set automatic only when the user asked for messages to go out unreviewed.",
- "enum": [
- "manual_review",
- "auto_when_confident",
- "automatic"
- ],
- "type": "string"
- },
- "mode": {
- "const": "create",
- "type": "string"
- },
- "name": {
- "minLength": 1,
- "type": "string"
- },
- "publicReplyConfig": {
- "additionalProperties": {
- "type": "boolean"
- },
- "type": "object"
- },
- "silenceHours": {
- "type": "number"
- },
- "target": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "profile",
- "type": "string"
- },
- "platform": {
- "const": "linkedin",
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "urn": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "platform",
- "kind",
- "urn"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "groupId": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "group",
- "type": "string"
- },
- "platform": {
- "const": "linkedin",
- "type": "string"
- },
- "url": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "platform",
- "kind",
- "url",
- "groupId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "activityId": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "post",
- "type": "string"
- },
- "platform": {
- "const": "linkedin",
- "type": "string"
- },
- "url": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "platform",
- "kind",
- "url",
- "activityId"
- ],
- "type": "object"
- }
- ]
- },
- "targetName": {
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "enum": [
- "profile_feed",
- "company_feed",
- "group_watch",
- "post_engagement"
- ],
- "type": "string"
- }
- },
- "required": [
- "mode",
- "name",
- "type",
- "target",
- "targetName"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "accountIds": {
- "description": "Reads with: LinkedIn account IDs that watch the target. Omit to keep the current accounts.",
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 25,
- "type": "array"
- },
- "actAccountIds": {
- "description": "Acts with: LinkedIn account IDs that contact the people found. Omit to keep the current accounts; pass [] to stop contacting anyone while the agent keeps collecting.",
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 25,
- "type": "array"
- },
- "agentId": {
- "minLength": 1,
- "type": "string"
- },
- "agentScript": {
- "type": "string"
- },
- "approvalMode": {
- "$ref": "#/properties/operations/items/anyOf/0/properties/approvalMode",
- "description": "Whether what this workflow drafts waits for a person. manual_review: every message waits in the review queue. auto_when_confident: messages still wait, and the ones the confidence check rates as safe to send unchanged go out on their own once the workspace's calibration allows it (a daily cap applies, and booking confirmations, files, conversation turns and flagged drafts always wait). automatic: no review step at all. On a signal agent this also removes its review steps; on any other workflow, review steps already in the graph keep waiting, so remove them with campaignstack_edit_workflow_graph. Omit to keep the current mode; on create, omit to start from the owner's onboarding answer. Only a workspace owner or admin can set it. Set automatic only when the user asked for messages to go out unreviewed."
- },
- "mode": {
- "const": "update",
- "type": "string"
- },
- "name": {
- "minLength": 1,
- "type": "string"
- },
- "publicReplyConfig": {
- "additionalProperties": {
- "type": "boolean"
- },
- "type": "object"
- },
- "silenceHours": {
- "type": "number"
- }
- },
- "required": [
- "mode",
- "agentId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "agentId": {
- "minLength": 1,
- "type": "string"
- },
- "confirmed": {
- "description": "Required (must be true) when status is 'archived': archiving here runs the same permanent removal as campaignstack_delete_signal_agent. This permanently deletes a root record. Before calling it, name exactly what will be deleted, explain that it cannot be undone, and wait for an explicit yes.",
- "type": "boolean"
- },
- "mode": {
- "const": "set_status",
- "type": "string"
- },
- "status": {
- "enum": [
- "active",
- "paused",
- "archived"
- ],
- "type": "string"
- }
- },
- "required": [
- "mode",
- "agentId",
- "status"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "agentId": {
- "minLength": 1,
- "type": "string"
- },
- "exclusions": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "config": {},
- "enabled": {
- "default": true,
- "type": "boolean"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "state": {},
- "type": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "id",
- "type"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "mode": {
- "const": "set_exclusions",
- "type": "string"
- }
- },
- "required": [
- "mode",
- "agentId",
- "exclusions"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "const": "restore_guidance",
- "type": "string"
- },
- "versionId": {
- "description": "versionId of a previous agentScript version to restore.",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "mode",
- "versionId"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "accountIds": {
+ "description": "Reads with: accounts that watch the target (LinkedIn account IDs). Omit it to default to the workspace's only LinkedIn account that is ready; with several, the error lists them so you can ask the person.",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 25,
+ "type": "array"
+ },
+ "actAccountIds": {
+ "description": "Acts with: accounts that contact the people found (LinkedIn account IDs). Omit it to default to the workspace's only LinkedIn account that is ready; with several, the error lists them so you can ask the person. An explicit [] stays empty: the agent collects without contacting anyone.",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 25,
+ "type": "array"
+ },
+ "approvalMode": {
+ "description": "Whether what this workflow drafts waits for a person. manual_review: every message waits in the review queue. auto_when_confident: messages still wait, and the ones the confidence check rates as safe to send unchanged go out on their own once the workspace's calibration allows it (a daily cap applies, and booking confirmations, files, conversation turns and flagged drafts always wait). automatic: no review step at all. On a signal agent this also removes its review steps; on any other workflow, review steps already in the graph keep waiting, so remove them with campaignstack_edit_workflow_graph. Omit to keep the current mode; on create, omit to start from the owner's onboarding answer. Only a workspace owner or admin can set it. Set automatic only when the user asked for messages to go out unreviewed.",
+ "enum": [
+ "manual_review",
+ "auto_when_confident",
+ "automatic"
+ ],
+ "type": "string"
+ },
+ "captureMode": {
+ "description": "Post watchers only. all_commenters: a lead-magnet post, where every commenter asked for the resource, so each one gets a message asking whether it arrived. intent (default): only comments that show buying intent.",
+ "enum": [
+ "intent",
+ "all_commenters"
+ ],
+ "type": "string"
+ },
+ "followUps": {
+ "description": "Follow up if no reply: \"off\", 1 or 2 follow-ups, each drafted for review after 4 days of silence. Omit for the default: off for a lead-magnet post (captureMode all_commenters), 1 for every other agent.",
+ "enum": [
+ "off",
+ 1,
+ 2
+ ],
+ "type": [
+ "string",
+ "number"
+ ]
+ },
+ "mode": {
+ "const": "create",
+ "type": "string"
+ },
+ "name": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "publicReplyConfig": {
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "type": "object"
+ },
+ "silenceHours": {
+ "type": "number"
+ },
+ "target": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "profile",
+ "type": "string"
+ },
+ "platform": {
+ "const": "linkedin",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "urn": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "platform",
+ "kind",
+ "urn"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "groupId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "group",
+ "type": "string"
+ },
+ "platform": {
+ "const": "linkedin",
+ "type": "string"
+ },
+ "url": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "platform",
+ "kind",
+ "url",
+ "groupId"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "activityId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "post",
+ "type": "string"
+ },
+ "platform": {
+ "const": "linkedin",
+ "type": "string"
+ },
+ "url": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "platform",
+ "kind",
+ "url",
+ "activityId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "targetName": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "profile_feed",
+ "company_feed",
+ "group_watch",
+ "post_engagement"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode",
+ "name",
+ "type",
+ "target",
+ "targetName"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "accountIds": {
+ "description": "Reads with: LinkedIn account IDs that watch the target. Omit to keep the current accounts.",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 25,
+ "type": "array"
+ },
+ "actAccountIds": {
+ "description": "Acts with: LinkedIn account IDs that contact the people found. Omit to keep the current accounts; pass [] to stop contacting anyone while the agent keeps collecting.",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 25,
+ "type": "array"
+ },
+ "agentId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "agentScript": {
+ "type": "string"
+ },
+ "approvalMode": {
+ "$ref": "#/properties/operations/items/anyOf/0/properties/approvalMode",
+ "description": "Whether what this workflow drafts waits for a person. manual_review: every message waits in the review queue. auto_when_confident: messages still wait, and the ones the confidence check rates as safe to send unchanged go out on their own once the workspace's calibration allows it (a daily cap applies, and booking confirmations, files, conversation turns and flagged drafts always wait). automatic: no review step at all. On a signal agent this also removes its review steps; on any other workflow, review steps already in the graph keep waiting, so remove them with campaignstack_edit_workflow_graph. Omit to keep the current mode; on create, omit to start from the owner's onboarding answer. Only a workspace owner or admin can set it. Set automatic only when the user asked for messages to go out unreviewed."
+ },
+ "followUpAfterHours": {
+ "description": "Hours of silence before each follow-up (default 96). It must leave room inside silenceHours, so it is shortened when it does not fit.",
+ "maximum": 720,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "followUps": {
+ "$ref": "#/properties/operations/items/anyOf/0/properties/followUps",
+ "description": "Follow up if no reply: \"off\", 1 or 2. Omit to keep the current setting. Applies to people who reach the conversation step from now on."
+ },
+ "mode": {
+ "const": "update",
+ "type": "string"
+ },
+ "name": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "publicReplyConfig": {
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "type": "object"
+ },
+ "silenceHours": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "mode",
+ "agentId"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "agentId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "confirmed": {
+ "description": "Required (must be true) when status is 'archived': archiving here runs the same permanent removal as campaignstack_delete_signal_agent. This permanently deletes a root record. Before calling it, name exactly what will be deleted, explain that it cannot be undone, and wait for an explicit yes.",
+ "type": "boolean"
+ },
+ "mode": {
+ "const": "set_status",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "active",
+ "paused",
+ "archived"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode",
+ "agentId",
+ "status"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "agentId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "exclusions": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "config": {},
+ "enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "state": {},
+ "type": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "mode": {
+ "const": "set_exclusions",
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode",
+ "agentId",
+ "exclusions"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "const": "restore_guidance",
+ "type": "string"
+ },
+ "versionId": {
+ "description": "versionId of a previous agentScript version to restore.",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode",
+ "versionId"
+ ],
+ "type": "object"
+ }
+]