Skip to content

DataSource

Data sources are collected through the following eight pipelines. Each pipeline comes with both schema editing (selecting which fields to collect) and data management (viewing the collected data).

Pipeline Name Description
odbc Database Connection Connects to a database to collect data.
mcp MCP Client Establishes a connection so that data can be retrieved from an MCP server.
email_accounts Email Account Information for collecting email accounts.
direct_cable Port Capture Used when a cable is directly connected to the server’s LAN port.
crawl_targets Crawling Site A crawling pipeline that visits websites with URLs and collects data.
google_sheets Google Spreadsheet Collects from Google Sheets, an Excel-like file provided in an online cloud environment.
email_emlfile EML File Reads locally stored EML files.
restapi RESTful Collects data through a REST-style endpoint.

These are variable names collected from the data source. They are used to apply retrieved data to a template. The name must start with $ and end with the variable name; parentheses are not used.

Category Syntax Example
Basic syntax $TableName.FieldName $apis.model
Filtering $TableName.FieldName?condition=value $customers.domain?gubun=소비자
And / Or conditions {$TableName.FieldName?condition1=value&condition2=value1,value2} {$customers.domain?gubun=소비자&grade=A,B}
Upper limit $TableName.FieldName?limit=100 If omitted, only 200 items are loaded. Excess items will be logged on the server

The outer braces { } are optional. Even if there are multiple conditions, you can write $TableName.FieldName?condition1=value&condition2=value. However, when calling within a prompt using {{ }}, do not overlap them — writing {{{$…}}} will leave the outer braces as literal characters.

This is the label of an ontology node. It is used to apply data retrieved from the ontology into a template. It must start with # and end with a variable name. Do not use parentheses.

Category Syntax Example
Basic syntax #NodeName.FieldName #Sender.title
Filtering #NodeName.FieldName?condition=value #Customers.domain?gubun=소비자
And / Or conditions {#NodeName.FieldName?condition1=value&condition2=value1,value2} {#Customers.domain?gubun=소비자&grade=A,B}
Upper limit #NodeName.FieldName?limit=100 If omitted, only 200 items are loaded. Truncation is logged on the server

The outer braces { } may be omitted. Even if there are multiple conditions, you can write #NodeName.FieldName?condition1=value&condition2=value. However, when calling within a prompt using {{ }}, do not overlap them—writing {{{#…}}} will leave the outer braces as literal characters.

Appendix 1. How to Obtain a Google Spreadsheet Service Account Key

Section titled “Appendix 1. How to Obtain a Google Spreadsheet Service Account Key”

The google_sheets pipeline reads sheets using a Google service account. The key only needs to be registered once per instance; before registration the collection ends with an empty result and the server log shows [Google Auth Error] 'google_service_account_json' field is empty or missing.

  1. Go to Google Cloud Console and select a project (create one if none exists).
  2. In APIs & Services → Library, enable Google Sheets API and Google Drive API respectively.
  3. In APIs & Services → Credentials → Create credentials → Service account. Enter a name and finish (you may leave the role blank).
  4. Open the created service account, go to Keys → Add key → Create new key → JSON. A file starting with {"type": "service_account", …} will download. This file is equivalent to a password—do not place it in a shared folder.
  5. In Zio open Basic Code → system_configs table, and paste the entire contents of the JSON file into the google_service_account_json cell.
  6. Share the spreadsheet (or its folder) with the service account email. The email is the client_email value in the JSON (…@….iam.gserviceaccount.com). Since only read access is required, Viewer permission suffices.

You can use the same service account across multiple instances. If you forget to share the sheet with that email, even a correct key will result in “file not found.”