openapi: 3.2.0 info: description: Relevance AI Endpoints title: Relevance AI Endpoints Sync Items API version: latest contact: email: dev@tryrelevance.com servers: - url: /latest security: - AuthorizationHeader: - Authorization tags: - name: Sync Items paths: /sync-items/collections/{collection_id}/items/{document_id}/get: get: summary: GetSyncItems tags: - Sync Items description: '### Required permissions > []' operationId: GetSyncItems parameters: - name: collection_id in: path description: ID of collection required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: document_id in: path description: ID of document required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - in: query name: select_fields schema: type: array items: type: string description: Fields to include in the search results, empty array/list means all fields. description: Fields to include in the search results, empty array/list means all fields. responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetSyncItemsOutput' /sync-items/collections/{collection_id}/items/{document_id}: delete: summary: DeleteSyncItems tags: - Sync Items description: '### Required permissions > []' operationId: DeleteSyncItems parameters: - name: collection_id in: path description: ID of collection required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: document_id in: path description: ID of document required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteSyncItemsInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/DeleteSyncItemsOutput' /sync-items/collections/{collection_id}/list: post: summary: ListSyncItems tags: - Sync Items description: '### Required permissions > []' operationId: ListSyncItems parameters: - name: collection_id in: path description: ID of collection required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ListSyncItemsInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListSyncItemsOutput' /sync-items/collections/{collection_id}/items/{document_id}/upsert: post: summary: UpsertSyncItems tags: - Sync Items description: '### Required permissions > []' operationId: UpsertSyncItems parameters: - name: collection_id in: path description: ID of collection required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: document_id in: path description: ID of document required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertSyncItemsInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UpsertSyncItemsOutput' /sync-items/collections/{collection_id}/items/{document_id}/trigger: post: summary: TriggerSyncItem tags: - Sync Items description: 'Trigger only a specific item for a Sync ### Required permissions > []' operationId: TriggerSyncItem parameters: - name: collection_id in: path description: ID of collection required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: document_id in: path description: ID of document required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/TriggerSyncItemInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/TriggerSyncItemOutput' /sync-items/collections/{collection_id}/items/{document_id}/update_status: post: summary: UpdateSyncItemStatus tags: - Sync Items description: 'Updates sync item''s status ### Required permissions > []' operationId: UpdateSyncItemStatus parameters: - name: collection_id in: path description: ID of collection required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: document_id in: path description: ID of document required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSyncItemStatusInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UpdateSyncItemStatusOutput' /sync-items/collections/{collection_id}/items/{document_id}/fields/update: put: summary: UpdateSelectedSyncItemFields tags: - Sync Items description: 'Updates sync item ### Required permissions > [ { "actions": [ "agents:write" ] } ]' operationId: UpdateSelectedSyncItemFields parameters: - name: collection_id in: path description: ID of collection required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: document_id in: path description: ID of document required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSelectedSyncItemFieldsInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UpdateSelectedSyncItemFieldsOutput' /sync-items/collections/{collection_id}/bulk/postpone: put: summary: BulkPostponeUpcomingSyncItems tags: - Sync Items description: 'Bulk updates the execution date of upcoming sync items ### Required permissions > [ { "actions": [ "agents:write" ] } ]' operationId: BulkPostponeUpcomingSyncItems parameters: - name: collection_id in: path description: ID of collection required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkPostponeUpcomingSyncItemsInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/BulkPostponeUpcomingSyncItemsOutput' components: schemas: BulkPostponeUpcomingSyncItemsInput: type: object properties: postpone_by_seconds: type: number sync_type: type: string enum: - gmail - google_calendar - teams_calendar - outlook - hubspot - unipile_linkedin - unipile_whatsapp - unipile_telegram - whatsapp - relevance_meeting_bot - freshdesk - salesforce - zoominfo - webhook - custom_webhook - recurring - google_drive_pipedream - google_drive_knowledge - sharepoint - notion - confluence - slack - teams - jira - google_drive - zoom - todo_group - tool_trigger - external_relay - filesystem - pipedream required: - postpone_by_seconds - sync_type additionalProperties: false UpdateSyncItemStatusInput: type: object properties: status: type: string enum: - todo - processing - processed - paused - cancelled - errored - abandoned error: type: object properties: error_type: type: string enum: - no_credits - agent_not_found - unexpected_error - stale_action_request raw_error_message: type: string required: - status additionalProperties: false UpdateSyncItemStatusOutput: {} DeleteSyncItemsOutput: {} DeleteSyncItemsInput: {} UpsertSyncItemsOutput: type: object properties: message: type: string ListSyncItemsOutput: type: object properties: results: type: array items: type: object properties: insert_date_: type: string update_date: type: string expiry_date_: {} project: type: string _id: type: string feature: type: string collection_id: type: string document_id: type: string data: type: object properties: record: type: object properties: raw_data: {} additionalProperties: true sync_config_snapshot: type: object oneOf: - type: object properties: type: type: string gmail: type: object properties: oauth_account_id: type: string include_labels: type: array items: type: string exclude_emails: type: array items: type: string is_outreach_reply_only: type: boolean default: false is_attachments_enabled: type: boolean default: false recently_processed_ids: type: array items: type: object properties: gmail_id: type: string required: - gmail_id additionalProperties: false search: type: string thread_id_mapping: type: string required: - oauth_account_id additionalProperties: true required: - type - gmail additionalProperties: false - type: object properties: type: type: string google_calendar: type: object properties: oauth_account_id: type: string oauth_account_label: type: string calendar_id: type: string events: type: object properties: updated_min_date: type: string description: Lower bound for event's last modification time (as a RFC3339 timestamp) to filter by. notifications: type: array items: type: object properties: timeOffset: type: object oneOf: - properties: unit: type: string enum: - minutes quantity: type: integer minimum: 0 maximum: 1440 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - hours quantity: type: integer minimum: 0 maximum: 24 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - days quantity: type: integer minimum: 0 maximum: 365 direction: type: string enum: - before - after required: - unit - quantity - direction message: type: object properties: type: type: string enum: - raw - custom description: Type of the message content: type: string description: Custom message content (optional if type is 'Whole payload') required: - type additionalProperties: false required: - timeOffset - message additionalProperties: false description: An array of notifications required: - notifications required: - oauth_account_id - oauth_account_label - calendar_id - events additionalProperties: true required: - type - google_calendar additionalProperties: false - type: object properties: type: type: string teams_calendar: type: object properties: oauth_account_id: type: string oauth_account_label: type: string calendar_id: type: string events: type: object properties: updated_min_date: type: string description: Lower bound for event's last modification time (as a RFC3339 timestamp) to filter by. watched_sensitivities: type: array items: type: string enum: - normal - private description: Which Microsoft Graph event sensitivity levels should trigger the agent or workforce. Omit to watch every event (the default). The UI pre-selects all levels; removing one (e.g. 'private') stops events of that sensitivity from triggering. An empty array watches nothing. notifications: type: array items: type: object properties: timeOffset: type: object oneOf: - properties: unit: type: string enum: - minutes quantity: type: integer minimum: 0 maximum: 1440 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - hours quantity: type: integer minimum: 0 maximum: 24 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - days quantity: type: integer minimum: 0 maximum: 365 direction: type: string enum: - before - after required: - unit - quantity - direction message: type: object properties: type: type: string enum: - raw - custom description: Type of the message content: type: string description: Custom message content (optional if type is 'Whole payload') required: - type additionalProperties: false required: - timeOffset - message additionalProperties: false description: An array of notifications required: - oauth_account_id - oauth_account_label - calendar_id - events additionalProperties: true required: - type - teams_calendar additionalProperties: false - type: object properties: type: type: string outlook: type: object properties: oauth_account_id: type: string exclude_emails: type: array items: type: string is_outreach_reply_only: type: boolean default: false is_attachments_enabled: type: boolean default: false recently_processed_ids: type: array items: type: object properties: outlook_id: type: string required: - outlook_id additionalProperties: false search: type: string thread_id_mapping: type: string required: - oauth_account_id additionalProperties: true required: - type - outlook additionalProperties: false - type: object properties: type: type: string hubspot: type: object properties: oauth_account_id: type: string oauth_account_label: type: string include_labels: type: array items: type: string exclude_labels: type: array items: type: string labels: type: array items: type: string search: type: string additionalProperties: true required: - type - hubspot additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string whatsapp: type: object properties: oauth_account_id: type: string whatsapp_business_account_id: type: string required: - whatsapp_business_account_id additionalProperties: true required: - type - whatsapp additionalProperties: false - type: object properties: type: type: string relevance_meeting_bot: type: object properties: bot_id: type: string additionalProperties: true required: - type - relevance_meeting_bot additionalProperties: false - type: object properties: type: type: string freshdesk: type: object properties: oauth_account_id: type: string description: DEPRECATED whitelist: type: array items: type: object properties: source_object: type: string enum: - ticket default: ticket source_properties: type: array items: type: object properties: field_name: type: string whitelist_values: type: array items: {} required: - field_name - whitelist_values additionalProperties: false required: - source_object - source_properties additionalProperties: false additionalProperties: false required: - type - freshdesk additionalProperties: false - type: object properties: type: type: string salesforce: type: object properties: oauth_account_id: type: string oauth_account_label: type: string salesforce_query: type: string last_processed_message_date_utc: type: string page_size: type: number default: 1000 sync_interval: type: string enum: - minutely - hourly - daily default: minutely last_sync_date_utc: type: string dedupe_field: type: string enum: - Email - None - Disabled mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false task_creation_mode: type: string enum: - existing_tasks_only - new_and_existing_tasks description: The task creation mode controls how tasks are created and appended to. required: - oauth_account_id - salesforce_query additionalProperties: false required: - type - salesforce additionalProperties: false - type: object properties: type: type: string zoominfo: type: object properties: oauth_account_id: type: string description: DEPRECATED intent_topics: type: array items: type: string signal_score_min: enum: - 80 - 90 - 95 - 99 type: number audience_strength_min: enum: - A - B - C type: string company_country: type: string company_annual_revenue_min_usd: type: number company_annual_revenue_max_usd: type: number employee_count_min: type: number employee_count_max: type: number industry_codes: type: array items: type: string next_page_number: type: number description: The page number to start the intent search from max_results_per_ingestion: type: number description: The maximum number of results to return per ingestion required: - intent_topics - signal_score_min - audience_strength_min - company_country - next_page_number additionalProperties: false required: - type - zoominfo additionalProperties: false - type: object properties: type: type: string webhook: type: object properties: oauth_account_id: type: string description: DEPRECATED message_template: type: string minLength: 1 additionalProperties: false required: - type - webhook additionalProperties: false - type: object properties: type: type: string custom_webhook: type: object properties: oauth_account_id: type: string description: Right now this is mandatory due to frontend design for all syncs but should'nt be webhook_name: type: string description: Name of the webhook webhook_description: type: string description: Description of the webhook mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false message_template: type: string description: 'template to substitute input fields for custom agent trigger message e.g. ''New message: {{data.body}}''' required: - mapping - message_template additionalProperties: false required: - type - custom_webhook additionalProperties: false - type: object properties: type: type: string recurring: type: object properties: oauth_account_id: type: string description: Right now this is mandatory due to frontend design for all syncs but should'nt be sync_id: type: string description: The trigger id of the scheduled recurrence name: type: string description: Name of the scheduled recurrence message: type: string description: Instruction of the scheduled recurrence schedule: type: object properties: frequency: type: string enum: - daily - weekly - monthly - annually - no_repeat - hourly - minutely - custom_cron month: type: string enum: - january - february - march - april - may - june - july - august - september - october - november - december description: Month of the year. Required for annually schedules. day_of_week: type: string enum: - mon - tue - wed - thu - fri - sat - sun description: Day of the week. Required for weekly schedules. day_of_month: type: string description: Day of the month (1-31). Required for monthly and annually schedules. Also accepts 'last_day' for the last day of the month (e.g. Feb ends 28) hour: type: string description: Time of day in HH:mm. Required for every frequency except custom_cron (including minutely and hourly). date: type: string description: Specific date in YYYY-MM-DD format (must be in the future). Required for no_repeat schedules. timezone: type: string description: IANA timezone string (e.g. 'Australia/Sydney'). Required for every frequency except custom_cron. minute_interval: type: string description: For running every n minutes. Must be at least 10. Required for minutely schedules. hour_interval: type: string description: For running every n hours. Must be at least 1. Required for hourly schedules. cron_expression: type: string description: 'Custom 6-field cron expression (e.g., ''0 12 * * ? *''). Required when frequency is ''custom_cron''. Note: Minute intervals must be at least 10 minutes.' required: - frequency additionalProperties: false required: - schedule additionalProperties: false required: - type - recurring additionalProperties: false - type: object properties: type: type: string google_drive_pipedream: type: object properties: oauth_account_id: type: string file: type: string required: - oauth_account_id - file additionalProperties: false required: - type - google_drive_pipedream additionalProperties: false - type: object properties: type: type: string google_drive_knowledge: type: object properties: oauth_account_id: type: string file: type: string required: - oauth_account_id - file additionalProperties: false required: - type - google_drive_knowledge additionalProperties: false - type: object properties: type: type: string sharepoint: type: object properties: oauth_account_id: type: string drive: type: string required: - oauth_account_id - drive additionalProperties: false required: - type - sharepoint additionalProperties: false - type: object properties: type: type: string notion: type: object properties: oauth_account_id: type: string trigger_name: type: string enum: - page - database trigger_inputs: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true required: - oauth_account_id - trigger_name - trigger_inputs additionalProperties: false required: - type - notion additionalProperties: false - type: object properties: type: type: string confluence: type: object properties: oauth_account_id: type: string site_id: type: string minLength: 1 trigger_name: type: string enum: - page - blogpost trigger_inputs: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true required: - oauth_account_id - site_id - trigger_name - trigger_inputs additionalProperties: false required: - type - confluence additionalProperties: false - type: object properties: type: type: string slack: type: object properties: oauth_account_id: type: string channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false required: - values additionalProperties: false excluded_keywords: type: array items: type: string user_ids: type: array items: type: string thread_reply_mode: type: string enum: - none - auto should_mention_bot: type: boolean default: true approve_reject_config: type: object description: Configuration for approve/reject from Slack functionality properties: enabled: type: boolean description: Whether approve/reject from Slack is enabled for this sync approval_recipients: type: array items: type: string minLength: 1 maxLength: 320 maxItems: 20 description: Emails of the people to DM with approval requests when a task has no Slack thread of its own (i.e. it was not started from Slack). required: - enabled additionalProperties: false required: - oauth_account_id additionalProperties: false required: - type - slack additionalProperties: false - type: object properties: type: type: string teams: type: object properties: oauth_account_id: type: string tenant_id: type: string description: The ID of the Microsoft organization users: oneOf: - type: object properties: allow_all_users: type: boolean required: - allow_all_users additionalProperties: false - type: object properties: allow_all_users: type: boolean users: type: array items: type: object properties: id: type: string displayName: type: string required: - id additionalProperties: false required: - allow_all_users - users additionalProperties: false groups: type: array items: type: object properties: id: type: string topic: type: string required: - id additionalProperties: false channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false additionalProperties: false required: - values additionalProperties: false excluded_keywords: type: array items: type: string user_ids: type: array items: type: string thread_reply_mode: type: string enum: - none - auto should_mention_bot: type: boolean default: true is_outreach_reply_only: type: boolean default: false description: Fires only on `agent_reply` card submits — root messages ignored. required: - oauth_account_id - tenant_id additionalProperties: false required: - type - teams additionalProperties: false - type: object properties: type: type: string jira: type: object properties: oauth_account_id: type: string description: The OAuth account ID for Jira authentication webhook_id: type: string description: The Jira dynamic webhook ID (set by lifecycle manager on registration) cloud_id: type: string description: The Jira Cloud ID (site identifier) events: type: array items: type: string description: Jira event types to subscribe to (e.g. jira:issue_created, jira:issue_updated, jira:issue_deleted) jql_filter: type: string description: JQL filter to restrict which issues trigger the webhook (e.g. project = P1) required: - oauth_account_id - cloud_id - jql_filter additionalProperties: false required: - type - jira additionalProperties: false - type: object properties: type: type: string google_drive: type: object properties: oauth_account_id: type: string description: The OAuth account ID for Google Drive authentication oauth_account_label: type: string description: Display label for the connected Google Drive account start_page_token: type: string description: The page token for the next changes.list poll (set automatically after first sync) drive_id: type: string description: The Drive ID to watch. Use "my_drive" for the user's personal drive, or a shared drive ID. default: my_drive folder_ids: type: array items: type: string description: Optional folder IDs to restrict which folders are watched. Leave empty to watch the entire drive. watch_property_changes: type: boolean description: Whether to trigger on file property changes in addition to content changes. Defaults to false. required: - oauth_account_id additionalProperties: false required: - type - google_drive additionalProperties: false - type: object properties: type: type: string zoom: type: object properties: zoom_secret_token: type: string description: Zoom Secret Token for webhook signature verification (encrypted at rest) mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false message_template: type: string description: 'template to substitute input fields for custom agent trigger message e.g. ''New message: {{data.body}}''' required: - zoom_secret_token - mapping - message_template additionalProperties: false required: - type - zoom additionalProperties: false - type: object properties: type: type: string batch_schedule_agent_tasks: type: object properties: message_template: type: string minLength: 1 display_name: type: string minLength: 1 knowledge_set: type: string minLength: 1 description: The knowledge set that created this sync. required: - message_template additionalProperties: true field_metadata: type: object additionalProperties: type: object properties: {} additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. required: - type - batch_schedule_agent_tasks additionalProperties: false - type: object properties: type: type: string todo_group: type: object properties: type: type: string enum: - scheduled_trigger required: - type additionalProperties: false required: - type - todo_group additionalProperties: false - type: object properties: type: type: string bulk_approve: type: object properties: {} additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action - action_request_id required: - type - bulk_approve - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_reject: type: object properties: {} additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action - action_request_id required: - type - bulk_reject - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_respond: type: object properties: response_text: type: string minLength: 1 required: - response_text additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action_request_id required: - type - bulk_respond - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_rerun: type: object properties: run_from: type: string enum: - start - step required: - run_from additionalProperties: false required: - type - bulk_rerun additionalProperties: false - type: object properties: type: type: string tool_trigger: type: object properties: oauth_account_id: type: string description: DEPRECATED name: type: string description: Name of the trigger message_template: type: string description: The message template to use when sending to the agent or workforce. Any {{}} will be replaced with the actual data. For tools that emit primitives (e.g. an array of strings), reference the value with {{$.value}}. run_schedule: oneOf: - type: object properties: type: type: string value: type: number minimum: 1 description: The number of units (e.g., 15 for 'every 15 minutes' or 1 for 'every hour') unit: type: string enum: - minute - hour - day description: The time unit for the interval required: - type - value - unit additionalProperties: false - type: object properties: frequency: type: string enum: - daily - weekly - monthly - annually - no_repeat - hourly - minutely - custom_cron month: type: string enum: - january - february - march - april - may - june - july - august - september - october - november - december description: Month of the year. Required for annually schedules. day_of_week: type: string enum: - mon - tue - wed - thu - fri - sat - sun description: Day of the week. Required for weekly schedules. day_of_month: type: string description: Day of the month (1-31). Required for monthly and annually schedules. Also accepts 'last_day' for the last day of the month (e.g. Feb ends 28) hour: type: string description: Time of day in HH:mm. Required for every frequency except custom_cron (including minutely and hourly). date: type: string description: Specific date in YYYY-MM-DD format (must be in the future). Required for no_repeat schedules. timezone: type: string description: IANA timezone string (e.g. 'Australia/Sydney'). Required for every frequency except custom_cron. minute_interval: type: string description: For running every n minutes. Must be at least 10. Required for minutely schedules. hour_interval: type: string description: For running every n hours. Must be at least 1. Required for hourly schedules. cron_expression: type: string description: 'Custom 6-field cron expression (e.g., ''0 12 * * ? *''). Required when frequency is ''custom_cron''. Note: Minute intervals must be at least 10 minutes.' required: - frequency additionalProperties: false dedupe_field: type: string description: 'The field to dedupe on. Defaults to "value" when the tool emits primitives (which are auto-wrapped as { value: }). Leave unset for fan-out without dedup.' tool_config: type: object properties: id: type: string description: The tool id to use region: type: string description: The tool's region project: type: string description: The tool's project params: type: object additionalProperties: true output_field: type: string description: 'The field on the tool''s output that contains the events. May be an array of objects (one item per element), an array of primitives (each wrapped as { value: }), a single object (one item), or a single primitive (one wrapped item). Nested arrays are not supported.' required: - id - region - project - output_field additionalProperties: false required: - name - run_schedule - tool_config additionalProperties: false required: - type - tool_trigger additionalProperties: false - type: object properties: type: type: string external_relay: type: object properties: provider: type: string enum: - slack - teams trigger: type: object properties: oauth_account_id: type: string channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false additionalProperties: false required: - values - config additionalProperties: false user_ids: type: array items: type: string required: - oauth_account_id additionalProperties: true required: - provider additionalProperties: false required: - type - external_relay additionalProperties: false - type: object properties: type: type: string filesystem: type: object properties: user_id: type: string minLength: 1 description: The display_id of the user who owns this sync. Populated server-side from the authenticated caller — clients should not submit this value (any submitted value is ignored and overwritten). Read by runtime access checks to verify the creator still has access to the volume on every event. volume_key: type: string minLength: 1 description: The file-system volume to watch. Use the `GET /fs/volumes` endpoint to discover the volume keys available to the authenticated caller. The caller must have access to the volume. include: type: array maxItems: 20 items: type: string maxLength: 200 description: Glob patterns (VSCode-style) for files to include. A file is included if any pattern matches. Empty array includes all files. Patterns match against the file path within the volume (e.g. `/docs/report.md`). exclude: type: array maxItems: 20 items: type: string maxLength: 200 description: Glob patterns for files to exclude. A file is excluded if any pattern matches, even if it also matched `include`. required: - volume_key additionalProperties: false required: - type - filesystem additionalProperties: false - type: object properties: type: type: string config: type: object properties: trigger_provider: type: string trigger_name: type: string trigger_inputs: type: object additionalProperties: true trigger_metadata: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true trigger_mappings: type: object description: Trigger threadId and uniqueId properties: thread_id: type: string unique_id: type: string additionalProperties: false required: - trigger_inputs - trigger_provider - trigger_name additionalProperties: false required: - type - config additionalProperties: false agent_id: type: string sleep_until: type: string processed_date_: {} sequence_id: type: number execution_date: {} metadata: type: object properties: error: type: object properties: internal_log_info: type: object error_type: type: string enum: - no_credits - agent_not_found - unexpected_error - stale_action_request raw_error_message: type: string attempt_count: type: number status: type: string enum: - todo - processing - processed - paused - cancelled - errored - abandoned required: - record additionalProperties: false deleted_date: {} required: - insert_date_ - update_date - project - _id - feature - collection_id - document_id - data required: - results additionalProperties: false UpdateSelectedSyncItemFieldsInput: type: object oneOf: - type: object properties: type: type: string updates: type: object properties: execution_date: type: string agent_message_content: type: string additionalProperties: false required: - type - updates additionalProperties: false GetSyncItemsOutput: type: object properties: insert_date_: type: string update_date: type: string expiry_date_: {} project: type: string _id: type: string feature: type: string collection_id: type: string document_id: type: string data: type: object properties: record: type: object properties: raw_data: {} additionalProperties: true sync_config_snapshot: type: object oneOf: - type: object properties: type: type: string gmail: type: object properties: oauth_account_id: type: string include_labels: type: array items: type: string exclude_emails: type: array items: type: string is_outreach_reply_only: type: boolean default: false is_attachments_enabled: type: boolean default: false recently_processed_ids: type: array items: type: object properties: gmail_id: type: string required: - gmail_id additionalProperties: false search: type: string thread_id_mapping: type: string required: - oauth_account_id additionalProperties: true required: - type - gmail additionalProperties: false - type: object properties: type: type: string google_calendar: type: object properties: oauth_account_id: type: string oauth_account_label: type: string calendar_id: type: string events: type: object properties: updated_min_date: type: string description: Lower bound for event's last modification time (as a RFC3339 timestamp) to filter by. notifications: type: array items: type: object properties: timeOffset: type: object oneOf: - properties: unit: type: string enum: - minutes quantity: type: integer minimum: 0 maximum: 1440 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - hours quantity: type: integer minimum: 0 maximum: 24 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - days quantity: type: integer minimum: 0 maximum: 365 direction: type: string enum: - before - after required: - unit - quantity - direction message: type: object properties: type: type: string enum: - raw - custom description: Type of the message content: type: string description: Custom message content (optional if type is 'Whole payload') required: - type additionalProperties: false required: - timeOffset - message additionalProperties: false description: An array of notifications required: - notifications required: - oauth_account_id - oauth_account_label - calendar_id - events additionalProperties: true required: - type - google_calendar additionalProperties: false - type: object properties: type: type: string teams_calendar: type: object properties: oauth_account_id: type: string oauth_account_label: type: string calendar_id: type: string events: type: object properties: updated_min_date: type: string description: Lower bound for event's last modification time (as a RFC3339 timestamp) to filter by. watched_sensitivities: type: array items: type: string enum: - normal - private description: Which Microsoft Graph event sensitivity levels should trigger the agent or workforce. Omit to watch every event (the default). The UI pre-selects all levels; removing one (e.g. 'private') stops events of that sensitivity from triggering. An empty array watches nothing. notifications: type: array items: type: object properties: timeOffset: type: object oneOf: - properties: unit: type: string enum: - minutes quantity: type: integer minimum: 0 maximum: 1440 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - hours quantity: type: integer minimum: 0 maximum: 24 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - days quantity: type: integer minimum: 0 maximum: 365 direction: type: string enum: - before - after required: - unit - quantity - direction message: type: object properties: type: type: string enum: - raw - custom description: Type of the message content: type: string description: Custom message content (optional if type is 'Whole payload') required: - type additionalProperties: false required: - timeOffset - message additionalProperties: false description: An array of notifications required: - oauth_account_id - oauth_account_label - calendar_id - events additionalProperties: true required: - type - teams_calendar additionalProperties: false - type: object properties: type: type: string outlook: type: object properties: oauth_account_id: type: string exclude_emails: type: array items: type: string is_outreach_reply_only: type: boolean default: false is_attachments_enabled: type: boolean default: false recently_processed_ids: type: array items: type: object properties: outlook_id: type: string required: - outlook_id additionalProperties: false search: type: string thread_id_mapping: type: string required: - oauth_account_id additionalProperties: true required: - type - outlook additionalProperties: false - type: object properties: type: type: string hubspot: type: object properties: oauth_account_id: type: string oauth_account_label: type: string include_labels: type: array items: type: string exclude_labels: type: array items: type: string labels: type: array items: type: string search: type: string additionalProperties: true required: - type - hubspot additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string whatsapp: type: object properties: oauth_account_id: type: string whatsapp_business_account_id: type: string required: - whatsapp_business_account_id additionalProperties: true required: - type - whatsapp additionalProperties: false - type: object properties: type: type: string relevance_meeting_bot: type: object properties: bot_id: type: string additionalProperties: true required: - type - relevance_meeting_bot additionalProperties: false - type: object properties: type: type: string freshdesk: type: object properties: oauth_account_id: type: string description: DEPRECATED whitelist: type: array items: type: object properties: source_object: type: string enum: - ticket default: ticket source_properties: type: array items: type: object properties: field_name: type: string whitelist_values: type: array items: {} required: - field_name - whitelist_values additionalProperties: false required: - source_object - source_properties additionalProperties: false additionalProperties: false required: - type - freshdesk additionalProperties: false - type: object properties: type: type: string salesforce: type: object properties: oauth_account_id: type: string oauth_account_label: type: string salesforce_query: type: string last_processed_message_date_utc: type: string page_size: type: number default: 1000 sync_interval: type: string enum: - minutely - hourly - daily default: minutely last_sync_date_utc: type: string dedupe_field: type: string enum: - Email - None - Disabled mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false task_creation_mode: type: string enum: - existing_tasks_only - new_and_existing_tasks description: The task creation mode controls how tasks are created and appended to. required: - oauth_account_id - salesforce_query additionalProperties: false required: - type - salesforce additionalProperties: false - type: object properties: type: type: string zoominfo: type: object properties: oauth_account_id: type: string description: DEPRECATED intent_topics: type: array items: type: string signal_score_min: enum: - 80 - 90 - 95 - 99 type: number audience_strength_min: enum: - A - B - C type: string company_country: type: string company_annual_revenue_min_usd: type: number company_annual_revenue_max_usd: type: number employee_count_min: type: number employee_count_max: type: number industry_codes: type: array items: type: string next_page_number: type: number description: The page number to start the intent search from max_results_per_ingestion: type: number description: The maximum number of results to return per ingestion required: - intent_topics - signal_score_min - audience_strength_min - company_country - next_page_number additionalProperties: false required: - type - zoominfo additionalProperties: false - type: object properties: type: type: string webhook: type: object properties: oauth_account_id: type: string description: DEPRECATED message_template: type: string minLength: 1 additionalProperties: false required: - type - webhook additionalProperties: false - type: object properties: type: type: string custom_webhook: type: object properties: oauth_account_id: type: string description: Right now this is mandatory due to frontend design for all syncs but should'nt be webhook_name: type: string description: Name of the webhook webhook_description: type: string description: Description of the webhook mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false message_template: type: string description: 'template to substitute input fields for custom agent trigger message e.g. ''New message: {{data.body}}''' required: - mapping - message_template additionalProperties: false required: - type - custom_webhook additionalProperties: false - type: object properties: type: type: string recurring: type: object properties: oauth_account_id: type: string description: Right now this is mandatory due to frontend design for all syncs but should'nt be sync_id: type: string description: The trigger id of the scheduled recurrence name: type: string description: Name of the scheduled recurrence message: type: string description: Instruction of the scheduled recurrence schedule: type: object properties: frequency: type: string enum: - daily - weekly - monthly - annually - no_repeat - hourly - minutely - custom_cron month: type: string enum: - january - february - march - april - may - june - july - august - september - october - november - december description: Month of the year. Required for annually schedules. day_of_week: type: string enum: - mon - tue - wed - thu - fri - sat - sun description: Day of the week. Required for weekly schedules. day_of_month: type: string description: Day of the month (1-31). Required for monthly and annually schedules. Also accepts 'last_day' for the last day of the month (e.g. Feb ends 28) hour: type: string description: Time of day in HH:mm. Required for every frequency except custom_cron (including minutely and hourly). date: type: string description: Specific date in YYYY-MM-DD format (must be in the future). Required for no_repeat schedules. timezone: type: string description: IANA timezone string (e.g. 'Australia/Sydney'). Required for every frequency except custom_cron. minute_interval: type: string description: For running every n minutes. Must be at least 10. Required for minutely schedules. hour_interval: type: string description: For running every n hours. Must be at least 1. Required for hourly schedules. cron_expression: type: string description: 'Custom 6-field cron expression (e.g., ''0 12 * * ? *''). Required when frequency is ''custom_cron''. Note: Minute intervals must be at least 10 minutes.' required: - frequency additionalProperties: false required: - schedule additionalProperties: false required: - type - recurring additionalProperties: false - type: object properties: type: type: string google_drive_pipedream: type: object properties: oauth_account_id: type: string file: type: string required: - oauth_account_id - file additionalProperties: false required: - type - google_drive_pipedream additionalProperties: false - type: object properties: type: type: string google_drive_knowledge: type: object properties: oauth_account_id: type: string file: type: string required: - oauth_account_id - file additionalProperties: false required: - type - google_drive_knowledge additionalProperties: false - type: object properties: type: type: string sharepoint: type: object properties: oauth_account_id: type: string drive: type: string required: - oauth_account_id - drive additionalProperties: false required: - type - sharepoint additionalProperties: false - type: object properties: type: type: string notion: type: object properties: oauth_account_id: type: string trigger_name: type: string enum: - page - database trigger_inputs: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true required: - oauth_account_id - trigger_name - trigger_inputs additionalProperties: false required: - type - notion additionalProperties: false - type: object properties: type: type: string confluence: type: object properties: oauth_account_id: type: string site_id: type: string minLength: 1 trigger_name: type: string enum: - page - blogpost trigger_inputs: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true required: - oauth_account_id - site_id - trigger_name - trigger_inputs additionalProperties: false required: - type - confluence additionalProperties: false - type: object properties: type: type: string slack: type: object properties: oauth_account_id: type: string channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false required: - values additionalProperties: false excluded_keywords: type: array items: type: string user_ids: type: array items: type: string thread_reply_mode: type: string enum: - none - auto should_mention_bot: type: boolean default: true approve_reject_config: type: object description: Configuration for approve/reject from Slack functionality properties: enabled: type: boolean description: Whether approve/reject from Slack is enabled for this sync approval_recipients: type: array items: type: string minLength: 1 maxLength: 320 maxItems: 20 description: Emails of the people to DM with approval requests when a task has no Slack thread of its own (i.e. it was not started from Slack). required: - enabled additionalProperties: false required: - oauth_account_id additionalProperties: false required: - type - slack additionalProperties: false - type: object properties: type: type: string teams: type: object properties: oauth_account_id: type: string tenant_id: type: string description: The ID of the Microsoft organization users: oneOf: - type: object properties: allow_all_users: type: boolean required: - allow_all_users additionalProperties: false - type: object properties: allow_all_users: type: boolean users: type: array items: type: object properties: id: type: string displayName: type: string required: - id additionalProperties: false required: - allow_all_users - users additionalProperties: false groups: type: array items: type: object properties: id: type: string topic: type: string required: - id additionalProperties: false channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false additionalProperties: false required: - values additionalProperties: false excluded_keywords: type: array items: type: string user_ids: type: array items: type: string thread_reply_mode: type: string enum: - none - auto should_mention_bot: type: boolean default: true is_outreach_reply_only: type: boolean default: false description: Fires only on `agent_reply` card submits — root messages ignored. required: - oauth_account_id - tenant_id additionalProperties: false required: - type - teams additionalProperties: false - type: object properties: type: type: string jira: type: object properties: oauth_account_id: type: string description: The OAuth account ID for Jira authentication webhook_id: type: string description: The Jira dynamic webhook ID (set by lifecycle manager on registration) cloud_id: type: string description: The Jira Cloud ID (site identifier) events: type: array items: type: string description: Jira event types to subscribe to (e.g. jira:issue_created, jira:issue_updated, jira:issue_deleted) jql_filter: type: string description: JQL filter to restrict which issues trigger the webhook (e.g. project = P1) required: - oauth_account_id - cloud_id - jql_filter additionalProperties: false required: - type - jira additionalProperties: false - type: object properties: type: type: string google_drive: type: object properties: oauth_account_id: type: string description: The OAuth account ID for Google Drive authentication oauth_account_label: type: string description: Display label for the connected Google Drive account start_page_token: type: string description: The page token for the next changes.list poll (set automatically after first sync) drive_id: type: string description: The Drive ID to watch. Use "my_drive" for the user's personal drive, or a shared drive ID. default: my_drive folder_ids: type: array items: type: string description: Optional folder IDs to restrict which folders are watched. Leave empty to watch the entire drive. watch_property_changes: type: boolean description: Whether to trigger on file property changes in addition to content changes. Defaults to false. required: - oauth_account_id additionalProperties: false required: - type - google_drive additionalProperties: false - type: object properties: type: type: string zoom: type: object properties: zoom_secret_token: type: string description: Zoom Secret Token for webhook signature verification (encrypted at rest) mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false message_template: type: string description: 'template to substitute input fields for custom agent trigger message e.g. ''New message: {{data.body}}''' required: - zoom_secret_token - mapping - message_template additionalProperties: false required: - type - zoom additionalProperties: false - type: object properties: type: type: string batch_schedule_agent_tasks: type: object properties: message_template: type: string minLength: 1 display_name: type: string minLength: 1 knowledge_set: type: string minLength: 1 description: The knowledge set that created this sync. required: - message_template additionalProperties: true field_metadata: type: object additionalProperties: type: object properties: {} additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. required: - type - batch_schedule_agent_tasks additionalProperties: false - type: object properties: type: type: string todo_group: type: object properties: type: type: string enum: - scheduled_trigger required: - type additionalProperties: false required: - type - todo_group additionalProperties: false - type: object properties: type: type: string bulk_approve: type: object properties: {} additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action - action_request_id required: - type - bulk_approve - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_reject: type: object properties: {} additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action - action_request_id required: - type - bulk_reject - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_respond: type: object properties: response_text: type: string minLength: 1 required: - response_text additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action_request_id required: - type - bulk_respond - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_rerun: type: object properties: run_from: type: string enum: - start - step required: - run_from additionalProperties: false required: - type - bulk_rerun additionalProperties: false - type: object properties: type: type: string tool_trigger: type: object properties: oauth_account_id: type: string description: DEPRECATED name: type: string description: Name of the trigger message_template: type: string description: The message template to use when sending to the agent or workforce. Any {{}} will be replaced with the actual data. For tools that emit primitives (e.g. an array of strings), reference the value with {{$.value}}. run_schedule: oneOf: - type: object properties: type: type: string value: type: number minimum: 1 description: The number of units (e.g., 15 for 'every 15 minutes' or 1 for 'every hour') unit: type: string enum: - minute - hour - day description: The time unit for the interval required: - type - value - unit additionalProperties: false - type: object properties: frequency: type: string enum: - daily - weekly - monthly - annually - no_repeat - hourly - minutely - custom_cron month: type: string enum: - january - february - march - april - may - june - july - august - september - october - november - december description: Month of the year. Required for annually schedules. day_of_week: type: string enum: - mon - tue - wed - thu - fri - sat - sun description: Day of the week. Required for weekly schedules. day_of_month: type: string description: Day of the month (1-31). Required for monthly and annually schedules. Also accepts 'last_day' for the last day of the month (e.g. Feb ends 28) hour: type: string description: Time of day in HH:mm. Required for every frequency except custom_cron (including minutely and hourly). date: type: string description: Specific date in YYYY-MM-DD format (must be in the future). Required for no_repeat schedules. timezone: type: string description: IANA timezone string (e.g. 'Australia/Sydney'). Required for every frequency except custom_cron. minute_interval: type: string description: For running every n minutes. Must be at least 10. Required for minutely schedules. hour_interval: type: string description: For running every n hours. Must be at least 1. Required for hourly schedules. cron_expression: type: string description: 'Custom 6-field cron expression (e.g., ''0 12 * * ? *''). Required when frequency is ''custom_cron''. Note: Minute intervals must be at least 10 minutes.' required: - frequency additionalProperties: false dedupe_field: type: string description: 'The field to dedupe on. Defaults to "value" when the tool emits primitives (which are auto-wrapped as { value: }). Leave unset for fan-out without dedup.' tool_config: type: object properties: id: type: string description: The tool id to use region: type: string description: The tool's region project: type: string description: The tool's project params: type: object additionalProperties: true output_field: type: string description: 'The field on the tool''s output that contains the events. May be an array of objects (one item per element), an array of primitives (each wrapped as { value: }), a single object (one item), or a single primitive (one wrapped item). Nested arrays are not supported.' required: - id - region - project - output_field additionalProperties: false required: - name - run_schedule - tool_config additionalProperties: false required: - type - tool_trigger additionalProperties: false - type: object properties: type: type: string external_relay: type: object properties: provider: type: string enum: - slack - teams trigger: type: object properties: oauth_account_id: type: string channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false additionalProperties: false required: - values - config additionalProperties: false user_ids: type: array items: type: string required: - oauth_account_id additionalProperties: true required: - provider additionalProperties: false required: - type - external_relay additionalProperties: false - type: object properties: type: type: string filesystem: type: object properties: user_id: type: string minLength: 1 description: The display_id of the user who owns this sync. Populated server-side from the authenticated caller — clients should not submit this value (any submitted value is ignored and overwritten). Read by runtime access checks to verify the creator still has access to the volume on every event. volume_key: type: string minLength: 1 description: The file-system volume to watch. Use the `GET /fs/volumes` endpoint to discover the volume keys available to the authenticated caller. The caller must have access to the volume. include: type: array maxItems: 20 items: type: string maxLength: 200 description: Glob patterns (VSCode-style) for files to include. A file is included if any pattern matches. Empty array includes all files. Patterns match against the file path within the volume (e.g. `/docs/report.md`). exclude: type: array maxItems: 20 items: type: string maxLength: 200 description: Glob patterns for files to exclude. A file is excluded if any pattern matches, even if it also matched `include`. required: - volume_key additionalProperties: false required: - type - filesystem additionalProperties: false - type: object properties: type: type: string config: type: object properties: trigger_provider: type: string trigger_name: type: string trigger_inputs: type: object additionalProperties: true trigger_metadata: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true trigger_mappings: type: object description: Trigger threadId and uniqueId properties: thread_id: type: string unique_id: type: string additionalProperties: false required: - trigger_inputs - trigger_provider - trigger_name additionalProperties: false required: - type - config additionalProperties: false agent_id: type: string sleep_until: type: string processed_date_: {} sequence_id: type: number execution_date: {} metadata: type: object properties: error: type: object properties: internal_log_info: type: object error_type: type: string enum: - no_credits - agent_not_found - unexpected_error - stale_action_request raw_error_message: type: string attempt_count: type: number status: type: string enum: - todo - processing - processed - paused - cancelled - errored - abandoned required: - record additionalProperties: false deleted_date: {} required: - insert_date_ - update_date - project - _id - feature - collection_id - document_id - data TriggerSyncItemInput: {} TriggerSyncItemOutput: {} ListSyncItemsInput: type: object properties: filters: type: array items: type: object properties: condition: type: string case_insensitive: type: boolean field: type: string filter_type: type: string enum: - exact_match - exists - ilike - regexp - ids - date - numeric - or - and - size - array_object_match condition_value: {} select_fields: type: array items: type: string description: Fields to include in the search results, empty array/list means all fields. page_size: type: integer description: Size of each page of results page: type: integer description: Page of the results sort: type: array items: oneOf: - type: string - type: object additionalProperties: type: string enum: - asc - desc description: 'Fields to sort by. For each field, sort by descending or ascending. If you are using descending by datetime, it will get the most recent ones. Can be provided in format ["sortfield","subsortfield"] or in format [{"sortfield":"desc"}, {"subsortfield":"asc"}]. If provided as a query parameter, use: sort=${JSON.stringify([{"sortfield":"desc"}])}' include_vector: type: boolean description: Include vectors in the search results. after_id: type: array items: {} description: Retrieve items after these sort values in the sort order. query: type: string UpdateSelectedSyncItemFieldsOutput: {} BulkPostponeUpcomingSyncItemsOutput: type: object properties: updated_items_document_ids: type: array items: type: string required: - updated_items_document_ids additionalProperties: false UpsertSyncItemsInput: type: object properties: data: type: object properties: record: type: object properties: raw_data: {} additionalProperties: true sync_config_snapshot: type: object oneOf: - type: object properties: type: type: string gmail: type: object properties: oauth_account_id: type: string include_labels: type: array items: type: string exclude_emails: type: array items: type: string is_outreach_reply_only: type: boolean default: false is_attachments_enabled: type: boolean default: false recently_processed_ids: type: array items: type: object properties: gmail_id: type: string required: - gmail_id additionalProperties: false search: type: string thread_id_mapping: type: string required: - oauth_account_id additionalProperties: true required: - type - gmail additionalProperties: false - type: object properties: type: type: string google_calendar: type: object properties: oauth_account_id: type: string oauth_account_label: type: string calendar_id: type: string events: type: object properties: updated_min_date: type: string description: Lower bound for event's last modification time (as a RFC3339 timestamp) to filter by. notifications: type: array items: type: object properties: timeOffset: type: object oneOf: - properties: unit: type: string enum: - minutes quantity: type: integer minimum: 0 maximum: 1440 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - hours quantity: type: integer minimum: 0 maximum: 24 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - days quantity: type: integer minimum: 0 maximum: 365 direction: type: string enum: - before - after required: - unit - quantity - direction message: type: object properties: type: type: string enum: - raw - custom description: Type of the message content: type: string description: Custom message content (optional if type is 'Whole payload') required: - type additionalProperties: false required: - timeOffset - message additionalProperties: false description: An array of notifications required: - notifications required: - oauth_account_id - oauth_account_label - calendar_id - events additionalProperties: true required: - type - google_calendar additionalProperties: false - type: object properties: type: type: string teams_calendar: type: object properties: oauth_account_id: type: string oauth_account_label: type: string calendar_id: type: string events: type: object properties: updated_min_date: type: string description: Lower bound for event's last modification time (as a RFC3339 timestamp) to filter by. watched_sensitivities: type: array items: type: string enum: - normal - private description: Which Microsoft Graph event sensitivity levels should trigger the agent or workforce. Omit to watch every event (the default). The UI pre-selects all levels; removing one (e.g. 'private') stops events of that sensitivity from triggering. An empty array watches nothing. notifications: type: array items: type: object properties: timeOffset: type: object oneOf: - properties: unit: type: string enum: - minutes quantity: type: integer minimum: 0 maximum: 1440 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - hours quantity: type: integer minimum: 0 maximum: 24 direction: type: string enum: - before - after required: - unit - quantity - direction - properties: unit: type: string enum: - days quantity: type: integer minimum: 0 maximum: 365 direction: type: string enum: - before - after required: - unit - quantity - direction message: type: object properties: type: type: string enum: - raw - custom description: Type of the message content: type: string description: Custom message content (optional if type is 'Whole payload') required: - type additionalProperties: false required: - timeOffset - message additionalProperties: false description: An array of notifications required: - oauth_account_id - oauth_account_label - calendar_id - events additionalProperties: true required: - type - teams_calendar additionalProperties: false - type: object properties: type: type: string outlook: type: object properties: oauth_account_id: type: string exclude_emails: type: array items: type: string is_outreach_reply_only: type: boolean default: false is_attachments_enabled: type: boolean default: false recently_processed_ids: type: array items: type: object properties: outlook_id: type: string required: - outlook_id additionalProperties: false search: type: string thread_id_mapping: type: string required: - oauth_account_id additionalProperties: true required: - type - outlook additionalProperties: false - type: object properties: type: type: string hubspot: type: object properties: oauth_account_id: type: string oauth_account_label: type: string include_labels: type: array items: type: string exclude_labels: type: array items: type: string labels: type: array items: type: string search: type: string additionalProperties: true required: - type - hubspot additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string unipile: type: object properties: oauth_account_id: type: string oauth_account_label: type: string provider_user_id: type: string is_outreach_reply_only: type: boolean default: false required: - oauth_account_id - oauth_account_label - provider_user_id additionalProperties: true required: - type - unipile additionalProperties: false - type: object properties: type: type: string whatsapp: type: object properties: oauth_account_id: type: string whatsapp_business_account_id: type: string required: - whatsapp_business_account_id additionalProperties: true required: - type - whatsapp additionalProperties: false - type: object properties: type: type: string relevance_meeting_bot: type: object properties: bot_id: type: string additionalProperties: true required: - type - relevance_meeting_bot additionalProperties: false - type: object properties: type: type: string freshdesk: type: object properties: oauth_account_id: type: string description: DEPRECATED whitelist: type: array items: type: object properties: source_object: type: string enum: - ticket default: ticket source_properties: type: array items: type: object properties: field_name: type: string whitelist_values: type: array items: {} required: - field_name - whitelist_values additionalProperties: false required: - source_object - source_properties additionalProperties: false additionalProperties: false required: - type - freshdesk additionalProperties: false - type: object properties: type: type: string salesforce: type: object properties: oauth_account_id: type: string oauth_account_label: type: string salesforce_query: type: string last_processed_message_date_utc: type: string page_size: type: number default: 1000 sync_interval: type: string enum: - minutely - hourly - daily default: minutely last_sync_date_utc: type: string dedupe_field: type: string enum: - Email - None - Disabled mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false task_creation_mode: type: string enum: - existing_tasks_only - new_and_existing_tasks description: The task creation mode controls how tasks are created and appended to. required: - oauth_account_id - salesforce_query additionalProperties: false required: - type - salesforce additionalProperties: false - type: object properties: type: type: string zoominfo: type: object properties: oauth_account_id: type: string description: DEPRECATED intent_topics: type: array items: type: string signal_score_min: enum: - 80 - 90 - 95 - 99 type: number audience_strength_min: enum: - A - B - C type: string company_country: type: string company_annual_revenue_min_usd: type: number company_annual_revenue_max_usd: type: number employee_count_min: type: number employee_count_max: type: number industry_codes: type: array items: type: string next_page_number: type: number description: The page number to start the intent search from max_results_per_ingestion: type: number description: The maximum number of results to return per ingestion required: - intent_topics - signal_score_min - audience_strength_min - company_country - next_page_number additionalProperties: false required: - type - zoominfo additionalProperties: false - type: object properties: type: type: string webhook: type: object properties: oauth_account_id: type: string description: DEPRECATED message_template: type: string minLength: 1 additionalProperties: false required: - type - webhook additionalProperties: false - type: object properties: type: type: string custom_webhook: type: object properties: oauth_account_id: type: string description: Right now this is mandatory due to frontend design for all syncs but should'nt be webhook_name: type: string description: Name of the webhook webhook_description: type: string description: Description of the webhook mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false message_template: type: string description: 'template to substitute input fields for custom agent trigger message e.g. ''New message: {{data.body}}''' required: - mapping - message_template additionalProperties: false required: - type - custom_webhook additionalProperties: false - type: object properties: type: type: string recurring: type: object properties: oauth_account_id: type: string description: Right now this is mandatory due to frontend design for all syncs but should'nt be sync_id: type: string description: The trigger id of the scheduled recurrence name: type: string description: Name of the scheduled recurrence message: type: string description: Instruction of the scheduled recurrence schedule: type: object properties: frequency: type: string enum: - daily - weekly - monthly - annually - no_repeat - hourly - minutely - custom_cron month: type: string enum: - january - february - march - april - may - june - july - august - september - october - november - december description: Month of the year. Required for annually schedules. day_of_week: type: string enum: - mon - tue - wed - thu - fri - sat - sun description: Day of the week. Required for weekly schedules. day_of_month: type: string description: Day of the month (1-31). Required for monthly and annually schedules. Also accepts 'last_day' for the last day of the month (e.g. Feb ends 28) hour: type: string description: Time of day in HH:mm. Required for every frequency except custom_cron (including minutely and hourly). date: type: string description: Specific date in YYYY-MM-DD format (must be in the future). Required for no_repeat schedules. timezone: type: string description: IANA timezone string (e.g. 'Australia/Sydney'). Required for every frequency except custom_cron. minute_interval: type: string description: For running every n minutes. Must be at least 10. Required for minutely schedules. hour_interval: type: string description: For running every n hours. Must be at least 1. Required for hourly schedules. cron_expression: type: string description: 'Custom 6-field cron expression (e.g., ''0 12 * * ? *''). Required when frequency is ''custom_cron''. Note: Minute intervals must be at least 10 minutes.' required: - frequency additionalProperties: false required: - schedule additionalProperties: false required: - type - recurring additionalProperties: false - type: object properties: type: type: string google_drive_pipedream: type: object properties: oauth_account_id: type: string file: type: string required: - oauth_account_id - file additionalProperties: false required: - type - google_drive_pipedream additionalProperties: false - type: object properties: type: type: string google_drive_knowledge: type: object properties: oauth_account_id: type: string file: type: string required: - oauth_account_id - file additionalProperties: false required: - type - google_drive_knowledge additionalProperties: false - type: object properties: type: type: string sharepoint: type: object properties: oauth_account_id: type: string drive: type: string required: - oauth_account_id - drive additionalProperties: false required: - type - sharepoint additionalProperties: false - type: object properties: type: type: string notion: type: object properties: oauth_account_id: type: string trigger_name: type: string enum: - page - database trigger_inputs: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true required: - oauth_account_id - trigger_name - trigger_inputs additionalProperties: false required: - type - notion additionalProperties: false - type: object properties: type: type: string confluence: type: object properties: oauth_account_id: type: string site_id: type: string minLength: 1 trigger_name: type: string enum: - page - blogpost trigger_inputs: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true required: - oauth_account_id - site_id - trigger_name - trigger_inputs additionalProperties: false required: - type - confluence additionalProperties: false - type: object properties: type: type: string slack: type: object properties: oauth_account_id: type: string channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false required: - values additionalProperties: false excluded_keywords: type: array items: type: string user_ids: type: array items: type: string thread_reply_mode: type: string enum: - none - auto should_mention_bot: type: boolean default: true approve_reject_config: type: object description: Configuration for approve/reject from Slack functionality properties: enabled: type: boolean description: Whether approve/reject from Slack is enabled for this sync approval_recipients: type: array items: type: string minLength: 1 maxLength: 320 maxItems: 20 description: Emails of the people to DM with approval requests when a task has no Slack thread of its own (i.e. it was not started from Slack). required: - enabled additionalProperties: false required: - oauth_account_id additionalProperties: false required: - type - slack additionalProperties: false - type: object properties: type: type: string teams: type: object properties: oauth_account_id: type: string tenant_id: type: string description: The ID of the Microsoft organization users: oneOf: - type: object properties: allow_all_users: type: boolean required: - allow_all_users additionalProperties: false - type: object properties: allow_all_users: type: boolean users: type: array items: type: object properties: id: type: string displayName: type: string required: - id additionalProperties: false required: - allow_all_users - users additionalProperties: false groups: type: array items: type: object properties: id: type: string topic: type: string required: - id additionalProperties: false channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false additionalProperties: false required: - values additionalProperties: false excluded_keywords: type: array items: type: string user_ids: type: array items: type: string thread_reply_mode: type: string enum: - none - auto should_mention_bot: type: boolean default: true is_outreach_reply_only: type: boolean default: false description: Fires only on `agent_reply` card submits — root messages ignored. required: - oauth_account_id - tenant_id additionalProperties: false required: - type - teams additionalProperties: false - type: object properties: type: type: string jira: type: object properties: oauth_account_id: type: string description: The OAuth account ID for Jira authentication webhook_id: type: string description: The Jira dynamic webhook ID (set by lifecycle manager on registration) cloud_id: type: string description: The Jira Cloud ID (site identifier) events: type: array items: type: string description: Jira event types to subscribe to (e.g. jira:issue_created, jira:issue_updated, jira:issue_deleted) jql_filter: type: string description: JQL filter to restrict which issues trigger the webhook (e.g. project = P1) required: - oauth_account_id - cloud_id - jql_filter additionalProperties: false required: - type - jira additionalProperties: false - type: object properties: type: type: string google_drive: type: object properties: oauth_account_id: type: string description: The OAuth account ID for Google Drive authentication oauth_account_label: type: string description: Display label for the connected Google Drive account start_page_token: type: string description: The page token for the next changes.list poll (set automatically after first sync) drive_id: type: string description: The Drive ID to watch. Use "my_drive" for the user's personal drive, or a shared drive ID. default: my_drive folder_ids: type: array items: type: string description: Optional folder IDs to restrict which folders are watched. Leave empty to watch the entire drive. watch_property_changes: type: boolean description: Whether to trigger on file property changes in addition to content changes. Defaults to false. required: - oauth_account_id additionalProperties: false required: - type - google_drive additionalProperties: false - type: object properties: type: type: string zoom: type: object properties: zoom_secret_token: type: string description: Zoom Secret Token for webhook signature verification (encrypted at rest) mapping: type: object properties: unique_id: type: string description: jq path to unique input field for idempotency thread_id: type: string description: jq path to input field for conversation threading additionalProperties: false message_template: type: string description: 'template to substitute input fields for custom agent trigger message e.g. ''New message: {{data.body}}''' required: - zoom_secret_token - mapping - message_template additionalProperties: false required: - type - zoom additionalProperties: false - type: object properties: type: type: string batch_schedule_agent_tasks: type: object properties: message_template: type: string minLength: 1 display_name: type: string minLength: 1 knowledge_set: type: string minLength: 1 description: The knowledge set that created this sync. required: - message_template additionalProperties: true field_metadata: type: object additionalProperties: type: object properties: {} additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. required: - type - batch_schedule_agent_tasks additionalProperties: false - type: object properties: type: type: string todo_group: type: object properties: type: type: string enum: - scheduled_trigger required: - type additionalProperties: false required: - type - todo_group additionalProperties: false - type: object properties: type: type: string bulk_approve: type: object properties: {} additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action - action_request_id required: - type - bulk_approve - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_reject: type: object properties: {} additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action - action_request_id required: - type - bulk_reject - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_respond: type: object properties: response_text: type: string minLength: 1 required: - response_text additionalProperties: false field_metadata: type: object properties: conversation_id: type: object properties: type: type: string enum: - string additionalProperties: true action_request_id: type: object properties: type: type: string enum: - string additionalProperties: true description: Keys are column headers. Values would include metadata about the column header. additionalProperties: true required: - conversation_id - action_request_id required: - type - bulk_respond - field_metadata additionalProperties: false - type: object properties: type: type: string bulk_rerun: type: object properties: run_from: type: string enum: - start - step required: - run_from additionalProperties: false required: - type - bulk_rerun additionalProperties: false - type: object properties: type: type: string tool_trigger: type: object properties: oauth_account_id: type: string description: DEPRECATED name: type: string description: Name of the trigger message_template: type: string description: The message template to use when sending to the agent or workforce. Any {{}} will be replaced with the actual data. For tools that emit primitives (e.g. an array of strings), reference the value with {{$.value}}. run_schedule: oneOf: - type: object properties: type: type: string value: type: number minimum: 1 description: The number of units (e.g., 15 for 'every 15 minutes' or 1 for 'every hour') unit: type: string enum: - minute - hour - day description: The time unit for the interval required: - type - value - unit additionalProperties: false - type: object properties: frequency: type: string enum: - daily - weekly - monthly - annually - no_repeat - hourly - minutely - custom_cron month: type: string enum: - january - february - march - april - may - june - july - august - september - october - november - december description: Month of the year. Required for annually schedules. day_of_week: type: string enum: - mon - tue - wed - thu - fri - sat - sun description: Day of the week. Required for weekly schedules. day_of_month: type: string description: Day of the month (1-31). Required for monthly and annually schedules. Also accepts 'last_day' for the last day of the month (e.g. Feb ends 28) hour: type: string description: Time of day in HH:mm. Required for every frequency except custom_cron (including minutely and hourly). date: type: string description: Specific date in YYYY-MM-DD format (must be in the future). Required for no_repeat schedules. timezone: type: string description: IANA timezone string (e.g. 'Australia/Sydney'). Required for every frequency except custom_cron. minute_interval: type: string description: For running every n minutes. Must be at least 10. Required for minutely schedules. hour_interval: type: string description: For running every n hours. Must be at least 1. Required for hourly schedules. cron_expression: type: string description: 'Custom 6-field cron expression (e.g., ''0 12 * * ? *''). Required when frequency is ''custom_cron''. Note: Minute intervals must be at least 10 minutes.' required: - frequency additionalProperties: false dedupe_field: type: string description: 'The field to dedupe on. Defaults to "value" when the tool emits primitives (which are auto-wrapped as { value: }). Leave unset for fan-out without dedup.' tool_config: type: object properties: id: type: string description: The tool id to use region: type: string description: The tool's region project: type: string description: The tool's project params: type: object additionalProperties: true output_field: type: string description: 'The field on the tool''s output that contains the events. May be an array of objects (one item per element), an array of primitives (each wrapped as { value: }), a single object (one item), or a single primitive (one wrapped item). Nested arrays are not supported.' required: - id - region - project - output_field additionalProperties: false required: - name - run_schedule - tool_config additionalProperties: false required: - type - tool_trigger additionalProperties: false - type: object properties: type: type: string external_relay: type: object properties: provider: type: string enum: - slack - teams trigger: type: object properties: oauth_account_id: type: string channels: type: array items: type: string keywords: type: object properties: values: type: array items: type: string config: type: object properties: case_sensitive: type: boolean default: false additionalProperties: false required: - values - config additionalProperties: false user_ids: type: array items: type: string required: - oauth_account_id additionalProperties: true required: - provider additionalProperties: false required: - type - external_relay additionalProperties: false - type: object properties: type: type: string filesystem: type: object properties: user_id: type: string minLength: 1 description: The display_id of the user who owns this sync. Populated server-side from the authenticated caller — clients should not submit this value (any submitted value is ignored and overwritten). Read by runtime access checks to verify the creator still has access to the volume on every event. volume_key: type: string minLength: 1 description: The file-system volume to watch. Use the `GET /fs/volumes` endpoint to discover the volume keys available to the authenticated caller. The caller must have access to the volume. include: type: array maxItems: 20 items: type: string maxLength: 200 description: Glob patterns (VSCode-style) for files to include. A file is included if any pattern matches. Empty array includes all files. Patterns match against the file path within the volume (e.g. `/docs/report.md`). exclude: type: array maxItems: 20 items: type: string maxLength: 200 description: Glob patterns for files to exclude. A file is excluded if any pattern matches, even if it also matched `include`. required: - volume_key additionalProperties: false required: - type - filesystem additionalProperties: false - type: object properties: type: type: string config: type: object properties: trigger_provider: type: string trigger_name: type: string trigger_inputs: type: object additionalProperties: true trigger_metadata: type: object additionalProperties: true trigger_schemas: type: object additionalProperties: true trigger_mappings: type: object description: Trigger threadId and uniqueId properties: thread_id: type: string unique_id: type: string additionalProperties: false required: - trigger_inputs - trigger_provider - trigger_name additionalProperties: false required: - type - config additionalProperties: false agent_id: type: string sleep_until: type: string processed_date_: {} sequence_id: type: number execution_date: {} metadata: type: object properties: error: type: object properties: internal_log_info: type: object error_type: type: string enum: - no_credits - agent_not_found - unexpected_error - stale_action_request raw_error_message: type: string attempt_count: type: number status: type: string enum: - todo - processing - processed - paused - cancelled - errored - abandoned required: - record additionalProperties: false insert_if_not_exists: type: boolean description: If true, will create the metadata if it does not exist. Defaults to true. fields_to_remove: type: array items: type: string description: Fields to remove from the metadata. fields_to_replace: type: array items: type: string description: Fields to replace in the metadata. fields_to_increment: type: object additionalProperties: type: number additionalProperties: false required: - data securitySchemes: AuthorizationHeader: type: apiKey in: header name: Authorization description: 'Authorization credentials. Header authorization should be in the form of: project:api_key'