Docs »

Data Queries »

Data Query Types

autocomplete.completions

autocomplete.completions data queries return autocomplete suggestions for a KATA document.

This functionality is used by various interactions in automation editors.

Inputs

schema: The type of record (automation or automation_event).
params:trigger: The extension ID of the automation trigger (e.g. cerb.trigger.automation.function).
params:path: The optional colon-delimited KATA key path to autocomplete (e.g. start:http.request:inputs:). This defaults to the root.

Response Formats

  • dictionaries (default) returns a table-based format suitable for sheets and API results.

Examples

  • type:autocomplete.completions
    schema:automation
    params:(
      trigger:cerb.trigger.automation.function
      path:"start:"
    )
    format:dictionaries
  • {
      "data": {
        "0": {
          "caption": "decision:",
          "snippet": "decision/${1:key}:\n\t${2:}",
          "description": "Run commands only in the first matching outcome",
          "score": 1000
        },
        "1": {
          "caption": "outcome:",
          "snippet": "outcome/${1:key}:\n\tif@bool: {{${2:condition}}}\n\tthen:\n\t\t${3:}",
          "description": "Run commands when conditions are true",
          "score": 1000
        },
        "2": {
          "caption": "error:",
          "snippet": "error:\n\t",
          "description": "Exit and return an error response",
          "score": 1000
        },
        "3": {
          "caption": "repeat:",
          "snippet": "repeat:\n\t",
          "description": "Repeat commands for every collection item",
          "score": 1000
        },
        "4": {
          "caption": "while:",
          "snippet": "while/${1:key}:\n\tif@bool: {{${2:condition}}}\n\tdo:\n\t\t${3:}",
          "description": "Repeat commands while conditions are true",
          "score": 1000
        },
        "5": {
          "caption": "return:",
          "snippet": "return:\n\t",
          "description": "Exit and return a successful response",
          "score": 1000
        },
        "6": {
          "caption": "set:",
          "snippet": "set:\n\t${1:key}: ${2:value}\n",
          "description": "Set one or more keys",
          "score": 1000
        },
        "7": {
          "caption": "api.command:",
          "snippet": "api.command:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Invoke low-level API commands",
          "score": 1000
        },
        "8": {
          "caption": "data.query:",
          "snippet": "data.query:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Get results from a data query",
          "interaction": "ai.cerb.automationBuilder.action.dataQuery",
          "score": 1000
        },
        "9": {
          "caption": "decrypt.pgp:",
          "snippet": "decrypt.pgp:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Decrypt a block of PGP encrypted text",
          "interaction": "ai.cerb.automationBuilder.action.pgpDecrypt",
          "score": 1000
        },
        "10": {
          "caption": "email.parse:",
          "snippet": "email.parse:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Parse an email message in RFC-5322 format",
          "interaction": "ai.cerb.automationBuilder.action.emailParser",
          "score": 1000
        },
        "11": {
          "caption": "encrypt.pgp:",
          "snippet": "encrypt.pgp:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Encrypt a block of text using PGP public keys",
          "interaction": "ai.cerb.automationBuilder.action.pgpEncrypt",
          "score": 1000
        },
        "12": {
          "caption": "file.read:",
          "snippet": "file.read:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Read attachment content",
          "score": 1000
        },
        "13": {
          "caption": "file.write:",
          "snippet": "file.write:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Write attachment content",
          "score": 1000
        },
        "14": {
          "caption": "function:",
          "snippet": "function:\n\turi: ${1:}\n\tinputs:\n\t\t${2:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Run an automation function",
          "interaction": "ai.cerb.automationBuilder.action.function",
          "score": 1000
        },
        "15": {
          "caption": "http.request:",
          "snippet": "http.request:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Execute a request to an HTTP endpoint",
          "interaction": "ai.cerb.automationBuilder.action.httpRequest",
          "score": 1000
        },
        "16": {
          "caption": "kata.parse:",
          "snippet": "kata.parse:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Parse a KATA tree and substitute placeholders",
          "score": 1000
        },
        "17": {
          "caption": "log:",
          "snippet": "log: ${1:This is a debug message}",
          "description": "Log a message with debug severity",
          "score": 1000
        },
        "18": {
          "caption": "log.error:",
          "snippet": "log.error: ${1:This is an error message}",
          "description": "Log a message with error severity",
          "score": 1000
        },
        "19": {
          "caption": "log.warn:",
          "snippet": "log.warn: ${1:This is a warning message}",
          "description": "Log a message with warning severity",
          "score": 1000
        },
        "20": {
          "caption": "metric.increment:",
          "snippet": "metric.increment:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Record new samples on a metric",
          "interaction": "ai.cerb.automationBuilder.action.metricIncrement",
          "score": 1000
        },
        "21": {
          "caption": "queue.pop:",
          "snippet": "queue.pop:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Read messages from a queue",
          "score": 1000
        },
        "22": {
          "caption": "queue.push:",
          "snippet": "queue.push:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Write messages to a queue",
          "score": 1000
        },
        "23": {
          "caption": "record.create:",
          "snippet": "record.create:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Create a new record of a given type",
          "interaction": "ai.cerb.automationBuilder.action.recordCreate",
          "score": 1000
        },
        "24": {
          "caption": "record.delete:",
          "snippet": "record.delete:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Delete a target record by type and ID",
          "interaction": "ai.cerb.automationBuilder.action.recordDelete",
          "score": 1000
        },
        "25": {
          "caption": "record.get:",
          "snippet": "record.get:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Read a target record by type and ID",
          "interaction": "ai.cerb.automationBuilder.action.recordGet",
          "score": 1000
        },
        "26": {
          "caption": "record.search:",
          "snippet": "record.search:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Search a record type with a query and return matches",
          "interaction": "ai.cerb.automationBuilder.action.recordSearch",
          "score": 1000
        },
        "27": {
          "caption": "record.update:",
          "snippet": "record.update:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Update a target record by type and ID",
          "interaction": "ai.cerb.automationBuilder.action.recordUpdate",
          "score": 1000
        },
        "28": {
          "caption": "record.upsert:",
          "snippet": "record.upsert:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Insert or update a record based query matches",
          "interaction": "ai.cerb.automationBuilder.action.recordUpsert",
          "score": 1000
        },
        "29": {
          "caption": "storage.delete:",
          "snippet": "storage.delete:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Delete a persistent key",
          "interaction": "ai.cerb.automationBuilder.action.storageDelete",
          "score": 1000
        },
        "30": {
          "caption": "storage.get:",
          "snippet": "storage.get:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Read a persistent value by key",
          "interaction": "ai.cerb.automationBuilder.action.storageGet",
          "score": 1000
        },
        "31": {
          "caption": "storage.set:",
          "snippet": "storage.set:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Write a persistent value by key",
          "interaction": "ai.cerb.automationBuilder.action.storageSet",
          "score": 1000
        },
        "32": {
          "caption": "var.expand:",
          "snippet": "var.expand:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Expand a dictionary by key path",
          "score": 1000
        },
        "33": {
          "caption": "var.push:",
          "snippet": "var.push:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Append to a list by key path",
          "score": 1000
        },
        "34": {
          "caption": "var.set:",
          "snippet": "var.set:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Set a key by path",
          "score": 1000
        },
        "35": {
          "caption": "var.unset:",
          "snippet": "var.unset:\n\tinputs:\n\t\t${1:}\n\toutput: results\n\t#on_simulate:\n\t#on_success:\n\t#on_error:\n",
          "description": "Unset a key by path",
          "score": 1000
        }
      },
      "_": {
        "type": "autocomplete.completions",
        "schema": "automation",
        "format": "dictionaries"
      }
    }