FruxonDocs
Agent NetworkTriggers

Partial update

Applies a partial update: only the non-null fields of the request are written. `Kind` is immutable. Agent bindings are managed through the nested `bindings` sub-resource, not this endpoint.

PATCH
/v1/tenants/{tenant}/triggers/{trigger}
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

trigger*string

The trigger identifier.

Formatuuid
tenant*string

The tenant identifier

The patch payload — null fields are left unchanged.

integrationConfigId?string|null

Repoint the trigger at a different TenantIntegrationConfig (one Slack workspace to another). The integration id itself is immutable — switching providers is a recreate, not an update. Null means "leave alone" (consistent with the rest of this DTO); clearing the pin isn't supported here.

Formatuuid
displayName?string|null
active?boolean|null
timeout?integer|null
Formatint32
Range60 <= value <= 2147483647
scheduleFrequency?string
Value in"UNSPECIFIED" | "DAILY" | "WEEKLY" | "MONTHLY" | "INTERVAL"
scheduleDay?string
Value in"UNSPECIFIED" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"
scheduleDays?|null

The days of the week a Weekly schedule fires on. Null leaves the stored set untouched (patch semantics, like the rest of this DTO); a non-null list replaces it. Pass an empty list to clear back to the single scalar day. Only valid for Weekly; no duplicates.

scheduleDayOfMonth?integer|null
Formatint32
scheduleHour?string|null
scheduleMinute?string|null
scheduleTimes?|null

Multiple intra-day fire times for a Daily or Weekly schedule. Null leaves the stored list untouched (patch semantics, like the rest of this DTO); a non-null list replaces it. Pass an empty list to clear back to the single scalar time. Only valid for Daily/Weekly; entries must be ≥30 minutes apart.

intervalValue?integer|null
Formatint32
intervalUnit?string
Value in"UNSPECIFIED" | "MINUTES" | "HOURS" | "DAYS"
timezone?string|null
filter?

Content filter patch. Null leaves the stored filter untouched (consistent with the rest of this DTO). An explicit filter replaces it; an explicit filter with no conditions clears it back to fire-always. Only valid on TriggerKind.IntegrationEvent triggers. See Triggers.TriggerEventFilter.

workShape?

Work-shape patch. Follows the same semantics as UpdateTriggerRequest.Filter: null leaves the stored work shape untouched, an explicit value replaces it. Clearing a work shape is deliberately NOT expressible here — it would orphan a live ledger's items behind an automation that no longer admits, and the operator verb for that is drain, not a silent PATCH. Only valid on TriggerKind.Schedule triggers in V0.

outcomeDigest?

How often this automation reports what its work came to, and at what hour. Null leaves the current setting alone, the same rule UpdateTriggerRequest.WorkShape and Filter follow — an edit that is not about reporting must not silently reset it.

bindings?|null

When non-null, fully replaces the trigger's bindings + mappings: agents in the list are kept or added; bindings missing from the list are removed; for agents that appear in both before and after, the mapping list is replaced wholesale. Null leaves bindings + mappings untouched, consistent with the rest of this patch DTO. The existing per-binding endpoints (PUT/DELETE /triggers/{id}/bindings/{agent}) stay available for atomic single-binding membership tweaks without touching mappings.

[key: string]?never

Response Body

