Customermates · Schema

RoutineDtoSchema

CompanyCRMOpen-SourceAISaaS

Properties

Name Type Description
id string
ownerUserId object
owner object
name string
prompt string
enabled boolean
triggerKind string
cronExpression object
timezone object
triggerEvents array
triggerFilters array
recordTrigger object
recordSources object
debounceSeconds integer
nextRunAt object
lastRunAt object
lastRunStatus object
disabledReason object
createdAt string
updatedAt string
View JSON Schema on GitHub

JSON Schema

customermates-com-routine-dto-schema-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/customermates-com/json-schema/customermates-com-routine-dto-schema-schema.json",
  "title": "RoutineDtoSchema",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/customermates-openapi.json#/components/schemas/RoutineDtoSchema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "ownerUserId": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        {
          "type": "null"
        }
      ]
    },
    "owner": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "firstName": {
              "type": "string"
            },
            "lastName": {
              "type": "string"
            },
            "avatarUrl": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "status": {
              "type": "string",
              "enum": [
                "active",
                "inactive",
                "pendingAuthorization"
              ]
            }
          },
          "required": [
            "id",
            "firstName",
            "lastName",
            "avatarUrl",
            "status"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "name": {
      "type": "string"
    },
    "prompt": {
      "type": "string"
    },
    "enabled": {
      "type": "boolean"
    },
    "triggerKind": {
      "type": "string",
      "enum": [
        "schedule",
        "event"
      ]
    },
    "cronExpression": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "timezone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "triggerEvents": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "record.created",
          "record.updated",
          "record.deleted",
          "record.restored",
          "record.deletedPermanently",
          "messaging.message.received",
          "messaging.message.updated",
          "messaging.message.deleted",
          "messaging.message.reaction",
          "messaging.email.received",
          "messaging.email.deleted",
          "messaging.chat.updated",
          "messaging.chat.deleted",
          "messaging.calendar.changed",
          "messaging.calendar_event.changed",
          "messaging.relation.created"
        ]
      }
    },
    "triggerFilters": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "operator": {
                "anyOf": [
                  {
                    "type": "string",
                    "const": "equals",
                    "title": "equals"
                  },
                  {
                    "type": "string",
                    "const": "notEquals",
                    "title": "notEquals"
                  },
                  {
                    "type": "string",
                    "const": "contains",
                    "title": "contains"
                  },
                  {
                    "type": "string",
                    "const": "startsWith",
                    "title": "startsWith"
                  },
                  {
                    "type": "string",
                    "const": "gt",
                    "title": "gt"
                  },
                  {
                    "type": "string",
                    "const": "gte",
                    "title": "gte"
                  },
                  {
                    "type": "string",
                    "const": "lt",
                    "title": "lt"
                  },
                  {
                    "type": "string",
                    "const": "lte",
                    "title": "lte"
                  }
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "required": [
              "field",
              "operator",
              "value"
            ],
            "additionalProperties": false,
            "title": "Single value filter"
          },
          {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "operator": {
                "anyOf": [
                  {
                    "type": "string",
                    "const": "in",
                    "title": "in"
                  },
                  {
                    "type": "string",
                    "const": "notIn",
                    "title": "notIn"
                  },
                  {
                    "type": "string",
                    "const": "between",
                    "title": "between"
                  },
                  {
                    "type": "string",
                    "const": "hasAnyOf",
                    "title": "hasAnyOf"
                  },
                  {
                    "type": "string",
                    "const": "hasAllOf",
                    "title": "hasAllOf"
                  },
                  {
                    "type": "string",
                    "const": "hasNoneOf",
                    "title": "hasNoneOf"
                  }
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "field",
              "operator",
              "value"
            ],
            "additionalProperties": false,
            "title": "Multi value filter"
          },
          {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "operator": {
                "anyOf": [
                  {
                    "type": "string",
                    "const": "isNull",
                    "title": "isNull"
                  },
                  {
                    "type": "string",
                    "const": "isNotNull",
                    "title": "isNotNull"
                  },
                  {
                    "type": "string",
                    "const": "hasUnset",
                    "title": "hasUnset"
                  },
                  {
                    "type": "string",
                    "const": "allSet",
                    "title": "allSet"
                  }
                ]
              }
            },
            "required": [
              "field",
              "operator"
            ],
            "additionalProperties": false,
            "title": "Standalone filter"
          },
          {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "operator": {
                "anyOf": [
                  {
                    "type": "string",
                    "const": "hasNone",
                    "title": "hasNone"
                  },
                  {
                    "type": "string",
                    "const": "hasSome",
                    "title": "hasSome"
                  }
                ]
              }
            },
            "required": [
              "field",
              "operator"
            ],
            "additionalProperties": false,
            "title": "Relationship existence filter"
          },
          {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "operator": {
                "anyOf": [
                  {
                    "type": "string",
                    "const": "inLastDays",
                    "title": "inLastDays"
                  },
                  {
                    "type": "string",
                    "const": "notInLastDays",
                    "title": "notInLastDays"
                  }
                ]
              },
              "value": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "field",
              "operator",
              "value"
            ],
            "additionalProperties": false,
            "title": "Relative window filter"
          }
        ],
        "type": "object"
      }
    },
    "recordTrigger": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "query": {
              "type": "object",
              "properties": {
                "typeId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "filters": {
                  "default": [],
                  "maxItems": 50,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "fieldId": {
                        "anyOf": [
                          {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          {
                            "type": "string",
                            "enum": [
                              "system:createdAt",
                              "system:updatedAt",
                              "system:assignedTo"
                            ]
                          }
                        ]
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "eq",
                          "ne",
                          "contains",
                          "startsWith",
                          "gt",
                          "gte",
                          "lt",
                          "lte",
                          "empty",
                          "notEmpty",
                          "in",
                          "notIn",
                          "all",
                          "between",
                          "overlaps",
                          "inLastDays",
                          "notInLastDays"
                        ],
                        "description": "For multiple choice fields in, all and notIn take option values and match records holding any, all or none of them. between uses two inclusive date endpoints in values; overlaps takes the same endpoints and also matches a date range that only partly falls between them; a range without an end counts as its start day. inLastDays and notInLastDays use a positive whole day count in value as a decimal without currency. Range contains tests a point; gt/gte test its start, lt/lte its end. Relative windows begin at UTC midnight that many days before the query clock: inLastDays includes later dates, notInLastDays matches only earlier ones."
                      },
                      "value": {
                        "anyOf": [
                          {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "text"
                                  },
                                  "value": {
                                    "type": "string",
                                    "maxLength": 100000,
                                    "pattern": "^[^\\u0000]*$"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "textList"
                                  },
                                  "value": {
                                    "minItems": 1,
                                    "maxItems": 100,
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "maxLength": 100000,
                                      "pattern": "^[^\\u0000]*$"
                                    }
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "decimal"
                                  },
                                  "value": {
                                    "type": "string",
                                    "maxLength": 128,
                                    "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                                  },
                                  "currency": {
                                    "anyOf": [
                                      {
                                        "type": "string",
                                        "pattern": "^[A-Z]{3}$"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value",
                                  "currency"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "boolean"
                                  },
                                  "value": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "date"
                                  },
                                  "value": {
                                    "anyOf": [
                                      {
                                        "type": "string",
                                        "format": "date",
                                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                                      },
                                      {
                                        "type": "string",
                                        "format": "date-time",
                                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                                      }
                                    ]
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "dateTime"
                                  },
                                  "value": {
                                    "type": "string",
                                    "format": "date-time",
                                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "range"
                                  },
                                  "start": {
                                    "anyOf": [
                                      {
                                        "type": "string",
                                        "pattern": "^[^\\u0000]*$"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  },
                                  "end": {
                                    "anyOf": [
                                      {
                                        "type": "string",
                                        "pattern": "^[^\\u0000]*$"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ]
                                  }
                                },
                                "required": [
                                  "kind",
                                  "start",
                                  "end"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "select"
                                  },
                                  "value": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 200,
                                    "pattern": "^[^\\u0000]*$"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "selectList"
                                  },
                                  "value": {
                                    "minItems": 1,
                                    "maxItems": 100,
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 200,
                                      "pattern": "^[^\\u0000]*$"
                                    }
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "member"
                                  },
                                  "value": {
                                    "type": "string",
                                    "format": "uuid",
                                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "file"
                                  },
                                  "value": {
                                    "minItems": 1,
                                    "maxItems": 20,
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "richText"
                                  },
                                  "documentJson": {
                                    "type": "string",
                                    "maxLength": 1000000,
                                    "pattern": "^[^\\u0000]*$",
                                    "description": "Full Formatted text replacement as a ProseMirror document JSON string. Markdown is returned on read but cannot be sent here; use append for Markdown additions."
                                  }
                                },
                                "required": [
                                  "kind",
                                  "documentJson"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "kind": {
                                    "type": "string",
                                    "const": "address"
                                  },
                                  "value": {
                                    "$ref": "#/$defs/RecordAddress"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "value"
                                ],
                                "additionalProperties": false
                              }
                            ],
                            "type": "object"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "values": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "const": "text"
                                },
                                "value": {
                                  "type": "string",
                                  "maxLength": 100000,
                                  "pattern": "^[^\\u0000]*$"
                                }
                              },
                              "required": [
                                "kind",
                                "value"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "const": "textList"
                                },
                                "value": {
                                  "minItems": 1,
                                  "maxItems": 100,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "maxLength": 100000,
                                    "pattern": "^[^\\u0000]*$"
                                  }
                                }
                              },
                              "required": [
                                "kind",
                                "value"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "const": "decimal"
                                },
                                "value": {
                                  "type": "string",
                                  "maxLength": 128,
                                  "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                                },
                                "currency": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "pattern": "^[A-Z]{3}$"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                }
                              },
                              "required": [
                                "kind",
                                "value",
                                "currency"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "const": "boolean"
                                },
                                "value": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "kind",
                                "value"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "const": "date"
                                },
                                "value": {
                     

# --- truncated at 32 KB (168 KB total) ---
# Full source: https://artifacts.apis.io/customermates-com/json-schema/customermates-com-routine-dto-schema-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/customermates-com-routine-dto-schema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.