curl -X PATCH "https://api.fruxon.com/v1/tenants/string/triggers/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "00000000-0000-0000-0000-000000000000",
  "networkId": "00000000-0000-0000-0000-000000000000",
  "kind": "SCHEDULE",
  "integrationId": "string",
  "integrationConfigId": "00000000-0000-0000-0000-000000000000",
  "eventType": "string",
  "displayName": "string",
  "active": false,
  "timeout": 0,
  "scheduleFrequency": "DAILY",
  "scheduleDay": "MONDAY",
  "scheduleDays": [
    "MONDAY"
  ],
  "scheduleDayOfMonth": 0,
  "scheduleHour": "string",
  "scheduleMinute": "string",
  "scheduleTimes": [
    {
      "hour": 0,
      "minute": 0
    }
  ],
  "intervalValue": 0,
  "intervalUnit": "MINUTES",
  "timezone": "string",
  "filter": {
    "match": "ALL",
    "conditions": [
      {
        "path": "string",
        "operator": "UNSPECIFIED",
        "value": "string",
        "values": null,
        "caseSensitive": false
      }
    ]
  },
  "workShape": {
    "door": {
      "doorId": "string",
      "integrationConfigId": "string",
      "query": "string",
      "parameters": {},
      "startFrom": 0,
      "skipWhen": {
        "match": "UNSPECIFIED",
        "conditions": []
      },
      "projection": [
        "string"
      ]
    },
    "source": {
      "kind": "TOOL",
      "ragAssetId": "string",
      "ragReadMode": "DOCUMENTS",
      "ragSearch": "string",
      "pageSize": 0,
      "integrationConfigId": "string",
      "integrationId": "string",
      "listToolId": "string",
      "getToolId": "string",
      "recordsPath": "string",
      "cursorParamName": "string",
      "totalPath": "string",
      "pageOrder": "SOURCE_ORDER",
      "parameters": {},
      "itemIdPath": "string",
      "itemVersionPath": "string",
      "previousVersionField": "string",
      "sinkTargetPath": "string",
      "sinkTargetKind": "ROW",
      "skipWhen": {
        "match": "UNSPECIFIED",
        "conditions": []
      },
      "sourceUrlPath": "string",
      "cursorPath": "string",
      "watermarkParamName": "string",
      "watermarkFormat": "RAW",
      "overlapWindowMs": 0,
      "startFrom": 0,
      "flattenSheetRows": false
    },
    "onDemand": {
      "keyPaths": [
        "string"
      ],
      "labelPaths": [
        "string"
      ],
      "inputs": [],
      "tool": {
        "enabled": false,
        "description": "string"
      },
      "agentsMayStart": false
    },
    "stages": [
      {
        "id": "string",
        "displayName": "string",
        "kind": "UNSPECIFIED",
        "agentId": "string",
        "instruction": "string",
        "ask": null,
        "wait": null,
        "batch": null,
        "sink": null,
        "actionTypeCeiling": null,
        "claimLimit": null,
        "maxRunning": null,
        "parameters": [],
        "produces": [],
        "requires": [],
        "dedupeKey": [],
        "routes": [],
        "ignoreReasons": []
      }
    ],
    "parameters": [
      {
        "name": "string",
        "value": "string",
        "description": "string"
      }
    ],
    "policy": {
      "claimLimit": 0,
      "maxAttempts": 0,
      "leaseSeconds": 0,
      "actionTypeCeiling": "READ_ONLY",
      "itemCostCapUsd": 0,
      "effectiveClaimLimit": 1,
      "effectiveMaxAttempts": 1,
      "effectiveLeaseSeconds": 1
    },
    "outcomeUnit": {
      "singular": "string",
      "plural": "string"
    },
    "cohorts": {
      "window": "DAY",
      "settleWithinHours": 0,
      "confirmAboveCredits": 0,
      "followUp": []
    }
  },
  "outcomeDigest": {
    "frequency": "DAILY",
    "sendHour": 0,
    "report": {
      "agentId": "string",
      "contactSlot": "string",
      "labelPaths": [
        "string"
      ],
      "isComplete": true,
      "effectiveLabelPaths": [
        "string"
      ]
    }
  },
  "createdAt": 0,
  "modifiedAt": 0,
  "lastFiredAt": 0,
  "hasWebhookKey": false,
  "webhookOwnership": "PER_BINDING",
  "agentIds": [
    "string"
  ],
  "bindings": [
    {
      "agentId": "string",
      "parameterMappings": [],
      "environmentSlug": "string",
      "outputBindingId": "00000000-0000-0000-0000-000000000000",
      "outputDestination": {
        "bindingId": "00000000-0000-0000-0000-000000000000",
        "participantId": "00000000-0000-0000-0000-000000000000",
        "integrationConfigId": "00000000-0000-0000-0000-000000000000",
        "provider": "string",
        "address": "string"
      },
      "defaultOutputDestinations": []
    }
  ],
  "warnings": [
    "string"
  ],
  "managedBy": {
    "ownerKind": "KNOWLEDGE_SOURCE",
    "ownerId": "00000000-0000-0000-0000-000000000000",
    "roles": [
      "SOURCE"
    ],
    "ownership": "MANAGED",
    "ownerDisplayName": "string",
    "ownerContainerId": "00000000-0000-0000-0000-000000000000",
    "ownerContainerDisplayName": "string",
    "linkedOwnerCount": 0
  }
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}