Airlock spec library
Filter by system
Collections link specs together with source links, expectations, and workflow dependencies.
Use the public airlock-specs repo for machine-readable specs and ready-made spec collections. Use airlock-tools for tooling, examples, and agent-friendly docs.
35 results
projects_catalog
operations project management v1.0.0Master project codes, project names, clients, and statuses. Used as the project anchor for time and invoice specs.
- Needs
- None.
- Useful for
- Project registries; Project-code alignment; PSA/PM-style project masters
- Extend with
- Project phases; Status enums; Parent/child project hierarchy
View create_spec call
projects
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Stable project key used across timesheets and invoices",
"name": "project_code",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Display name",
"name": "project_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer / client label",
"name": "client_name",
"tests": [],
"type": "string"
},
{
"description": "active or inactive",
"format": "allowed_values:[active,inactive]",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "append",
"description": "Project catalog (master list for cross-spec references)",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": false,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Projects catalog",
"spec_name": "projects"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": false,
"guest_roles": [],
"isolated_access_level": null,
"isolated_directories_enabled": false,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
ops_issues
project management operations v1.0.0General issue and ticket register for concerns found by people or agents. Use it as the catch-all place to send work that needs attention before the process has a more specific spec.
- Needs
- An in-app role for agents or operators. The sample call uses
ops_agent. - Useful for
- Agent-created tickets; Operational issue tracking; Project follow-up; Exception queues; Early process discovery
- Extend with
- Specialized issue specs for repeated patterns; Source links from the specs that raise issues; Workflow milestones for triage and resolution
- Similar shape
- Ticket queues in project management tools; Issue registers in operations and support workflows
View create_spec call
ops_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "issue id",
"name": "issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "opened at",
"name": "opened_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "opened by actor",
"name": "opened_by_actor",
"tests": [],
"type": "string"
},
{
"description": "source process",
"name": "source_process",
"tests": [],
"type": "string"
},
{
"description": "source spec name",
"name": "source_spec_name",
"tests": [],
"type": "string"
},
{
"description": "source path",
"name": "source_path",
"tests": [],
"type": "string"
},
{
"description": "source filename",
"name": "source_filename",
"tests": [],
"type": "string"
},
{
"description": "source record id",
"name": "source_record_id",
"tests": [],
"type": "string"
},
{
"description": "related spec name",
"name": "related_spec_name",
"tests": [],
"type": "string"
},
{
"description": "related record id",
"name": "related_record_id",
"tests": [],
"type": "string"
},
{
"description": "issue type",
"name": "issue_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "owner role",
"name": "owner_role",
"tests": [],
"type": "string"
},
{
"description": "assignee",
"name": "assignee",
"tests": [],
"type": "string"
},
{
"description": "concern summary",
"name": "concern_summary",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "recommended action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "resolution summary",
"name": "resolution_summary",
"tests": [],
"type": "string"
},
{
"description": "resolved at",
"name": "resolved_at",
"tests": [],
"type": "string"
},
{
"description": "Issue-specific categorization and structured details that may evolve over time.",
"name": "issue_details",
"tests": [],
"type": "variant"
},
{
"description": "Flexible evidence captured by the agent or reconciliation process.",
"name": "evidence",
"tests": [],
"type": "variant"
},
{
"description": "One or more proposed operational actions or targets.",
"name": "suggested_actions",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Flexible operational issue register for concerns discovered during agent review or reconciliation. Rows soft-reference the source work and can later be standardized into specialized issue types.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Ops issues",
"spec_name": "ops_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"file_type": "csv",
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"role_name": "ops_agent",
"access_level": "full_access"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
},
"rules": [
{
"type": "variant_shape",
"field": "issue_details",
"paths": [
{
"json_path": "$.category",
"type": "string",
"required": true
},
{
"json_path": "$.problem_code",
"type": "string",
"required": true
},
{
"json_path": "$.standardization_status",
"type": "string",
"required": false
}
],
"allowed_root_keys": [
"category",
"problem_code",
"standardization_status"
]
},
{
"type": "variant_shape",
"field": "evidence",
"paths": [
{
"json_path": "$.employee.username",
"type": "string",
"required": true
},
{
"json_path": "$.bill_com.payee_external_id",
"type": "string",
"required": false
},
{
"json_path": "$.review.review_id",
"type": "string",
"required": false
}
],
"allowed_root_keys": [
"employee",
"bill_com",
"review"
]
},
{
"type": "variant_shape",
"field": "suggested_actions",
"paths": [
{
"json_path": "$[0].action",
"type": "string",
"required": true
},
{
"json_path": "$[0].target_spec",
"type": "string",
"required": true
},
{
"json_path": "$[0].target_record_id",
"type": "string",
"required": false
}
],
"require_object": false
}
]
}$$));
agent_product_feedback
operations project management v1.0.0Feature requests, bug reports, docs gaps, and spec-library gaps reported by agents. Use it when the problem is about Airlock, docs, specs, generated SQL, integrations, or agent ergonomics rather than a customer operational issue.
- Needs
- An in-app role for agents or maintainers. The sample call uses
product_feedback_agent. - Useful for
- Agent-reported product bugs; Feature requests discovered during real work; Docs and spec-library gaps; Integration modeling gaps; Structured product triage
- Extend with
- Links from recurring feedback into roadmap or issue-tracker specs; Promotion of repeated feedback types into validation rules or product improvements; Routing into Jira, Linear, GitHub, or other delivery systems
- Similar shape
- Product feedback queues; Bug report intake; Feature request triage; Developer experience issue trackers
View create_spec call
agent_product_feedback
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Feedback id",
"name": "feedback_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the feedback was reported",
"name": "reported_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Agent, tool, or workflow that reported the feedback",
"name": "reported_by_agent",
"tests": [],
"type": "string"
},
{
"description": "Agent session or run id when available",
"name": "agent_session_id",
"tests": [],
"type": "string"
},
{
"description": "Workspace, tenant, or environment where the issue appeared",
"name": "workspace_or_tenant",
"tests": [],
"type": "string"
},
{
"description": "User task or automation that exposed the issue",
"name": "source_task",
"tests": [],
"type": "string"
},
{
"description": "Product area such as docs, spec_library, stored_procedure, website, permissions, ingestion, reconciliation, or integration",
"name": "product_area",
"tests": [],
"type": "string"
},
{
"description": "Bug, feature_request, docs_gap, spec_gap, usability, performance, security_review, or other type",
"name": "feedback_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business or product severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Triage priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Open, triaged, accepted, declined, resolved, or other status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Short feedback title",
"name": "title",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Plain-language summary",
"name": "summary",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Expected behavior or desired capability",
"name": "expected_behavior",
"tests": [],
"type": "string"
},
{
"description": "Actual behavior seen by the agent",
"name": "actual_behavior",
"tests": [],
"type": "string"
},
{
"description": "Compact reproduction steps when available",
"name": "reproduction_steps",
"tests": [],
"type": "string"
},
{
"description": "Related Airlock spec name when relevant",
"name": "affected_spec_name",
"tests": [],
"type": "string"
},
{
"description": "Related stored procedure or API surface when relevant",
"name": "affected_procedure",
"tests": [],
"type": "string"
},
{
"description": "Related repo or docs file path when relevant",
"name": "affected_file_path",
"tests": [],
"type": "string"
},
{
"description": "Role or team responsible for triage",
"name": "owner_role",
"tests": [],
"type": "string"
},
{
"description": "Triage outcome or routing decision",
"name": "triage_decision",
"tests": [],
"type": "string"
},
{
"description": "Resolution summary",
"name": "resolution_summary",
"tests": [],
"type": "string"
},
{
"description": "Resolution timestamp",
"name": "resolved_at",
"tests": [],
"type": "string"
},
{
"description": "Structured runtime, browser, database, library, or integration context.",
"name": "environment_details",
"tests": [],
"type": "variant"
},
{
"description": "Logs, error payloads, screenshots, source references, or other evidence.",
"name": "evidence",
"tests": [],
"type": "variant"
},
{
"description": "Suggested product, docs, spec, or code change.",
"name": "suggested_fix",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Feature requests, bug reports, docs gaps, and spec-library gaps reported by agents while they work.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Agent product feedback",
"spec_name": "agent_product_feedback"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "product_feedback_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
timesheet_weekly
operations v1.3.0Weekly time lines with date, hours, billable flag, project/task/subtask, and notes. Optional guest folders and weekly Submitted expectation.
- Needs
timesheet_guest_roleortimesheet_guest_roleswhen guest access is enabled.- Useful for
- Consultant time capture; Agency timesheets; Weekly cutoff reminders
- Similar shape
- Harvest; Toggl Track; QuickBooks Time-style weekly rows
View create_spec call
timesheet_lines
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Work date",
"format": "%Y-%m-%d",
"name": "work_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "Decimal hours",
"format": "min_value:0.01,max_value:24,precision:8,scale:2",
"name": "hours",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "Billable line",
"format": "true_values:[true,yes,Y,1,t],false_values:[false,no,N,0,f]",
"name": "billable",
"tests": [
"not_null"
],
"type": "boolean"
},
{
"description": "Project reference",
"name": "project_code",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Optional task",
"name": "task",
"tests": [],
"type": "string"
},
{
"description": "Optional subtask / activity",
"name": "subtask",
"tests": [],
"type": "string"
},
{
"description": "Notes",
"name": "notes",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "append",
"description": "Weekly timesheet line items",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": false,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Timesheet lines",
"spec_name": "timesheet_lines",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": true,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": true,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for payroll",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Approved / locked",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Approved",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"file_type": "excel",
"worksheet_name": "Time Entries",
"worksheet_selection": "by_name"
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "employee"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
View links and expectations
Expectations
[
{
"expectation_name": "demo_weekly_timesheet_delivery",
"spec_name": "timesheet_lines",
"description": "Weekly delivery expectation for timesheet lines: files should reach the Submitted milestone by the rolling weekly cutoff (schedule operator due_weekly). Advisory by default.",
"status": "active",
"enforcement_mode": "advisory",
"target_milestone": "Submitted",
"logic": "all",
"clauses": [
{
"type": "schedule",
"label": "weekly_timesheet_cutoff",
"operator": "due_weekly",
"weekday": "friday",
"time": "17:00",
"timezone": "America/New_York"
}
],
"applies_to": {}
}
]
invoice_lines
billing v1.0.0Invoice line items for billing and AR export handoff, usually tied to projects and customers.
- Needs
- None.
- Useful for
- Structured invoice lines; Billing events; Revenue-recognition handoff
- Extend with
- Tax; Discounts; Multi-currency fields
View create_spec call
invoice_lines
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Invoice document id",
"name": "invoice_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Line number",
"name": "line_no",
"tests": [
"not_null"
],
"type": "integer"
},
{
"description": "Invoice date",
"format": "%Y-%m-%d",
"name": "invoice_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "Project reference",
"name": "project_code",
"tests": [],
"type": "string"
},
{
"description": "Line amount",
"name": "amount",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "Tax portion",
"name": "tax_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Billable to customer",
"format": "true_values:[true,yes,Y,1],false_values:[false,no,N,0]",
"name": "billable",
"tests": [
"not_null"
],
"type": "boolean"
},
{
"description": "Line memo",
"name": "memo",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "append",
"description": "Invoice lines for billing / AR handoff",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": false,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Invoice lines",
"spec_name": "invoice_lines",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": true,
"description": "Draft invoice lines",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for posting",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Posted / locked",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Approved",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": false,
"guest_roles": [],
"isolated_access_level": null,
"isolated_directories_enabled": false,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
budget_role_scoped
finance v1.3.0FY-style budget requests with workflow milestones and role-scoped filename/account-prefix rules.
- Needs
budget_finance_role,budget_hr_role, andbudget_marketing_role; all distinct.- Useful for
- Departmental budget submissions; Finance/HR/marketing planning cycles
- Similar shape
- Workday; Adaptive; Anaplan-style planning roles
View create_spec call
budget_requests
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Fiscal year",
"format": "allowed_values:2026",
"name": "fiscal_year",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Department (must align with role map)",
"name": "department_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Account code",
"name": "account",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Request amount",
"name": "request",
"tests": [
"not_null"
],
"type": "integer"
},
{
"description": "Narrative",
"name": "narrative",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "append",
"description": "Budget requests \u2014 role-scoped accounts (reference_map) + department filename prefix",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_multi_role": true,
"is_published": false,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Budget requests (role-scoped)",
"spec_name": "budget_requests",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": true,
"description": "Draft budget lines",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": true,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted request",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Finance / planning recommendation",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Recommended",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Final approval \u2014 locked",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Recommended",
"require_comment": true,
"step_name": "Approved",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"file_type": "excel",
"worksheet_name": "Budget Request",
"worksheet_selection": "by_name"
},
"filename_rules": {
"enforce_filename_pattern": true,
"filename_pattern": "^{reference_map:role_department}_.*$",
"sample_filenames": "finance_budget_submission_2026, human_resources_budget_submission_2026, marketing_budget_submission_2026"
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "finance"
},
{
"access_level": "full_access",
"role_name": "hr"
},
{
"access_level": "full_access",
"role_name": "marketing"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"reference_maps": [
{
"mapping": {
"finance": "finance",
"hr": "human_resources",
"marketing": "marketing"
},
"name": "role_department"
},
{
"mapping": {
"finance": "133",
"hr": "220",
"marketing": "310"
},
"name": "role_department_code"
}
],
"rules": [
{
"field": "account",
"match_type": "prefix",
"reference_map": "role_department_code",
"type": "reference_map"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
business_operations_suite
operations billing finance collection v1.5.0Spec collection that links projects_catalog, timesheet_weekly, invoice_lines, and budget_role_scoped.
- Needs
- Timesheet guest roles when guest access is on; The three budget role slots
- Useful for
- Small-business operations: projects, time, invoices, and annual budget submissions
- Links
- Timesheet lines use project codes from the project catalog; Invoice lines use project codes from the project catalog; Weekly timesheet delivery expectation when enabled
View 4 create_spec calls
projects
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Stable project key used across timesheets and invoices",
"name": "project_code",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Display name",
"name": "project_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer / client label",
"name": "client_name",
"tests": [],
"type": "string"
},
{
"description": "active or inactive",
"format": "allowed_values:[active,inactive]",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "append",
"description": "Project catalog (master list for cross-spec references)",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": false,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Projects catalog",
"spec_name": "projects"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": false,
"guest_roles": [],
"isolated_access_level": null,
"isolated_directories_enabled": false,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
timesheet_lines
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Work date",
"format": "%Y-%m-%d",
"name": "work_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "Decimal hours",
"format": "min_value:0.01,max_value:24,precision:8,scale:2",
"name": "hours",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "Billable line",
"format": "true_values:[true,yes,Y,1,t],false_values:[false,no,N,0,f]",
"name": "billable",
"tests": [
"not_null"
],
"type": "boolean"
},
{
"description": "Project reference",
"name": "project_code",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Optional task",
"name": "task",
"tests": [],
"type": "string"
},
{
"description": "Optional subtask / activity",
"name": "subtask",
"tests": [],
"type": "string"
},
{
"description": "Notes",
"name": "notes",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "append",
"description": "Weekly timesheet line items",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": false,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Timesheet lines",
"spec_name": "timesheet_lines",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": true,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": true,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for payroll",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Approved / locked",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Approved",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"file_type": "excel",
"worksheet_name": "Time Entries",
"worksheet_selection": "by_name"
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "employee"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
invoice_lines
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Invoice document id",
"name": "invoice_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Line number",
"name": "line_no",
"tests": [
"not_null"
],
"type": "integer"
},
{
"description": "Invoice date",
"format": "%Y-%m-%d",
"name": "invoice_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "Project reference",
"name": "project_code",
"tests": [],
"type": "string"
},
{
"description": "Line amount",
"name": "amount",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "Tax portion",
"name": "tax_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Billable to customer",
"format": "true_values:[true,yes,Y,1],false_values:[false,no,N,0]",
"name": "billable",
"tests": [
"not_null"
],
"type": "boolean"
},
{
"description": "Line memo",
"name": "memo",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "append",
"description": "Invoice lines for billing / AR handoff",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": false,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Invoice lines",
"spec_name": "invoice_lines",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": true,
"description": "Draft invoice lines",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for posting",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Posted / locked",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Approved",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": false,
"guest_roles": [],
"isolated_access_level": null,
"isolated_directories_enabled": false,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
budget_requests
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Fiscal year",
"format": "allowed_values:2026",
"name": "fiscal_year",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Department (must align with role map)",
"name": "department_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Account code",
"name": "account",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Request amount",
"name": "request",
"tests": [
"not_null"
],
"type": "integer"
},
{
"description": "Narrative",
"name": "narrative",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "append",
"description": "Budget requests \u2014 role-scoped accounts (reference_map) + department filename prefix",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_multi_role": true,
"is_published": false,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Budget requests (role-scoped)",
"spec_name": "budget_requests",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": true,
"description": "Draft budget lines",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": true,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted request",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Finance / planning recommendation",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Recommended",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Final approval \u2014 locked",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Recommended",
"require_comment": true,
"step_name": "Approved",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"file_type": "excel",
"worksheet_name": "Budget Request",
"worksheet_selection": "by_name"
},
"filename_rules": {
"enforce_filename_pattern": true,
"filename_pattern": "^{reference_map:role_department}_.*$",
"sample_filenames": "finance_budget_submission_2026, human_resources_budget_submission_2026, marketing_budget_submission_2026"
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "finance"
},
{
"access_level": "full_access",
"role_name": "hr"
},
{
"access_level": "full_access",
"role_name": "marketing"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"reference_maps": [
{
"mapping": {
"finance": "finance",
"hr": "human_resources",
"marketing": "marketing"
},
"name": "role_department"
},
{
"mapping": {
"finance": "133",
"hr": "220",
"marketing": "310"
},
"name": "role_department_code"
}
],
"rules": [
{
"field": "account",
"match_type": "prefix",
"reference_map": "role_department_code",
"type": "reference_map"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
View links and expectations
Source links
[
{
"downstream_spec_name": "timesheet_lines",
"source_spec_name": "projects",
"link_options": null
},
{
"downstream_spec_name": "invoice_lines",
"source_spec_name": "projects",
"link_options": null
}
]
Expectations
[
{
"expectation_name": "demo_weekly_timesheet_delivery",
"spec_name": "timesheet_lines",
"description": "Weekly delivery expectation for timesheet lines: files should reach the Submitted milestone by the rolling weekly cutoff (schedule operator due_weekly). Advisory by default.",
"status": "active",
"enforcement_mode": "advisory",
"target_milestone": "Submitted",
"logic": "all",
"clauses": [
{
"type": "schedule",
"label": "weekly_timesheet_cutoff",
"operator": "due_weekly",
"weekday": "friday",
"time": "17:00",
"timezone": "America/New_York"
}
],
"applies_to": {}
}
]
commerce_operations_intelligence_suite
commerce finance collection v1.3.1Mixed commerce operations collection: Shopify and other system observations, commerce reconciliation findings, governed Shopify change proposals, and Bill.com reimbursement operations.
- Related systems
- Shopify; Flexport; Bill.com; Ad platforms; Subscription platforms; Commerce reconciliation
- Coverage notes
- This is a mixed operations collection. Shopify-labeled specs inside it are direct Shopify API observations or outbound Shopify commitments; reconciliation and generic helper specs are labeled as commerce reconciliation or internal specs.
- Needs
commerce_agent_role; Default role names are finance, operations, warehouse, and marketing- Useful for
- AI-assisted ecommerce operations across product catalog, orders, costs, inventory, marketing, subscriptions, reimbursements, and payment confirmations
- Seeds
- Demo CSVs under scopes such as
shopify_api,shopify_agent_api,bill_com_api,employee_directory, and reconciliation. - Links
- Price-change proposals cite upstream reconciliation findings; Catalog-update proposals cite observed Shopify product data; Employee reimbursements are included as the finance operations collection
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
department_account_map | Internal | Reference / access lens | Role-filtered department/account map for caller-scoped reference reads. |
shopify_api_products | Shopify | Observation | Product and variant catalog observations. |
shopify_api_orders | Shopify | Observation | Order observations with line-item, shipping, discount, fulfillment, region, and date fields. |
flexport_landed_costs | Flexport | Observation | SKU-level freight, customs, landed cost, carrier, destination, and shipment state. |
inventory_levels | Internal | Observation | Inventory quantities by SKU/location. |
ad_spend | Ad platforms | Observation | Campaign spend, channel, CAC, attributed revenue, and region. |
subscription_events | Subscription platforms | Observation | Subscription lifecycle events and churn/payment signals. |
sku_catalog_reconciliation | Commerce reconciliation | Reconciliation | Catalog drift findings. |
shipping_margin_reconciliation | Commerce reconciliation | Reconciliation | Shipping and margin findings. |
bundle_profitability_reconciliation | Commerce reconciliation | Reconciliation | Bundle profitability findings. |
shopify_agent_api_price_changes | Shopify | Commitment workflow | Agent-proposed variant price changes before outbound Shopify API sync. |
shopify_agent_api_catalog_updates | Shopify | Commitment workflow | Agent-proposed product or variant catalog updates before outbound Shopify API sync. |
bill_com_employee_reimbursements | Bill.com | Child collection | Employee reimbursements, Bill.com commitments, confirmations, and reconciliation. |
View 21 create_spec calls
employee_info
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "employee username",
"name": "employee_username",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "employee name",
"name": "employee_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "work email",
"name": "work_email",
"tests": [],
"type": "string"
},
{
"description": "manager username",
"name": "manager_username",
"tests": [],
"type": "string"
},
{
"description": "department",
"name": "department",
"tests": [],
"type": "string"
},
{
"description": "default reimbursement category",
"name": "default_reimbursement_category",
"tests": [],
"type": "string"
},
{
"description": "airlock status",
"name": "airlock_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "bill com payee external id",
"name": "bill_com_payee_external_id",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Canonical employee roster used by reimbursement agents when joining Airlock employee identity to Bill.com payee setup.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Employee info",
"spec_name": "employee_info"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_employee_payees
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "bill com payee external id",
"name": "bill_com_payee_external_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "display name",
"name": "display_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "email",
"name": "email",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "default payment method",
"name": "default_payment_method",
"tests": [],
"type": "string"
},
{
"description": "remittance address",
"name": "remittance_address",
"tests": [],
"type": "string"
},
{
"description": "last pulled at",
"name": "last_pulled_at",
"tests": [],
"type": "string"
},
{
"description": "raw record hash",
"name": "raw_record_hash",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payee, vendor, or user setup observations pulled from Bill.com by an agent through the Bill.com API.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API employee payees",
"spec_name": "bill_com_api_employee_payees"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
employee_reimbursements
CALL airlock.admin.create_spec(PARSE_JSON($${
"attachment_policy": {
"allow_custom_attachment_tags": true,
"allowed_extensions": [
".pdf",
".png",
".jpg",
".jpeg"
],
"attachment_required": true,
"attachments_enabled": true,
"default_attachment_tag_limit": 1,
"max_attachment_count": 5
},
"column_config": [
{
"description": "reimbursement id",
"name": "reimbursement_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "employee username",
"name": "employee_username",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "manager username",
"name": "manager_username",
"tests": [],
"type": "string"
},
{
"description": "receipt date",
"format": "%Y-%m-%d",
"name": "receipt_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "merchant",
"name": "merchant",
"tests": [],
"type": "string"
},
{
"description": "amount",
"name": "amount",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "category",
"name": "category",
"tests": [],
"type": "string"
},
{
"description": "policy flag",
"name": "policy_flag",
"tests": [],
"type": "string"
},
{
"description": "extracted summary",
"name": "extracted_summary",
"tests": [],
"type": "string"
},
{
"description": "Flexible JSON context for agent/source details, receipt extraction, and policy signals",
"name": "processing_context",
"tests": [],
"type": "variant"
},
{
"description": "approval status",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "approved by",
"name": "approved_by",
"tests": [],
"type": "string"
},
{
"description": "approved at",
"name": "approved_at",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Employee reimbursement submissions with required receipt attachments and Draft -> Submitted -> Reviewed -> Approved workflow. An agent records a review separately before approval.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Employee reimbursements",
"spec_name": "employee_reimbursements",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Reviewed",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Reviewed",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Approved",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Reviewed",
"require_comment": true,
"step_name": "Approved",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"submission",
"receipt",
"policy"
],
"field": "processing_context",
"paths": [
{
"json_path": "$.submission.channel",
"required": true,
"type": "string"
},
{
"json_path": "$.receipt.total",
"required": true,
"type": "number"
},
{
"json_path": "$.policy.requires_manager_review",
"required": true,
"type": "boolean"
},
{
"json_path": "$.policy.reason",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
employee_reimbursement_reviews
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "review id",
"name": "review_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "reviewed at",
"name": "reviewed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "reviewed by agent",
"name": "reviewed_by_agent",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "reimbursement spec name",
"name": "reimbursement_spec_name",
"tests": [],
"type": "string"
},
{
"description": "reimbursement path",
"name": "reimbursement_path",
"tests": [],
"type": "string"
},
{
"description": "reimbursement filename",
"name": "reimbursement_filename",
"tests": [],
"type": "string"
},
{
"description": "reimbursement id",
"name": "reimbursement_id",
"tests": [],
"type": "string"
},
{
"description": "employee username",
"name": "employee_username",
"tests": [],
"type": "string"
},
{
"description": "review status",
"name": "review_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "receipt check result",
"name": "receipt_check_result",
"tests": [],
"type": "string"
},
{
"description": "policy check result",
"name": "policy_check_result",
"tests": [],
"type": "string"
},
{
"description": "duplicate check result",
"name": "duplicate_check_result",
"tests": [],
"type": "string"
},
{
"description": "employee setup check result",
"name": "employee_setup_check_result",
"tests": [],
"type": "string"
},
{
"description": "bill com setup check result",
"name": "bill_com_setup_check_result",
"tests": [],
"type": "string"
},
{
"description": "recommended manager action",
"name": "recommended_manager_action",
"tests": [],
"type": "string"
},
{
"description": "review summary",
"name": "review_summary",
"tests": [],
"type": "string"
},
{
"description": "bill com update ids",
"name": "bill_com_update_ids",
"tests": [],
"type": "string"
},
{
"description": "Structured check outcomes recorded by the review agent.",
"name": "check_results",
"tests": [],
"type": "variant"
},
{
"description": "Flexible review evidence such as extracted receipt, policy, duplicate, and setup context.",
"name": "review_evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Timestamped agent review records for submitted reimbursements. These records soft-reference the reimbursement file path and reimbursement id without creating a hard source link, so the submitted file can be deleted later without breaking review history.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Employee reimbursement reviews",
"spec_name": "employee_reimbursement_reviews"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"checks",
"recommended_update_ids"
],
"field": "check_results",
"paths": [
{
"json_path": "$.checks",
"required": true,
"type": "array"
},
{
"json_path": "$.recommended_update_ids",
"required": false,
"type": "array"
}
],
"type": "variant_shape"
},
{
"allowed_root_keys": [
"employee",
"receipt",
"duplicate_candidates",
"policy_context",
"bill_com"
],
"field": "review_evidence",
"paths": [
{
"json_path": "$.employee.username",
"required": true,
"type": "string"
},
{
"json_path": "$.receipt.amount",
"required": true,
"type": "number"
},
{
"json_path": "$.duplicate_candidates",
"required": true,
"type": "array"
},
{
"json_path": "$.policy_context.manager_context_required",
"required": true,
"type": "boolean"
},
{
"json_path": "$.bill_com.payee_external_id",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
ops_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "issue id",
"name": "issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "opened at",
"name": "opened_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "opened by actor",
"name": "opened_by_actor",
"tests": [],
"type": "string"
},
{
"description": "source process",
"name": "source_process",
"tests": [],
"type": "string"
},
{
"description": "source spec name",
"name": "source_spec_name",
"tests": [],
"type": "string"
},
{
"description": "source path",
"name": "source_path",
"tests": [],
"type": "string"
},
{
"description": "source filename",
"name": "source_filename",
"tests": [],
"type": "string"
},
{
"description": "source record id",
"name": "source_record_id",
"tests": [],
"type": "string"
},
{
"description": "related spec name",
"name": "related_spec_name",
"tests": [],
"type": "string"
},
{
"description": "related record id",
"name": "related_record_id",
"tests": [],
"type": "string"
},
{
"description": "issue type",
"name": "issue_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "owner role",
"name": "owner_role",
"tests": [],
"type": "string"
},
{
"description": "assignee",
"name": "assignee",
"tests": [],
"type": "string"
},
{
"description": "concern summary",
"name": "concern_summary",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "recommended action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "resolution summary",
"name": "resolution_summary",
"tests": [],
"type": "string"
},
{
"description": "resolved at",
"name": "resolved_at",
"tests": [],
"type": "string"
},
{
"description": "Issue-specific categorization and structured details that may evolve over time.",
"name": "issue_details",
"tests": [],
"type": "variant"
},
{
"description": "Flexible evidence captured by the agent or reconciliation process.",
"name": "evidence",
"tests": [],
"type": "variant"
},
{
"description": "One or more proposed operational actions or targets.",
"name": "suggested_actions",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Flexible operational issue register for concerns discovered during agent review or reconciliation. Rows soft-reference the source work and can later be standardized into specialized issue types.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Ops issues",
"spec_name": "ops_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"category",
"problem_code",
"standardization_status"
],
"field": "issue_details",
"paths": [
{
"json_path": "$.category",
"required": true,
"type": "string"
},
{
"json_path": "$.problem_code",
"required": true,
"type": "string"
},
{
"json_path": "$.standardization_status",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
},
{
"allowed_root_keys": [
"employee",
"bill_com",
"review"
],
"field": "evidence",
"paths": [
{
"json_path": "$.employee.username",
"required": true,
"type": "string"
},
{
"json_path": "$.bill_com.payee_external_id",
"required": false,
"type": "string"
},
{
"json_path": "$.review.review_id",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
},
{
"field": "suggested_actions",
"paths": [
{
"json_path": "$[0].action",
"required": true,
"type": "string"
},
{
"json_path": "$[0].target_spec",
"required": true,
"type": "string"
},
{
"json_path": "$[0].target_record_id",
"required": false,
"type": "string"
}
],
"require_object": false,
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "update id",
"name": "update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "detected at",
"name": "detected_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "employee username",
"name": "employee_username",
"tests": [],
"type": "string"
},
{
"description": "bill com payee external id",
"name": "bill_com_payee_external_id",
"tests": [],
"type": "string"
},
{
"description": "update type",
"name": "update_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "airlock value",
"name": "airlock_value",
"tests": [],
"type": "string"
},
{
"description": "bill com value",
"name": "bill_com_value",
"tests": [],
"type": "string"
},
{
"description": "proposed value",
"name": "proposed_value",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "reconciliation problem",
"name": "reconciliation_problem",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "recommended action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "source employee info id",
"name": "source_employee_info_id",
"tests": [],
"type": "string"
},
{
"description": "source bill com record id",
"name": "source_bill_com_record_id",
"tests": [],
"type": "string"
},
{
"description": "decision status",
"name": "decision_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "approved by",
"name": "approved_by",
"tests": [],
"type": "string"
},
{
"description": "approved at",
"name": "approved_at",
"tests": [],
"type": "string"
},
{
"description": "Structured reconciliation context behind the proposed Bill.com setup update.",
"name": "update_details",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Agent-proposed Bill.com setup edits from reconciliation between employee_info and Bill.com API payee observations.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com updates",
"spec_name": "bill_com_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Approved",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Approved",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"employee",
"field",
"current_airlock_value",
"current_bill_com_value",
"proposed_bill_com_value",
"source_review_id"
],
"field": "update_details",
"paths": [
{
"json_path": "$.employee.username",
"required": true,
"type": "string"
},
{
"json_path": "$.field",
"required": true,
"type": "string"
},
{
"json_path": "$.proposed_bill_com_value",
"required": true,
"type": "string"
},
{
"json_path": "$.source_review_id",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
employee_reimbursement_commitment
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "batch id",
"name": "batch_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "prepared at",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "prepared by",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "reimbursement ids",
"name": "reimbursement_ids",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "employee usernames",
"name": "employee_usernames",
"tests": [],
"type": "string"
},
{
"description": "payee external ids",
"name": "payee_external_ids",
"tests": [],
"type": "string"
},
{
"description": "employee count",
"name": "employee_count",
"tests": [],
"type": "integer"
},
{
"description": "total amount",
"name": "total_amount",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "api operation",
"name": "api_operation",
"tests": [],
"type": "string"
},
{
"description": "process date",
"name": "process_date",
"tests": [],
"type": "string"
},
{
"description": "funding account type",
"name": "funding_account_type",
"tests": [],
"type": "string"
},
{
"description": "funding account id",
"name": "funding_account_id",
"tests": [],
"type": "string"
},
{
"description": "bill ids",
"name": "bill_ids",
"tests": [],
"type": "string"
},
{
"description": "payment amounts by bill",
"name": "payment_amounts_by_bill",
"tests": [],
"type": "string"
},
{
"description": "api payload hash",
"name": "api_payload_hash",
"tests": [],
"type": "string"
},
{
"description": "commitment status",
"name": "commitment_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Structured list of approved reimbursements gathered into this commitment.",
"name": "selected_reimbursements",
"tests": [],
"type": "variant"
},
{
"description": "Bill.com API payload prepared by the agent for the outbound payment commitment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "One row per gathered outbound payment packet (not per reimbursement line). Rows are built from Approved employee_reimbursements files (governed by spec_source_links), then enriched with employee-directory fields: employee_usernames mirror Airlock/Snowflake identities from the requests; payee_external_ids hold provider-side ids (e.g. BILL userUuid or vendorId) resolved by joining to an employee roster\u2014often different from the Snowflake username. Bill line / payment metadata (billIds, amounts, processDate, fundingAccount) aligns with BILL POST /v3/payments*; real calls still require MFA-trusted sessions and ids from the vendor system.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Employee reimbursement commitment",
"spec_name": "employee_reimbursement_commitment",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Prepared",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Prepared",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Prepared",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Sent",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"field": "selected_reimbursements",
"paths": [
{
"json_path": "$[0].reimbursement_id",
"required": true,
"type": "string"
},
{
"json_path": "$[0].employee_username",
"required": true,
"type": "string"
},
{
"json_path": "$[0].amount",
"required": true,
"type": "number"
},
{
"json_path": "$[0].currency",
"required": true,
"type": "string"
}
],
"require_object": false,
"type": "variant_shape"
},
{
"allowed_root_keys": [
"operation",
"processDate",
"fundingAccount",
"payments"
],
"field": "api_payload",
"paths": [
{
"json_path": "$.operation",
"required": true,
"type": "string"
},
{
"json_path": "$.fundingAccount.id",
"required": true,
"type": "string"
},
{
"json_path": "$.payments",
"required": true,
"type": "array"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_payment_confirmations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "confirmation id",
"name": "confirmation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "batch id",
"name": "batch_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "bill com payment id",
"name": "bill_com_payment_id",
"tests": [],
"type": "string"
},
{
"description": "confirmed at",
"name": "confirmed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "raw event id",
"name": "raw_event_id",
"tests": [],
"type": "string"
},
{
"description": "Raw or normalized Bill.com webhook/polling response retained for audit.",
"name": "provider_response",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment confirmation observations received from Bill.com webhook or polling after reimbursement commitments are sent.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API payment confirmations",
"spec_name": "bill_com_api_payment_confirmations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"eventId",
"paymentId",
"status",
"amount",
"currency",
"batchId"
],
"field": "provider_response",
"paths": [
{
"json_path": "$.eventId",
"required": true,
"type": "string"
},
{
"json_path": "$.paymentId",
"required": true,
"type": "string"
},
{
"json_path": "$.status",
"required": true,
"type": "string"
},
{
"json_path": "$.amount",
"required": true,
"type": "number"
},
{
"json_path": "$.currency",
"required": true,
"type": "string"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
reimbursement_payment_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "reconciliation id",
"name": "reconciliation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "batch id",
"name": "batch_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "confirmation id",
"name": "confirmation_id",
"tests": [],
"type": "string"
},
{
"description": "expected amount",
"name": "expected_amount",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "confirmed amount",
"name": "confirmed_amount",
"tests": [],
"type": "number"
},
{
"description": "difference",
"name": "difference",
"tests": [],
"type": "number"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "finding",
"name": "finding",
"tests": [],
"type": "string"
},
{
"description": "Structured matching details and comparison metadata.",
"name": "reconciliation_details",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Reconciliation between employee reimbursement commitments sent to Bill.com and Bill.com payment confirmations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Reimbursement payment reconciliation",
"spec_name": "reimbursement_payment_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"matched_commitment_ids",
"matched_confirmation_ids",
"comparison"
],
"field": "reconciliation_details",
"paths": [
{
"json_path": "$.matched_commitment_ids",
"required": true,
"type": "array"
},
{
"json_path": "$.matched_confirmation_ids",
"required": true,
"type": "array"
},
{
"json_path": "$.comparison.amount_delta",
"required": true,
"type": "number"
},
{
"json_path": "$.comparison.currency_match",
"required": true,
"type": "boolean"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
department_account_map
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "department",
"name": "department",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "account code",
"name": "account_code",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "account name",
"name": "account_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "spend category",
"name": "spend_category",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Role-scoped department/account reference data for commerce operating decisions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Department account map",
"spec_name": "department_account_map"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"read_policy": {
"row_filters_by_role": {
"finance": [
{
"column": "department",
"op": "=",
"value": "finance"
}
],
"marketing": [
{
"column": "department",
"op": "=",
"value": "marketing"
}
],
"operations": [
{
"column": "department",
"op": "=",
"value": "operations"
}
],
"warehouse": [
{
"column": "department",
"op": "=",
"value": "warehouse"
}
]
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_products
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "product id",
"name": "product_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "variant id",
"name": "variant_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "title",
"name": "title",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "variant title",
"name": "variant_title",
"tests": [],
"type": "string"
},
{
"description": "weight",
"name": "weight",
"tests": [],
"type": "number"
},
{
"description": "weight unit",
"name": "weight_unit",
"tests": [],
"type": "string"
},
{
"description": "price",
"name": "price",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "compare at price",
"name": "compare_at_price",
"tests": [],
"type": "number"
},
{
"description": "inventory item id",
"name": "inventory_item_id",
"tests": [],
"type": "string"
},
{
"description": "barcode",
"name": "barcode",
"tests": [],
"type": "string"
},
{
"description": "requires shipping",
"name": "requires_shipping",
"tests": [],
"type": "boolean"
},
{
"description": "taxable",
"name": "taxable",
"tests": [],
"type": "boolean"
},
{
"description": "vendor",
"name": "vendor",
"tests": [],
"type": "string"
},
{
"description": "product type",
"name": "product_type",
"tests": [],
"type": "string"
},
{
"description": "tags",
"name": "tags",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product and variant catalog observations pulled from the Shopify API.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API products",
"spec_name": "shopify_api_products"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "order date",
"format": "%Y-%m-%d",
"name": "order_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "quantity",
"name": "quantity",
"tests": [
"not_null"
],
"type": "integer"
},
{
"description": "subtotal price",
"name": "subtotal_price",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "total shipping price",
"name": "total_shipping_price",
"tests": [],
"type": "number"
},
{
"description": "total discounts",
"name": "total_discounts",
"tests": [],
"type": "number"
},
{
"description": "fulfillment status",
"name": "fulfillment_status",
"tests": [],
"type": "string"
},
{
"description": "ship region",
"name": "ship_region",
"tests": [],
"type": "string"
},
{
"description": "tags",
"name": "tags",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order-line observations pulled from the Shopify API for margin, shipping, fulfillment, and regional profitability analysis.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API orders",
"spec_name": "shopify_api_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
flexport_landed_costs
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "shipment id",
"name": "shipment_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "freight cost",
"name": "freight_cost",
"tests": [],
"type": "number"
},
{
"description": "customs cost",
"name": "customs_cost",
"tests": [],
"type": "number"
},
{
"description": "landed cost",
"name": "landed_cost",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "shipment weight",
"name": "shipment_weight",
"tests": [],
"type": "number"
},
{
"description": "warehouse destination",
"name": "warehouse_destination",
"tests": [],
"type": "string"
},
{
"description": "carrier",
"name": "carrier",
"tests": [],
"type": "string"
},
{
"description": "shipment status",
"name": "shipment_status",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "SKU-level logistics, freight, tariff, landed-cost, and warehouse destination observations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Flexport landed costs",
"spec_name": "flexport_landed_costs"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
inventory_levels
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "available quantity",
"name": "available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "reserved quantity",
"name": "reserved_quantity",
"tests": [],
"type": "integer"
},
{
"description": "inbound quantity",
"name": "inbound_quantity",
"tests": [],
"type": "integer"
},
{
"description": "damaged quantity",
"name": "damaged_quantity",
"tests": [],
"type": "integer"
},
{
"description": "last counted at",
"format": "%Y-%m-%d",
"name": "last_counted_at",
"tests": [],
"type": "date"
}
],
"core_config": {
"current_mode": "latest",
"description": "Inventory observations across source systems such as Shopify, warehouse, 3PL, Flexport, and manual counts.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Inventory levels",
"spec_name": "inventory_levels"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
ad_spend
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "spend date",
"format": "%Y-%m-%d",
"name": "spend_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "platform",
"name": "platform",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "spend",
"name": "spend",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "attributed revenue",
"name": "attributed_revenue",
"tests": [],
"type": "number"
},
{
"description": "attributed orders",
"name": "attributed_orders",
"tests": [],
"type": "integer"
},
{
"description": "region",
"name": "region",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Marketing spend and attributed revenue observations for margin-aware pricing and campaign analysis.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Ad spend",
"spec_name": "ad_spend"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
subscription_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "event date",
"format": "%Y-%m-%d",
"name": "event_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "event type",
"name": "event_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "subscription status",
"name": "subscription_status",
"tests": [],
"type": "string"
},
{
"description": "mrr",
"name": "mrr",
"tests": [],
"type": "number"
},
{
"description": "churn reason",
"name": "churn_reason",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Subscription renewals, failed payments, cancellation, churn, and retention observations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Subscription events",
"spec_name": "subscription_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
sku_catalog_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "issue id",
"name": "issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "detected at",
"format": "%Y-%m-%d",
"name": "detected_at",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "source system",
"name": "source_system",
"tests": [],
"type": "string"
},
{
"description": "issue type",
"name": "issue_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "severity",
"name": "severity",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "observation",
"name": "observation",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "recommended action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Findings for SKU, catalog, marketplace, dimensional, and status drift across commerce systems.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "SKU catalog reconciliation",
"spec_name": "sku_catalog_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shipping_margin_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "finding id",
"name": "finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "detected at",
"format": "%Y-%m-%d",
"name": "detected_at",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "region",
"name": "region",
"tests": [],
"type": "string"
},
{
"description": "price",
"name": "price",
"tests": [],
"type": "number"
},
{
"description": "landed cost",
"name": "landed_cost",
"tests": [],
"type": "number"
},
{
"description": "avg shipping cost",
"name": "avg_shipping_cost",
"tests": [],
"type": "number"
},
{
"description": "shipping charged",
"name": "shipping_charged",
"tests": [],
"type": "number"
},
{
"description": "margin after shipping",
"name": "margin_after_shipping",
"tests": [],
"type": "number"
},
{
"description": "finding",
"name": "finding",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Continuous comparison of price, landed cost, shipping cost, shipping charged, and residual margin.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shipping margin reconciliation",
"spec_name": "shipping_margin_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bundle_profitability_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "bundle id",
"name": "bundle_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "bundle sku",
"name": "bundle_sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "component skus",
"name": "component_skus",
"tests": [],
"type": "string"
},
{
"description": "price",
"name": "price",
"tests": [],
"type": "number"
},
{
"description": "component landed cost",
"name": "component_landed_cost",
"tests": [],
"type": "number"
},
{
"description": "avg shipping cost",
"name": "avg_shipping_cost",
"tests": [],
"type": "number"
},
{
"description": "margin",
"name": "margin",
"tests": [],
"type": "number"
},
{
"description": "recommendation",
"name": "recommendation",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Bundle composition, fulfillment, landed-cost, promotion, and shipping profitability findings.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bundle profitability reconciliation",
"spec_name": "bundle_profitability_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_agent_api_price_changes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "change id",
"name": "change_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "variant id",
"name": "variant_id",
"tests": [],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "current price",
"name": "current_price",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "proposed price",
"name": "proposed_price",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "reason",
"name": "reason",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "expected margin lift",
"name": "expected_margin_lift",
"tests": [],
"type": "number"
},
{
"description": "source finding id",
"name": "source_finding_id",
"tests": [],
"type": "string"
},
{
"description": "decision status",
"name": "decision_status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Draft Shopify variant price changes proposed by an agent and approved by a human before outbound Shopify API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify agent API price changes",
"spec_name": "shopify_agent_api_price_changes",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_agent_api_catalog_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "update id",
"name": "update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "variant id",
"name": "variant_id",
"tests": [],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "update type",
"name": "update_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "proposed value",
"name": "proposed_value",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "reason",
"name": "reason",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "source issue id",
"name": "source_issue_id",
"tests": [],
"type": "string"
},
{
"description": "decision status",
"name": "decision_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "approved by",
"name": "approved_by",
"tests": [],
"type": "string"
},
{
"description": "approved at",
"name": "approved_at",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Draft Shopify product or variant catalog updates proposed by an agent and approved by a human before outbound Shopify API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify agent API catalog updates",
"spec_name": "shopify_agent_api_catalog_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
View links and expectations
Source links
[
{
"downstream_spec_name": "bill_com_updates",
"source_spec_name": "employee_info",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Compare canonical employee_info against Bill.com API payee setup before approving Bill.com update proposals."
}
}
},
{
"downstream_spec_name": "bill_com_updates",
"source_spec_name": "bill_com_api_employee_payees",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Ground proposed Bill.com setup edits in the latest Bill.com API pull."
}
}
},
{
"downstream_spec_name": "employee_reimbursement_commitment",
"source_spec_name": "employee_reimbursements",
"link_options": {
"required_workflow_status": "Approved",
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Gather Approved reimbursement files into an employee_reimbursement_commitment row; join employee_info and Bill.com API payees for provider ids before outbound payment APIs."
}
}
},
{
"downstream_spec_name": "employee_reimbursement_commitment",
"source_spec_name": "employee_info",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Resolve employee usernames from approved reimbursements to canonical employee records and Bill.com payee ids."
}
}
},
{
"downstream_spec_name": "reimbursement_payment_reconciliation",
"source_spec_name": "employee_reimbursement_commitment",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Compare approved/sent reimbursement commitments with Bill.com confirmations."
}
}
},
{
"downstream_spec_name": "reimbursement_payment_reconciliation",
"source_spec_name": "bill_com_api_payment_confirmations",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Use Bill.com payment confirmations as the external-system observation side of reimbursement payment reconciliation."
}
}
}
]
bill_com_employee_reimbursements
finance collection v1.1.0Mixed Bill.com-related workflow for employee submissions, receipt attachments, agent reviews, approvals, Bill.com commitments, confirmations, and reconciliation.
- Related systems
- Bill.com
- Source docs
- BILL API Platform
- Needs
bill_com_agent_role.- Useful for
- Receipt workflows; Manager approval; Payment batch preparation; Bill.com setup checks; Payment matching
- Links
- Approved reimbursements feed outbound payment commitments; Sent commitments are matched to Bill.com payment confirmations; Confirmations feed payment reconciliation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
employee_info | Internal | Reference | Employee roster with managers, departments, and Bill.com payee ids. |
bill_com_api_employee_payees | Bill.com | Observation | Bill.com payee setup pulled by an agent. |
employee_reimbursements | Internal | Employee workflow | Employee-submitted reimbursements with required receipt attachments. |
employee_reimbursement_reviews | Internal | Agent review | Timestamped reviews with check outcomes and evidence. |
ops_issues | Internal | Issue register | Review findings, exceptions, setup mismatches, policy questions, and reconciliation problems. |
bill_com_updates | Bill.com | Setup commitment | Agent-proposed Bill.com setup edits. |
employee_reimbursement_commitment | Bill.com | Payment commitment | Outbound payment packet built from approved reimbursements and employee/payee setup. |
bill_com_api_payment_confirmations | Bill.com | Observation | Bill.com payment confirmations from webhook or polling. |
reimbursement_payment_reconciliation | Bill.com | Reconciliation | Matches sent reimbursement commitments to Bill.com payment confirmations. |
View 9 create_spec calls
employee_info
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "employee username",
"name": "employee_username",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "employee name",
"name": "employee_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "work email",
"name": "work_email",
"tests": [],
"type": "string"
},
{
"description": "manager username",
"name": "manager_username",
"tests": [],
"type": "string"
},
{
"description": "department",
"name": "department",
"tests": [],
"type": "string"
},
{
"description": "default reimbursement category",
"name": "default_reimbursement_category",
"tests": [],
"type": "string"
},
{
"description": "airlock status",
"name": "airlock_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "bill com payee external id",
"name": "bill_com_payee_external_id",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Canonical employee roster used by reimbursement agents when joining Airlock employee identity to Bill.com payee setup.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Employee info",
"spec_name": "employee_info"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_employee_payees
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "bill com payee external id",
"name": "bill_com_payee_external_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "display name",
"name": "display_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "email",
"name": "email",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "default payment method",
"name": "default_payment_method",
"tests": [],
"type": "string"
},
{
"description": "remittance address",
"name": "remittance_address",
"tests": [],
"type": "string"
},
{
"description": "last pulled at",
"name": "last_pulled_at",
"tests": [],
"type": "string"
},
{
"description": "raw record hash",
"name": "raw_record_hash",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payee, vendor, or user setup observations pulled from Bill.com by an agent through the Bill.com API.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API employee payees",
"spec_name": "bill_com_api_employee_payees"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
employee_reimbursements
CALL airlock.admin.create_spec(PARSE_JSON($${
"attachment_policy": {
"allow_custom_attachment_tags": true,
"allowed_extensions": [
".pdf",
".png",
".jpg",
".jpeg"
],
"attachment_required": true,
"attachments_enabled": true,
"default_attachment_tag_limit": 1,
"max_attachment_count": 5
},
"column_config": [
{
"description": "reimbursement id",
"name": "reimbursement_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "employee username",
"name": "employee_username",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "manager username",
"name": "manager_username",
"tests": [],
"type": "string"
},
{
"description": "receipt date",
"format": "%Y-%m-%d",
"name": "receipt_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "merchant",
"name": "merchant",
"tests": [],
"type": "string"
},
{
"description": "amount",
"name": "amount",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "category",
"name": "category",
"tests": [],
"type": "string"
},
{
"description": "policy flag",
"name": "policy_flag",
"tests": [],
"type": "string"
},
{
"description": "extracted summary",
"name": "extracted_summary",
"tests": [],
"type": "string"
},
{
"description": "Flexible JSON context for agent/source details, receipt extraction, and policy signals",
"name": "processing_context",
"tests": [],
"type": "variant"
},
{
"description": "approval status",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "approved by",
"name": "approved_by",
"tests": [],
"type": "string"
},
{
"description": "approved at",
"name": "approved_at",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Employee reimbursement submissions with required receipt attachments and Draft -> Submitted -> Reviewed -> Approved workflow. An agent records a review separately before approval.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Employee reimbursements",
"spec_name": "employee_reimbursements",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Reviewed",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Reviewed",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Approved",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Reviewed",
"require_comment": true,
"step_name": "Approved",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"submission",
"receipt",
"policy"
],
"field": "processing_context",
"paths": [
{
"json_path": "$.submission.channel",
"required": true,
"type": "string"
},
{
"json_path": "$.receipt.total",
"required": true,
"type": "number"
},
{
"json_path": "$.policy.requires_manager_review",
"required": true,
"type": "boolean"
},
{
"json_path": "$.policy.reason",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
employee_reimbursement_reviews
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "review id",
"name": "review_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "reviewed at",
"name": "reviewed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "reviewed by agent",
"name": "reviewed_by_agent",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "reimbursement spec name",
"name": "reimbursement_spec_name",
"tests": [],
"type": "string"
},
{
"description": "reimbursement path",
"name": "reimbursement_path",
"tests": [],
"type": "string"
},
{
"description": "reimbursement filename",
"name": "reimbursement_filename",
"tests": [],
"type": "string"
},
{
"description": "reimbursement id",
"name": "reimbursement_id",
"tests": [],
"type": "string"
},
{
"description": "employee username",
"name": "employee_username",
"tests": [],
"type": "string"
},
{
"description": "review status",
"name": "review_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "receipt check result",
"name": "receipt_check_result",
"tests": [],
"type": "string"
},
{
"description": "policy check result",
"name": "policy_check_result",
"tests": [],
"type": "string"
},
{
"description": "duplicate check result",
"name": "duplicate_check_result",
"tests": [],
"type": "string"
},
{
"description": "employee setup check result",
"name": "employee_setup_check_result",
"tests": [],
"type": "string"
},
{
"description": "bill com setup check result",
"name": "bill_com_setup_check_result",
"tests": [],
"type": "string"
},
{
"description": "recommended manager action",
"name": "recommended_manager_action",
"tests": [],
"type": "string"
},
{
"description": "review summary",
"name": "review_summary",
"tests": [],
"type": "string"
},
{
"description": "bill com update ids",
"name": "bill_com_update_ids",
"tests": [],
"type": "string"
},
{
"description": "Structured check outcomes recorded by the review agent.",
"name": "check_results",
"tests": [],
"type": "variant"
},
{
"description": "Flexible review evidence such as extracted receipt, policy, duplicate, and setup context.",
"name": "review_evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Timestamped agent review records for submitted reimbursements. These records soft-reference the reimbursement file path and reimbursement id without creating a hard source link, so the submitted file can be deleted later without breaking review history.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Employee reimbursement reviews",
"spec_name": "employee_reimbursement_reviews"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"checks",
"recommended_update_ids"
],
"field": "check_results",
"paths": [
{
"json_path": "$.checks",
"required": true,
"type": "array"
},
{
"json_path": "$.recommended_update_ids",
"required": false,
"type": "array"
}
],
"type": "variant_shape"
},
{
"allowed_root_keys": [
"employee",
"receipt",
"duplicate_candidates",
"policy_context",
"bill_com"
],
"field": "review_evidence",
"paths": [
{
"json_path": "$.employee.username",
"required": true,
"type": "string"
},
{
"json_path": "$.receipt.amount",
"required": true,
"type": "number"
},
{
"json_path": "$.duplicate_candidates",
"required": true,
"type": "array"
},
{
"json_path": "$.policy_context.manager_context_required",
"required": true,
"type": "boolean"
},
{
"json_path": "$.bill_com.payee_external_id",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
ops_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "issue id",
"name": "issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "opened at",
"name": "opened_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "opened by actor",
"name": "opened_by_actor",
"tests": [],
"type": "string"
},
{
"description": "source process",
"name": "source_process",
"tests": [],
"type": "string"
},
{
"description": "source spec name",
"name": "source_spec_name",
"tests": [],
"type": "string"
},
{
"description": "source path",
"name": "source_path",
"tests": [],
"type": "string"
},
{
"description": "source filename",
"name": "source_filename",
"tests": [],
"type": "string"
},
{
"description": "source record id",
"name": "source_record_id",
"tests": [],
"type": "string"
},
{
"description": "related spec name",
"name": "related_spec_name",
"tests": [],
"type": "string"
},
{
"description": "related record id",
"name": "related_record_id",
"tests": [],
"type": "string"
},
{
"description": "issue type",
"name": "issue_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "owner role",
"name": "owner_role",
"tests": [],
"type": "string"
},
{
"description": "assignee",
"name": "assignee",
"tests": [],
"type": "string"
},
{
"description": "concern summary",
"name": "concern_summary",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "recommended action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "resolution summary",
"name": "resolution_summary",
"tests": [],
"type": "string"
},
{
"description": "resolved at",
"name": "resolved_at",
"tests": [],
"type": "string"
},
{
"description": "Issue-specific categorization and structured details that may evolve over time.",
"name": "issue_details",
"tests": [],
"type": "variant"
},
{
"description": "Flexible evidence captured by the agent or reconciliation process.",
"name": "evidence",
"tests": [],
"type": "variant"
},
{
"description": "One or more proposed operational actions or targets.",
"name": "suggested_actions",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Flexible operational issue register for concerns discovered during agent review or reconciliation. Rows soft-reference the source work and can later be standardized into specialized issue types.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Ops issues",
"spec_name": "ops_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"category",
"problem_code",
"standardization_status"
],
"field": "issue_details",
"paths": [
{
"json_path": "$.category",
"required": true,
"type": "string"
},
{
"json_path": "$.problem_code",
"required": true,
"type": "string"
},
{
"json_path": "$.standardization_status",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
},
{
"allowed_root_keys": [
"employee",
"bill_com",
"review"
],
"field": "evidence",
"paths": [
{
"json_path": "$.employee.username",
"required": true,
"type": "string"
},
{
"json_path": "$.bill_com.payee_external_id",
"required": false,
"type": "string"
},
{
"json_path": "$.review.review_id",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
},
{
"field": "suggested_actions",
"paths": [
{
"json_path": "$[0].action",
"required": true,
"type": "string"
},
{
"json_path": "$[0].target_spec",
"required": true,
"type": "string"
},
{
"json_path": "$[0].target_record_id",
"required": false,
"type": "string"
}
],
"require_object": false,
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "update id",
"name": "update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "detected at",
"name": "detected_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "employee username",
"name": "employee_username",
"tests": [],
"type": "string"
},
{
"description": "bill com payee external id",
"name": "bill_com_payee_external_id",
"tests": [],
"type": "string"
},
{
"description": "update type",
"name": "update_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "airlock value",
"name": "airlock_value",
"tests": [],
"type": "string"
},
{
"description": "bill com value",
"name": "bill_com_value",
"tests": [],
"type": "string"
},
{
"description": "proposed value",
"name": "proposed_value",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "reconciliation problem",
"name": "reconciliation_problem",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "recommended action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "source employee info id",
"name": "source_employee_info_id",
"tests": [],
"type": "string"
},
{
"description": "source bill com record id",
"name": "source_bill_com_record_id",
"tests": [],
"type": "string"
},
{
"description": "decision status",
"name": "decision_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "approved by",
"name": "approved_by",
"tests": [],
"type": "string"
},
{
"description": "approved at",
"name": "approved_at",
"tests": [],
"type": "string"
},
{
"description": "Structured reconciliation context behind the proposed Bill.com setup update.",
"name": "update_details",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Agent-proposed Bill.com setup edits from reconciliation between employee_info and Bill.com API payee observations.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com updates",
"spec_name": "bill_com_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Approved",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Approved",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"employee",
"field",
"current_airlock_value",
"current_bill_com_value",
"proposed_bill_com_value",
"source_review_id"
],
"field": "update_details",
"paths": [
{
"json_path": "$.employee.username",
"required": true,
"type": "string"
},
{
"json_path": "$.field",
"required": true,
"type": "string"
},
{
"json_path": "$.proposed_bill_com_value",
"required": true,
"type": "string"
},
{
"json_path": "$.source_review_id",
"required": false,
"type": "string"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
employee_reimbursement_commitment
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "batch id",
"name": "batch_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "prepared at",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "prepared by",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "reimbursement ids",
"name": "reimbursement_ids",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "employee usernames",
"name": "employee_usernames",
"tests": [],
"type": "string"
},
{
"description": "payee external ids",
"name": "payee_external_ids",
"tests": [],
"type": "string"
},
{
"description": "employee count",
"name": "employee_count",
"tests": [],
"type": "integer"
},
{
"description": "total amount",
"name": "total_amount",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "api operation",
"name": "api_operation",
"tests": [],
"type": "string"
},
{
"description": "process date",
"name": "process_date",
"tests": [],
"type": "string"
},
{
"description": "funding account type",
"name": "funding_account_type",
"tests": [],
"type": "string"
},
{
"description": "funding account id",
"name": "funding_account_id",
"tests": [],
"type": "string"
},
{
"description": "bill ids",
"name": "bill_ids",
"tests": [],
"type": "string"
},
{
"description": "payment amounts by bill",
"name": "payment_amounts_by_bill",
"tests": [],
"type": "string"
},
{
"description": "api payload hash",
"name": "api_payload_hash",
"tests": [],
"type": "string"
},
{
"description": "commitment status",
"name": "commitment_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Structured list of approved reimbursements gathered into this commitment.",
"name": "selected_reimbursements",
"tests": [],
"type": "variant"
},
{
"description": "Bill.com API payload prepared by the agent for the outbound payment commitment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "One row per gathered outbound payment packet (not per reimbursement line). Rows are built from Approved employee_reimbursements files (governed by spec_source_links), then enriched with employee-directory fields: employee_usernames mirror Airlock/Snowflake identities from the requests; payee_external_ids hold provider-side ids (e.g. BILL userUuid or vendorId) resolved by joining to an employee roster\u2014often different from the Snowflake username. Bill line / payment metadata (billIds, amounts, processDate, fundingAccount) aligns with BILL POST /v3/payments*; real calls still require MFA-trusted sessions and ids from the vendor system.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Employee reimbursement commitment",
"spec_name": "employee_reimbursement_commitment",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Prepared",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Prepared",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Prepared",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Sent",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"field": "selected_reimbursements",
"paths": [
{
"json_path": "$[0].reimbursement_id",
"required": true,
"type": "string"
},
{
"json_path": "$[0].employee_username",
"required": true,
"type": "string"
},
{
"json_path": "$[0].amount",
"required": true,
"type": "number"
},
{
"json_path": "$[0].currency",
"required": true,
"type": "string"
}
],
"require_object": false,
"type": "variant_shape"
},
{
"allowed_root_keys": [
"operation",
"processDate",
"fundingAccount",
"payments"
],
"field": "api_payload",
"paths": [
{
"json_path": "$.operation",
"required": true,
"type": "string"
},
{
"json_path": "$.fundingAccount.id",
"required": true,
"type": "string"
},
{
"json_path": "$.payments",
"required": true,
"type": "array"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_payment_confirmations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "confirmation id",
"name": "confirmation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "batch id",
"name": "batch_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "bill com payment id",
"name": "bill_com_payment_id",
"tests": [],
"type": "string"
},
{
"description": "confirmed at",
"name": "confirmed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "raw event id",
"name": "raw_event_id",
"tests": [],
"type": "string"
},
{
"description": "Raw or normalized Bill.com webhook/polling response retained for audit.",
"name": "provider_response",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment confirmation observations received from Bill.com webhook or polling after reimbursement commitments are sent.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API payment confirmations",
"spec_name": "bill_com_api_payment_confirmations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"eventId",
"paymentId",
"status",
"amount",
"currency",
"batchId"
],
"field": "provider_response",
"paths": [
{
"json_path": "$.eventId",
"required": true,
"type": "string"
},
{
"json_path": "$.paymentId",
"required": true,
"type": "string"
},
{
"json_path": "$.status",
"required": true,
"type": "string"
},
{
"json_path": "$.amount",
"required": true,
"type": "number"
},
{
"json_path": "$.currency",
"required": true,
"type": "string"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
reimbursement_payment_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "reconciliation id",
"name": "reconciliation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "batch id",
"name": "batch_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "confirmation id",
"name": "confirmation_id",
"tests": [],
"type": "string"
},
{
"description": "expected amount",
"name": "expected_amount",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "confirmed amount",
"name": "confirmed_amount",
"tests": [],
"type": "number"
},
{
"description": "difference",
"name": "difference",
"tests": [],
"type": "number"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "finding",
"name": "finding",
"tests": [],
"type": "string"
},
{
"description": "Structured matching details and comparison metadata.",
"name": "reconciliation_details",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Reconciliation between employee reimbursement commitments sent to Bill.com and Bill.com payment confirmations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Reimbursement payment reconciliation",
"spec_name": "reimbursement_payment_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"rules": [
{
"allowed_root_keys": [
"matched_commitment_ids",
"matched_confirmation_ids",
"comparison"
],
"field": "reconciliation_details",
"paths": [
{
"json_path": "$.matched_commitment_ids",
"required": true,
"type": "array"
},
{
"json_path": "$.matched_confirmation_ids",
"required": true,
"type": "array"
},
{
"json_path": "$.comparison.amount_delta",
"required": true,
"type": "number"
},
{
"json_path": "$.comparison.currency_match",
"required": true,
"type": "boolean"
}
],
"type": "variant_shape"
}
],
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
View links and expectations
Source links
[
{
"downstream_spec_name": "bill_com_updates",
"source_spec_name": "employee_info",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Compare canonical employee_info against Bill.com API payee setup before approving Bill.com update proposals."
}
}
},
{
"downstream_spec_name": "bill_com_updates",
"source_spec_name": "bill_com_api_employee_payees",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Ground proposed Bill.com setup edits in the latest Bill.com API pull."
}
}
},
{
"downstream_spec_name": "employee_reimbursement_commitment",
"source_spec_name": "employee_reimbursements",
"link_options": {
"required_workflow_status": "Approved",
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Gather Approved reimbursement files into an employee_reimbursement_commitment row; join employee_info and Bill.com API payees for provider ids before outbound payment APIs."
}
}
},
{
"downstream_spec_name": "employee_reimbursement_commitment",
"source_spec_name": "employee_info",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Resolve employee usernames from approved reimbursements to canonical employee records and Bill.com payee ids."
}
}
},
{
"downstream_spec_name": "reimbursement_payment_reconciliation",
"source_spec_name": "employee_reimbursement_commitment",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Compare approved/sent reimbursement commitments with Bill.com confirmations."
}
}
},
{
"downstream_spec_name": "reimbursement_payment_reconciliation",
"source_spec_name": "bill_com_api_payment_confirmations",
"link_options": {
"reference_mode": "immutable_accept",
"min_count": 1,
"max_count": null,
"allow_upload_instead": false,
"allow_upload_in_addition": false,
"details": {
"intent": "Use Bill.com payment confirmations as the external-system observation side of reimbursement payment reconciliation."
}
}
}
]
shopify_operations_library
commerce collection v1.0.0 ShopifyDirect Shopify Admin API observation and commitment specs for products, orders, customers, inventory, fulfillment, refunds, discounts, payouts, and governed store changes.
- Direct systems
- Shopify
- Coverage
- Extended
- Coverage notes
- Direct Shopify specs only: observations mirror Shopify Admin API or Shopify Payments resources, and commitments prepare approved outbound Shopify Admin API changes. Cross-system findings and gap-fillers live in reconciliation or commerce collections.
- Source docs
- Shopify Admin GraphQL API; Product object; Order object; Customer object; InventoryLevel object; Fulfillment object; Refund object; Location object; DraftOrder object; Return object; Collection object; Shopify Payments payout resource
- Next objects
fulfillment_orders; markets; metaobjects; metafields;customer_segments;webhook_events- Omitted
- generic reconciliation findings; non-Shopify gap fillers; analytics reports; app billing; themes and online-store assets
- Needs
- A Shopify agent/operator role. The generated calls use
shopify_agent. - Useful for
- Catalog memory; Order and fulfillment review; Inventory reconciliation; Refund review; Governed price/catalog/inventory changes
- Extend with
- Additional reconciliation specs for margin, catalog drift, or fulfillment exceptions; Links from accepted findings into outbound commitments
- Links
- Price-change proposals cite observed product or variant data; Refund proposals cite the order observation they intend to modify; Inventory adjustments cite the latest inventory-level observation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
shopify_api_products | Shopify | Observation | Product and variant catalog memory. |
shopify_api_orders | Shopify | Observation | Order, fulfillment, and commerce-event memory. |
shopify_api_customers | Shopify | Observation | Customer identity and lifecycle observations. |
shopify_api_inventory_levels | Shopify | Observation | Inventory quantities by item and location. |
shopify_api_fulfillments | Shopify | Observation | Shipment and fulfillment status observations. |
shopify_api_refunds | Shopify | Observation | Refund and restock observations. |
shopify_api_discounts | Shopify | Observation | Discount and promotion observations. |
shopify_api_payouts | Shopify | Observation | Settlement and payout observations. |
shopify_agent_api_price_changes | Shopify | Commitment workflow | Governed variant price changes. |
shopify_agent_api_catalog_updates | Shopify | Commitment workflow | Governed catalog updates. |
shopify_agent_api_inventory_adjustments | Shopify | Commitment workflow | Governed inventory adjustments. |
shopify_agent_api_refund_proposals | Shopify | Commitment workflow | Governed refund proposals. |
shopify_api_shop | Shopify | Observation | Shop settings and business identity observations. |
shopify_api_locations | Shopify | Observation | Location and fulfillment routing observations. |
shopify_api_order_transactions | Shopify | Observation | Payment/refund transaction observations. |
shopify_api_returns | Shopify | Observation | Return and reverse-logistics observations. |
shopify_api_draft_orders | Shopify | Observation | Draft order and quote observations. |
shopify_api_abandoned_checkouts | Shopify | Observation | Abandoned checkout observations. |
shopify_api_collections | Shopify | Observation | Collection and merchandising observations. |
View 19 create_spec calls
shopify_api_products
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "product id",
"name": "product_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "variant id",
"name": "variant_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "title",
"name": "title",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "variant title",
"name": "variant_title",
"tests": [],
"type": "string"
},
{
"description": "weight",
"name": "weight",
"tests": [],
"type": "number"
},
{
"description": "weight unit",
"name": "weight_unit",
"tests": [],
"type": "string"
},
{
"description": "price",
"name": "price",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "compare at price",
"name": "compare_at_price",
"tests": [],
"type": "number"
},
{
"description": "inventory item id",
"name": "inventory_item_id",
"tests": [],
"type": "string"
},
{
"description": "barcode",
"name": "barcode",
"tests": [],
"type": "string"
},
{
"description": "requires shipping",
"name": "requires_shipping",
"tests": [],
"type": "boolean"
},
{
"description": "taxable",
"name": "taxable",
"tests": [],
"type": "boolean"
},
{
"description": "vendor",
"name": "vendor",
"tests": [],
"type": "string"
},
{
"description": "product type",
"name": "product_type",
"tests": [],
"type": "string"
},
{
"description": "tags",
"name": "tags",
"tests": [],
"type": "string"
},
{
"description": "status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product and variant catalog observations pulled from the Shopify API.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API products",
"spec_name": "shopify_api_products"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "order date",
"format": "%Y-%m-%d",
"name": "order_date",
"tests": [
"not_null"
],
"type": "date"
},
{
"description": "customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "quantity",
"name": "quantity",
"tests": [
"not_null"
],
"type": "integer"
},
{
"description": "subtotal price",
"name": "subtotal_price",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "total shipping price",
"name": "total_shipping_price",
"tests": [],
"type": "number"
},
{
"description": "total discounts",
"name": "total_discounts",
"tests": [],
"type": "number"
},
{
"description": "fulfillment status",
"name": "fulfillment_status",
"tests": [],
"type": "string"
},
{
"description": "ship region",
"name": "ship_region",
"tests": [],
"type": "string"
},
{
"description": "tags",
"name": "tags",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order-line observations pulled from the Shopify API for margin, shipping, fulfillment, and regional profitability analysis.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API orders",
"spec_name": "shopify_api_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_customers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop domain",
"name": "shop_domain",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Order count",
"name": "orders_count",
"tests": [],
"type": "integer"
},
{
"description": "Total spent",
"name": "total_spent",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer observations for identity, segmentation, and service follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API customers",
"spec_name": "shopify_api_customers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_inventory_levels
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "inventory_level_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Inventory item id",
"name": "inventory_item_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Available quantity",
"name": "available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Inventory quantity observations by inventory item and location.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API inventory levels",
"spec_name": "shopify_api_inventory_levels"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_fulfillments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "fulfillment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Tracking company",
"name": "tracking_company",
"tests": [],
"type": "string"
},
{
"description": "Tracking number",
"name": "tracking_number",
"tests": [],
"type": "string"
},
{
"description": "Shipment status",
"name": "shipment_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Fulfillment observations for shipment, carrier, tracking, and delivery status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API fulfillments",
"spec_name": "shopify_api_fulfillments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_refunds
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "refund_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Refund creation timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Refund amount",
"name": "total_refunded",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Restock action summary",
"name": "restock_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Refund observations including refunded line items, transactions, and restock intent.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API refunds",
"spec_name": "shopify_api_refunds"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_discounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "discount_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Discount title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Discount code",
"name": "discount_code",
"tests": [],
"type": "string"
},
{
"description": "Start timestamp",
"name": "starts_at",
"tests": [],
"type": "string"
},
{
"description": "End timestamp",
"name": "ends_at",
"tests": [],
"type": "string"
},
{
"description": "Usage count",
"name": "usage_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Discount and promotion observations for margin and campaign analysis.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API discounts",
"spec_name": "shopify_api_discounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_payouts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payout_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Paid timestamp",
"name": "paid_at",
"tests": [],
"type": "string"
},
{
"description": "Payout status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Payout amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payout observations for settlement, cash, and reconciliation workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API payouts",
"spec_name": "shopify_api_payouts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_agent_api_price_changes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "change id",
"name": "change_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "variant id",
"name": "variant_id",
"tests": [],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "current price",
"name": "current_price",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "proposed price",
"name": "proposed_price",
"tests": [
"not_null"
],
"type": "number"
},
{
"description": "reason",
"name": "reason",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "expected margin lift",
"name": "expected_margin_lift",
"tests": [],
"type": "number"
},
{
"description": "source finding id",
"name": "source_finding_id",
"tests": [],
"type": "string"
},
{
"description": "decision status",
"name": "decision_status",
"tests": [
"not_null"
],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Draft Shopify variant price changes proposed by an agent and approved by a human before outbound Shopify API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify agent API price changes",
"spec_name": "shopify_agent_api_price_changes",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_agent_api_catalog_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "update id",
"name": "update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "variant id",
"name": "variant_id",
"tests": [],
"type": "string"
},
{
"description": "sku",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "update type",
"name": "update_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "proposed value",
"name": "proposed_value",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "reason",
"name": "reason",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "source issue id",
"name": "source_issue_id",
"tests": [],
"type": "string"
},
{
"description": "decision status",
"name": "decision_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "approved by",
"name": "approved_by",
"tests": [],
"type": "string"
},
{
"description": "approved at",
"name": "approved_at",
"tests": [],
"type": "string"
}
],
"core_config": {
"current_mode": "latest",
"description": "Draft Shopify product or variant catalog updates proposed by an agent and approved by a human before outbound Shopify API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify agent API catalog updates",
"spec_name": "shopify_agent_api_catalog_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Draft",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_agent_api_inventory_adjustments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "inventory_adjustment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "inventory_item_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current quantity",
"name": "current_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Proposed quantity",
"name": "proposed_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed inventory adjustments before outbound Shopify sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify agent API inventory adjustments",
"spec_name": "shopify_agent_api_inventory_adjustments",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_agent_api_refund_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "refund_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Proposed refund amount",
"name": "refund_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Whether to notify the customer",
"name": "notify_customer",
"tests": [],
"type": "boolean"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed refund proposals before outbound Shopify refund creation.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify agent API refund proposals",
"spec_name": "shopify_agent_api_refund_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_shop
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "shop_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop domain",
"name": "shop_domain",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Shop name",
"name": "name",
"tests": [],
"type": "string"
},
{
"description": "Primary locale",
"name": "primary_locale",
"tests": [],
"type": "string"
},
{
"description": "Shop currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Shop time zone",
"name": "timezone",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shop-level configuration and business identity observations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API shop",
"spec_name": "shopify_api_shop"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_locations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "location_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop domain",
"name": "shop_domain",
"tests": [],
"type": "string"
},
{
"description": "Location name",
"name": "location_name",
"tests": [],
"type": "string"
},
{
"description": "Active location flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Whether this location fulfills online orders",
"name": "fulfills_online_orders",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Location observations for inventory, fulfillment, and operational routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API locations",
"spec_name": "shopify_api_locations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_order_transactions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "transaction_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Transaction kind",
"name": "kind",
"tests": [],
"type": "string"
},
{
"description": "Payment gateway",
"name": "gateway",
"tests": [],
"type": "string"
},
{
"description": "Transaction amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment/refund transaction observations tied to Shopify orders.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API order transactions",
"spec_name": "shopify_api_order_transactions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_returns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "return_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Return status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Return line count",
"name": "return_line_count",
"tests": [],
"type": "integer"
},
{
"description": "Return request timestamp",
"name": "requested_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Return observations for reverse logistics and refund readiness.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API returns",
"spec_name": "shopify_api_returns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_draft_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "draft_order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Draft order status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Draft order total",
"name": "total_price",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Draft-order observations for quotes, manual orders, and B2B/phone-sales workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API draft orders",
"spec_name": "shopify_api_draft_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_abandoned_checkouts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "checkout_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Checkout creation timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Abandonment timestamp",
"name": "abandoned_at",
"tests": [],
"type": "string"
},
{
"description": "Checkout total",
"name": "total_price",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Abandoned checkout observations for recovery, funnel analysis, and agent follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API abandoned checkouts",
"spec_name": "shopify_api_abandoned_checkouts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
shopify_api_collections
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "collection_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Collection title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Collection handle",
"name": "handle",
"tests": [],
"type": "string"
},
{
"description": "Collection type",
"name": "collection_type",
"tests": [],
"type": "string"
},
{
"description": "Published scope",
"name": "published_scope",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Collection observations for merchandising and catalog organization.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Shopify API collections",
"spec_name": "shopify_api_collections"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "shopify_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_marketplace_library
commerce collection v1.0.0 EtsyEtsy observation and commitment specs for listings, listing inventory, receipts, transactions, payment ledger entries, and governed listing/inventory updates.
- Direct systems
- Etsy
- Coverage
- Core
- Coverage notes
- Covers shop, listing, receipt, transaction, inventory, ledger, shipping, review, and governed listing updates. Deeper seller operations can be layered in later.
- Source docs
- Etsy Open API reference
- Next objects
taxonomy_nodes;seller_taxonomy_nodes;listing_images;listing_variation_images;production_partners;shop_holidays- Omitted
- OAuth/token management; buyer private data beyond safe references
- Needs
- An Etsy agent/operator role. The generated calls use
etsy_agent. - Useful for
- Marketplace listing review; Receipt and transaction memory; Shop payment ledger reporting; Governed listing and inventory edits
- Extend with
- Listing-quality reviews; Fee and tax reconciliation; Cross-marketplace catalog matching
- Links
- Listing update proposals cite the latest listing observation; Inventory update proposals cite listing inventory observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
etsy_api_listings | Etsy | Observation | Shop listing memory. |
etsy_api_listing_inventory | Etsy | Observation | Listing inventory and offering memory. |
etsy_api_receipts | Etsy | Observation | Sales receipt observations. |
etsy_api_transactions | Etsy | Observation | Line-level transaction observations. |
etsy_api_payment_ledger_entries | Etsy | Observation | Shop payment ledger observations. |
etsy_agent_api_listing_updates | Etsy | Commitment workflow | Governed listing updates. |
etsy_agent_api_inventory_updates | Etsy | Commitment workflow | Governed listing inventory updates. |
etsy_api_shops | Etsy | Observation | Shop configuration observations. |
etsy_api_shop_sections | Etsy | Observation | Shop section observations. |
etsy_api_shipping_profiles | Etsy | Observation | Shipping profile observations. |
etsy_api_reviews | Etsy | Observation | Shop and listing review observations. |
View 11 create_spec calls
etsy_api_listings
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "listing_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Listing title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Listing state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Listing price",
"name": "price",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Available quantity",
"name": "quantity",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Listing observations for shop catalog, listing state, tags, and pricing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API listings",
"spec_name": "etsy_api_listings"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_api_listing_inventory
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "listing_inventory_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Listing id",
"name": "listing_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Number of offerings",
"name": "offering_count",
"tests": [],
"type": "integer"
},
{
"description": "Quantity available",
"name": "quantity_available",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Listing inventory observations for SKUs, offerings, quantities, and prices.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API listing inventory",
"spec_name": "etsy_api_listing_inventory"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_api_receipts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "receipt_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Buyer user id",
"name": "buyer_user_id",
"tests": [],
"type": "string"
},
{
"description": "Receipt creation timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Receipt status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Receipt total",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Sales receipt observations for orders, fulfillment, buyer-facing totals, and shipping.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API receipts",
"spec_name": "etsy_api_receipts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_api_transactions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "transaction_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Receipt id",
"name": "receipt_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Listing id",
"name": "listing_id",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Quantity",
"name": "quantity",
"tests": [],
"type": "integer"
},
{
"description": "Line price",
"name": "price",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Line-level sales observations for receipts, listings, SKUs, quantity, and price.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API transactions",
"spec_name": "etsy_api_transactions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_api_payment_ledger_entries
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ledger_entry_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Ledger id",
"name": "ledger_id",
"tests": [],
"type": "string"
},
{
"description": "Entry date",
"name": "entry_date",
"tests": [],
"type": "string"
},
{
"description": "Entry amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Running balance",
"name": "running_balance",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Read-only payment account ledger observations for fees, taxes, payments, and balance movement.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API payment ledger entries",
"spec_name": "etsy_api_payment_ledger_entries"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_agent_api_listing_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "listing_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "listing_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Listing field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed listing update proposals before outbound Etsy listing edits.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy agent API listing updates",
"spec_name": "etsy_agent_api_listing_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_agent_api_inventory_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "inventory_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "listing_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Current quantity",
"name": "current_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Proposed quantity",
"name": "proposed_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Proposed price",
"name": "proposed_price",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed inventory update proposals before outbound Etsy inventory edits.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy agent API inventory updates",
"spec_name": "etsy_agent_api_inventory_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_api_shops
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "shop_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop name",
"name": "shop_name",
"tests": [],
"type": "string"
},
{
"description": "Shop currency",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Active listing count",
"name": "listing_active_count",
"tests": [],
"type": "integer"
},
{
"description": "Digital listing count",
"name": "digital_listing_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shop configuration observations for seller identity, currency, and listing counts.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API shops",
"spec_name": "etsy_api_shops"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_api_shop_sections
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "shop_section_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Section title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Display rank",
"name": "rank",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shop section observations for marketplace merchandising and navigation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API shop sections",
"spec_name": "etsy_api_shop_sections"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_api_shipping_profiles
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "shipping_profile_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Profile title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Origin country",
"name": "origin_country_iso",
"tests": [],
"type": "string"
},
{
"description": "Minimum processing days",
"name": "min_processing_days",
"tests": [],
"type": "integer"
},
{
"description": "Maximum processing days",
"name": "max_processing_days",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shipping profile observations for fulfillment cost and listing readiness checks.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API shipping profiles",
"spec_name": "etsy_api_shipping_profiles"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
etsy_api_reviews
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "review_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Listing id",
"name": "listing_id",
"tests": [],
"type": "string"
},
{
"description": "Review rating",
"name": "rating",
"tests": [],
"type": "integer"
},
{
"description": "Review creation timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Review observations for quality, service, and marketplace reputation follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Etsy API reviews",
"spec_name": "etsy_api_reviews"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "etsy_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_finance_library
finance collection v1.0.0 Bill.comBill.com finance specs for vendors, bills, payments, customers, invoices, and governed AP setup/payment actions.
- Direct systems
- Bill.com
- Coverage
- Extended
- Coverage notes
- Covers AP, AR, organization/user setup, funding accounts, vendor credits, webhook events, and Spend & Expense card/budget/transaction objects.
- Source docs
- BILL API Platform
- Next objects
chart_of_accounts; classes; departments; attachments; approvals;purchase_orders- Omitted
- bank account secrets; raw user emails; MFA/session handling
- Needs
- A Bill.com agent/operator role. The generated calls use
bill_com_agent. - Useful for
- AP memory; AR invoice visibility; Vendor setup review; Payment approval packets; Cash and payment reconciliation
- Extend with
- Approval source links from invoice intake specs; Payment confirmation observations; Vendor onboarding issue specs
- Links
- Payment commitments cite the bill observation they intend to pay; Vendor update proposals cite the latest vendor setup observation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
bill_com_api_vendors | Bill.com | Observation | Vendor setup observations. |
bill_com_api_bills | Bill.com | Observation | AP bill observations. |
bill_com_api_payments | Bill.com | Observation | Payment lifecycle observations. |
bill_com_api_customers | Bill.com | Observation | AR customer observations. |
bill_com_api_invoices | Bill.com | Observation | AR invoice observations. |
bill_com_agent_api_bill_payments | Bill.com | Commitment workflow | Governed AP payment packets. |
bill_com_agent_api_vendor_updates | Bill.com | Commitment workflow | Governed vendor setup updates. |
bill_com_api_organizations | Bill.com | Observation | Organization setup observations. |
bill_com_api_users | Bill.com | Observation | User and permission observations. |
bill_com_api_funding_accounts | Bill.com | Observation | Funding account observations. |
bill_com_api_vendor_credits | Bill.com | Observation | Vendor credit observations. |
bill_com_api_webhook_events | Bill.com | Observation | Webhook event observations. |
bill_com_spend_expense_budgets | Bill.com | Observation | Spend budget observations. |
bill_com_spend_expense_cards | Bill.com | Observation | Spend card observations. |
bill_com_spend_expense_transactions | Bill.com | Observation | Spend transaction observations. |
View 15 create_spec calls
bill_com_api_vendors
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "vendor_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor name",
"name": "vendor_name",
"tests": [],
"type": "string"
},
{
"description": "Vendor status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Payment method",
"name": "payment_method",
"tests": [],
"type": "string"
},
{
"description": "Bank account status",
"name": "bank_account_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Vendor setup observations for AP readiness and payment risk checks.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API vendors",
"spec_name": "bill_com_api_vendors"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_bills
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "bill_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Invoice number",
"name": "invoice_number",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Amount due",
"name": "amount_due",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Bill observations for AP review, due dates, approval, and payment planning.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API bills",
"spec_name": "bill_com_api_bills"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Bill id",
"name": "bill_id",
"tests": [],
"type": "string"
},
{
"description": "Process date",
"name": "process_date",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment observations for sent, cleared, failed, or voided vendor payments.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API payments",
"spec_name": "bill_com_api_payments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_customers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer name",
"name": "customer_name",
"tests": [],
"type": "string"
},
{
"description": "Customer status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer observations for AR workflows and invoice delivery.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API customers",
"spec_name": "bill_com_api_customers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_invoices
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "invoice_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Invoice number",
"name": "invoice_number",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Open balance",
"name": "balance",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "AR invoice observations for collection and cash forecasting.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API invoices",
"spec_name": "bill_com_api_invoices"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_agent_api_bill_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "bill_payment_commitment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "bill_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "payment_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Process date",
"name": "process_date",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed bill payment packets before outbound Bill.com payment creation.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com agent API bill payments",
"spec_name": "bill_com_agent_api_bill_payments",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_agent_api_vendor_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "vendor_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "vendor_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Vendor field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed vendor setup updates before outbound Bill.com edits.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com agent API vendor updates",
"spec_name": "bill_com_agent_api_vendor_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_organizations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "organization_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Organization name",
"name": "organization_name",
"tests": [],
"type": "string"
},
{
"description": "Organization status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Default currency",
"name": "default_currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Organization observations for legal identity, settings, and payment readiness.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API organizations",
"spec_name": "bill_com_api_organizations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_users
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "user_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Role name",
"name": "role_name",
"tests": [],
"type": "string"
},
{
"description": "User status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "User observations for permissions, approvers, and payment authority review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API users",
"spec_name": "bill_com_api_users"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_funding_accounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "funding_account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Funding account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Funding account status",
"name": "account_status",
"tests": [],
"type": "string"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Funding account observations for outbound payment readiness.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API funding accounts",
"spec_name": "bill_com_api_funding_accounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_vendor_credits
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "vendor_credit_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Credit number",
"name": "credit_number",
"tests": [],
"type": "string"
},
{
"description": "Credit amount",
"name": "credit_amount",
"tests": [],
"type": "number"
},
{
"description": "Remaining amount",
"name": "remaining_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Vendor credit observations for AP netting, open-credit review, and payment planning.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API vendor credits",
"spec_name": "bill_com_api_vendor_credits"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_api_webhook_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Event timestamp",
"name": "event_time",
"tests": [],
"type": "string"
},
{
"description": "Resource type",
"name": "resource_type",
"tests": [],
"type": "string"
},
{
"description": "Resource id",
"name": "resource_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Webhook event observations for payment, bill, vendor, and sync state changes.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com API webhook events",
"spec_name": "bill_com_api_webhook_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_spend_expense_budgets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "budget_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Budget name",
"name": "budget_name",
"tests": [],
"type": "string"
},
{
"description": "Budget owner user id",
"name": "owner_user_id",
"tests": [],
"type": "string"
},
{
"description": "Budget limit",
"name": "limit_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Spend & Expense budget observations for card policy and team spend controls.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com Spend & Expense budgets",
"spec_name": "bill_com_spend_expense_budgets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_spend_expense_cards
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "card_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Assigned user id",
"name": "user_id",
"tests": [],
"type": "string"
},
{
"description": "Associated vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Card status",
"name": "card_status",
"tests": [],
"type": "string"
},
{
"description": "Last four digits",
"name": "last_four",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Spend & Expense card observations for issued cards, controls, and vendor cards.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com Spend & Expense cards",
"spec_name": "bill_com_spend_expense_cards"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bill_com_spend_expense_transactions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "transaction_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Card id",
"name": "card_id",
"tests": [],
"type": "string"
},
{
"description": "Merchant name",
"name": "merchant_name",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Transaction amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Spend & Expense transaction observations for card spend, receipts, and policy review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bill.com Spend & Expense transactions",
"spec_name": "bill_com_spend_expense_transactions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "bill_com_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_payments_library
billing finance collection v1.0.0 StripeStripe billing and payments specs for customers, products/prices, subscriptions, invoices, payment intents, refunds, payouts, disputes, and governed billing actions.
- Direct systems
- Stripe
- Coverage
- Extended
- Coverage notes
- Covers billing, payments, checkout, discounts, payment methods, settlement, disputes, events, and governed refund/subscription changes.
- Source docs
- Stripe API reference
- Next objects
- accounts; transfers;
application_fees;payment_links; quotes;tax_rates; entitlements - Omitted
- raw card data; Connect onboarding flows; fraud/radar rule management
- Needs
- A Stripe agent/operator role. The generated calls use
stripe_agent. - Useful for
- Subscription billing memory; Payment lifecycle review; Refund governance; Payout reconciliation; Dispute follow-up
- Extend with
- Webhook event observations; Entitlement or feature specs for SaaS products; Dunning and collections issue specs
- Links
- Refund proposals cite the payment observation they intend to refund; Subscription change proposals cite the current subscription observation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
stripe_api_customers | Stripe | Observation | Billing customer observations. |
stripe_api_products_prices | Stripe | Observation | Product and price catalog observations. |
stripe_api_subscriptions | Stripe | Observation | Subscription lifecycle observations. |
stripe_api_invoices | Stripe | Observation | Invoice lifecycle observations. |
stripe_api_payment_intents | Stripe | Observation | PaymentIntent lifecycle observations. |
stripe_api_refunds | Stripe | Observation | Refund observations. |
stripe_api_payouts | Stripe | Observation | Payout observations. |
stripe_api_disputes | Stripe | Observation | Dispute observations. |
stripe_agent_api_refund_proposals | Stripe | Commitment workflow | Governed refund proposals. |
stripe_agent_api_subscription_changes | Stripe | Commitment workflow | Governed subscription changes. |
stripe_api_checkout_sessions | Stripe | Observation | Checkout Session lifecycle observations. |
stripe_api_charges | Stripe | Observation | Charge observations. |
stripe_api_balance_transactions | Stripe | Observation | Balance transaction observations. |
stripe_api_credit_notes | Stripe | Observation | Credit note observations. |
stripe_api_coupons_promotion_codes | Stripe | Observation | Coupon and promotion-code observations. |
stripe_api_payment_methods | Stripe | Observation | Payment method observations. |
stripe_api_events | Stripe | Observation | Webhook/event observations. |
View 17 create_spec calls
stripe_api_customers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Delinquency flag",
"name": "delinquent",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer observations for billing identity and payment relationships.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API customers",
"spec_name": "stripe_api_customers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_products_prices
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "price_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product name",
"name": "product_name",
"tests": [],
"type": "string"
},
{
"description": "Unit amount",
"name": "unit_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Recurring interval",
"name": "billing_interval",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product and price observations for recurring and one-time billing catalogs.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API products and prices",
"spec_name": "stripe_api_products_prices"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_subscriptions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "subscription_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Subscription status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Current period end",
"name": "current_period_end",
"tests": [],
"type": "string"
},
{
"description": "Cancel at period end",
"name": "cancel_at_period_end",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Subscription observations for lifecycle, plan, renewal, and cancellation workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API subscriptions",
"spec_name": "stripe_api_subscriptions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_invoices
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "invoice_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Subscription id",
"name": "subscription_id",
"tests": [],
"type": "string"
},
{
"description": "Invoice status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Amount due",
"name": "amount_due",
"tests": [],
"type": "number"
},
{
"description": "Amount paid",
"name": "amount_paid",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Invoice observations for billing status, collection, and payment follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API invoices",
"spec_name": "stripe_api_invoices"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_payment_intents
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_intent_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Amount received",
"name": "amount_received",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "PaymentIntent status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "PaymentIntent observations for payment attempts and authentication/payment lifecycle.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API payment intents",
"spec_name": "stripe_api_payment_intents"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_refunds
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "refund_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "PaymentIntent id",
"name": "payment_intent_id",
"tests": [],
"type": "string"
},
{
"description": "Charge id",
"name": "charge_id",
"tests": [],
"type": "string"
},
{
"description": "Refund amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Refund reason",
"name": "reason",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Refund observations for customer credits and settlement reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API refunds",
"spec_name": "stripe_api_refunds"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_payouts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payout_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Arrival date",
"name": "arrival_date",
"tests": [],
"type": "string"
},
{
"description": "Payout status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Payout amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payout observations for settlement timing and cash reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API payouts",
"spec_name": "stripe_api_payouts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_disputes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "dispute_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "PaymentIntent id",
"name": "payment_intent_id",
"tests": [],
"type": "string"
},
{
"description": "Charge id",
"name": "charge_id",
"tests": [],
"type": "string"
},
{
"description": "Dispute reason",
"name": "reason",
"tests": [],
"type": "string"
},
{
"description": "Dispute amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Dispute observations for evidence gathering and finance/legal follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API disputes",
"spec_name": "stripe_api_disputes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_agent_api_refund_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "refund_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "payment_intent_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Refund amount",
"name": "refund_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Refund reason",
"name": "reason",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed refund proposals before outbound Stripe refund creation.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe agent API refund proposals",
"spec_name": "stripe_agent_api_refund_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_agent_api_subscription_changes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "subscription_change_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "subscription_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current subscription status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed subscription status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Effective date",
"name": "effective_date",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed subscription change proposals before outbound Stripe edits.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe agent API subscription changes",
"spec_name": "stripe_agent_api_subscription_changes",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_checkout_sessions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "checkout_session_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "PaymentIntent id",
"name": "payment_intent_id",
"tests": [],
"type": "string"
},
{
"description": "Subscription id",
"name": "subscription_id",
"tests": [],
"type": "string"
},
{
"description": "Checkout mode",
"name": "mode",
"tests": [],
"type": "string"
},
{
"description": "Payment status",
"name": "payment_status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "amount_total",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Checkout Session observations for hosted checkout lifecycle and conversion analysis.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API checkout sessions",
"spec_name": "stripe_api_checkout_sessions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_charges
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "charge_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "PaymentIntent id",
"name": "payment_intent_id",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Charge amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Captured amount",
"name": "amount_captured",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Paid flag",
"name": "paid",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Charge observations for payment capture, disputes, refunds, and receipt workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API charges",
"spec_name": "stripe_api_charges"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_balance_transactions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "balance_transaction_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Source object id",
"name": "source_id",
"tests": [],
"type": "string"
},
{
"description": "Balance transaction type",
"name": "type",
"tests": [],
"type": "string"
},
{
"description": "Gross amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Fee amount",
"name": "fee",
"tests": [],
"type": "number"
},
{
"description": "Net amount",
"name": "net",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Balance transaction observations for fees, net settlement, and financial reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API balance transactions",
"spec_name": "stripe_api_balance_transactions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_credit_notes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "credit_note_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Invoice id",
"name": "invoice_id",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Credit note status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Credit note total",
"name": "total",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Credit note observations for invoice adjustments and customer credits.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API credit notes",
"spec_name": "stripe_api_credit_notes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_coupons_promotion_codes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "discount_artifact_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "coupon or promotion_code",
"name": "artifact_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Promotion code",
"name": "code",
"tests": [],
"type": "string"
},
{
"description": "Percent off",
"name": "percent_off",
"tests": [],
"type": "number"
},
{
"description": "Amount off",
"name": "amount_off",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Coupon and promotion-code observations for discount governance and attribution.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API coupons and promotion codes",
"spec_name": "stripe_api_coupons_promotion_codes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_payment_methods
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_method_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Payment method type",
"name": "payment_method_type",
"tests": [],
"type": "string"
},
{
"description": "Card brand",
"name": "card_brand",
"tests": [],
"type": "string"
},
{
"description": "Card last four",
"name": "card_last4",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment method observations for customer billing readiness and failure diagnostics.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API payment methods",
"spec_name": "stripe_api_payment_methods"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
stripe_api_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Event creation timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Data object type",
"name": "object_type",
"tests": [],
"type": "string"
},
{
"description": "Data object id",
"name": "object_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Stripe event observations for webhook-driven sync, audit, and replay workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Stripe API events",
"spec_name": "stripe_api_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "stripe_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_pos_library
commerce billing collection v1.0.0 SquareSquare POS and commerce specs for catalog objects, orders, payments, refunds, customers, inventory counts, and governed catalog/refund actions.
- Direct systems
- Square
- Coverage
- Extended
- Coverage notes
- Covers POS commerce, locations, catalog, inventory, payments, refunds, invoices, subscriptions, disputes, payouts, gift cards, team, and bookings.
- Source docs
- Square API reference
- Next objects
loyalty_accounts;cash_drawers; shifts;wage_settings;terminal_checkouts;bank_accounts- Omitted
- card-on-file secrets; device management details; OAuth app lifecycle
- Needs
- A Square agent/operator role. The generated calls use
square_agent. - Useful for
- POS sales memory; Catalog and inventory review; Payment reconciliation; Refund approval; Customer/order lookup
- Extend with
- Location-specific inventory expectations; Tender reconciliation specs; In-person vs online order comparisons
- Links
- Catalog update proposals cite the latest catalog object observation; Refund proposals cite the payment observation they intend to refund
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
square_api_catalog_objects | Square | Observation | Catalog object observations. |
square_api_orders | Square | Observation | Order lifecycle observations. |
square_api_payments | Square | Observation | Payment observations. |
square_api_refunds | Square | Observation | Refund observations. |
square_api_customers | Square | Observation | Customer profile observations. |
square_api_inventory_counts | Square | Observation | Inventory count observations. |
square_agent_api_catalog_updates | Square | Commitment workflow | Governed catalog updates. |
square_agent_api_refund_proposals | Square | Commitment workflow | Governed refund proposals. |
square_api_locations | Square | Observation | Location observations. |
square_api_invoices | Square | Observation | Invoice observations. |
square_api_subscriptions | Square | Observation | Subscription observations. |
square_api_disputes | Square | Observation | Dispute observations. |
square_api_payouts | Square | Observation | Payout observations. |
square_api_gift_cards | Square | Observation | Gift card observations. |
square_api_team_members | Square | Observation | Team member observations. |
square_api_bookings | Square | Observation | Booking observations. |
View 16 create_spec calls
square_api_catalog_objects
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "catalog_object_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Catalog object type",
"name": "object_type",
"tests": [],
"type": "string"
},
{
"description": "Catalog object version",
"name": "version",
"tests": [],
"type": "integer"
},
{
"description": "Catalog object name",
"name": "name",
"tests": [],
"type": "string"
},
{
"description": "Deletion flag",
"name": "is_deleted",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Catalog observations for items, variations, modifiers, discounts, taxes, and categories.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API catalog objects",
"spec_name": "square_api_catalog_objects"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Order state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Order total",
"name": "total_money_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order observations for POS and online sales, fulfillment, totals, and customer references.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API orders",
"spec_name": "square_api_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Payment status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "amount_money",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment observations for Square seller payment lifecycle and reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API payments",
"spec_name": "square_api_payments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_refunds
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "refund_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Payment id",
"name": "payment_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Refund status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Refund amount",
"name": "amount_money",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Refund reason",
"name": "reason",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Refund observations for payments, status, and balance impact.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API refunds",
"spec_name": "square_api_refunds"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_customers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed given-name reference",
"name": "given_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer observations for profiles, references, and order/payment lookup.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API customers",
"spec_name": "square_api_customers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_inventory_counts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "inventory_count_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Catalog object id",
"name": "catalog_object_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Quantity",
"name": "quantity",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Inventory count observations by catalog variation and location.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API inventory counts",
"spec_name": "square_api_inventory_counts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_agent_api_catalog_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "catalog_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "catalog_object_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Catalog field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed catalog update proposals before outbound Square catalog edits.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square agent API catalog updates",
"spec_name": "square_agent_api_catalog_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_agent_api_refund_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "refund_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "payment_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Refund amount",
"name": "refund_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Refund reason",
"name": "reason",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed refund proposals before outbound Square refund creation.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square agent API refund proposals",
"spec_name": "square_agent_api_refund_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_locations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "location_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location name",
"name": "location_name",
"tests": [],
"type": "string"
},
{
"description": "Location status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Location time zone",
"name": "timezone",
"tests": [],
"type": "string"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Location observations for POS, inventory, payments, and staff operations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API locations",
"spec_name": "square_api_locations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_invoices
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "invoice_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Invoice status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Amount due",
"name": "amount_due",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Invoice observations for order-linked customer billing and payment schedules.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API invoices",
"spec_name": "square_api_invoices"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_subscriptions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "subscription_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Plan variation id",
"name": "plan_variation_id",
"tests": [],
"type": "string"
},
{
"description": "Subscription status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Subscription observations for recurring revenue lifecycle and plan changes.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API subscriptions",
"spec_name": "square_api_subscriptions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_disputes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "dispute_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Payment id",
"name": "payment_id",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Dispute reason",
"name": "reason",
"tests": [],
"type": "string"
},
{
"description": "Dispute state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Dispute amount",
"name": "amount_money",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Dispute observations for chargeback evidence and resolution follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API disputes",
"spec_name": "square_api_disputes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_payouts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payout_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Payout status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Arrival date",
"name": "arrival_date",
"tests": [],
"type": "string"
},
{
"description": "Payout amount",
"name": "amount_money",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payout observations for deposits, withdrawals, and seller cash reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API payouts",
"spec_name": "square_api_payouts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_gift_cards
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "gift_card_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Gift account number source",
"name": "gan_source",
"tests": [],
"type": "string"
},
{
"description": "Gift card state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Gift card balance",
"name": "balance_money",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Gift card observations for balance, activation, redemption, and liability tracking.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API gift cards",
"spec_name": "square_api_gift_cards"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_team_members
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "team_member_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location ids",
"name": "location_ids",
"tests": [],
"type": "string"
},
{
"description": "Team member status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Team member observations for staff identity, status, and labor operations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API team members",
"spec_name": "square_api_team_members"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
square_api_bookings
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "booking_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Appointment segment count",
"name": "appointment_segment_count",
"tests": [],
"type": "integer"
},
{
"description": "Booking start timestamp",
"name": "start_at",
"tests": [],
"type": "string"
},
{
"description": "Booking status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Booking observations for appointment scheduling and service operations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Square API bookings",
"spec_name": "square_api_bookings"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "square_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_restaurant_library
operations billing collection v1.0.0 ToastToast restaurant operations specs for restaurants, menus, orders, payments, employees, time entries, and governed order/tip updates where supported.
- Direct systems
- Toast
- Coverage
- Core
- Coverage notes
- Covers restaurant setup, menus, orders, payments, employees, labor/time entries, discounts, dining/service areas, jobs, and cash movement.
- Source docs
- Toast API reference
- Next objects
menu_availability;prep_stations;gift_cards; loyalty;house_accounts;kitchen_timings- Omitted
- unsupported outbound edits; raw guest PII; device-level POS state
- Needs
- A Toast agent/operator role. The generated calls use
toast_agent. - Useful for
- Restaurant menu memory; Order and payment review; Labor and time-entry analysis; Tip adjustment review; Restaurant operations follow-up
- Extend with
- Kitchen/service issue specs; Menu availability expectations; Payroll export specs
- Links
- Order update proposals cite the current order observation; Tip adjustment proposals cite the current payment observation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
toast_api_restaurants | Toast | Observation | Restaurant setup observations. |
toast_api_menus | Toast | Observation | Menu hierarchy observations. |
toast_api_orders | Toast | Observation | Guest order observations. |
toast_api_payments | Toast | Observation | Order payment observations. |
toast_api_employees | Toast | Observation | Employee observations. |
toast_api_time_entries | Toast | Observation | Labor time-entry observations. |
toast_agent_api_order_updates | Toast | Commitment workflow | Governed order updates where supported. |
toast_agent_api_tip_adjustments | Toast | Commitment workflow | Governed tip adjustments where supported. |
toast_api_discounts | Toast | Observation | Discount observations. |
toast_api_dining_options | Toast | Observation | Dining option observations. |
toast_api_service_areas | Toast | Observation | Service area observations. |
toast_api_jobs | Toast | Observation | Labor job observations. |
toast_api_cash_entries | Toast | Observation | Cash entry observations. |
toast_api_cash_deposits | Toast | Observation | Cash deposit observations. |
View 14 create_spec calls
toast_api_restaurants
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "restaurant_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant name",
"name": "restaurant_name",
"tests": [],
"type": "string"
},
{
"description": "Management group guid",
"name": "management_group_guid",
"tests": [],
"type": "string"
},
{
"description": "Restaurant time zone",
"name": "time_zone",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Restaurant configuration observations for locations and operational setup.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API restaurants",
"spec_name": "toast_api_restaurants"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_menus
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "menu_snapshot_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Menu count",
"name": "menu_count",
"tests": [],
"type": "integer"
},
{
"description": "Menu item count",
"name": "menu_item_count",
"tests": [],
"type": "integer"
},
{
"description": "Modifier count",
"name": "modifier_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Menu hierarchy observations for menus, groups, menu items, modifier groups, and modifiers.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API menus",
"spec_name": "toast_api_menus"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "order_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business date",
"name": "business_date",
"tests": [],
"type": "string"
},
{
"description": "Opened timestamp",
"name": "opened_at",
"tests": [],
"type": "string"
},
{
"description": "Order status",
"name": "order_status",
"tests": [],
"type": "string"
},
{
"description": "Order total",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Guest order observations including checks, selected items, prices, discounts, payments, and customer data.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API orders",
"spec_name": "toast_api_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order guid",
"name": "order_guid",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Check guid",
"name": "check_guid",
"tests": [],
"type": "string"
},
{
"description": "Payment status",
"name": "payment_status",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Tip amount",
"name": "tip_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment observations from Toast orders and checks for reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API payments",
"spec_name": "toast_api_payments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_employees
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "employee_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [],
"type": "string"
},
{
"description": "Employee number",
"name": "employee_number",
"tests": [],
"type": "string"
},
{
"description": "Employee status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Employee observations for labor, roles, jobs, and restaurant operations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API employees",
"spec_name": "toast_api_employees"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_time_entries
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "time_entry_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Employee guid",
"name": "employee_guid",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [],
"type": "string"
},
{
"description": "Clock-in timestamp",
"name": "in_date",
"tests": [],
"type": "string"
},
{
"description": "Clock-out timestamp",
"name": "out_date",
"tests": [],
"type": "string"
},
{
"description": "Job guid",
"name": "job_guid",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Labor time-entry observations for shifts, clock-in/out, breaks, declared tips, and sales summaries.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API time entries",
"spec_name": "toast_api_time_entries"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_agent_api_order_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "order_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "order_guid",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Check guid",
"name": "check_guid",
"tests": [],
"type": "string"
},
{
"description": "Requested update",
"name": "requested_update",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed order update proposals before outbound Toast order edits where supported.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast agent API order updates",
"spec_name": "toast_agent_api_order_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_agent_api_tip_adjustments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "tip_adjustment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "payment_guid",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current tip amount",
"name": "current_tip_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed tip amount",
"name": "proposed_tip_amount",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed tip adjustment proposals before outbound Toast payment tip updates where supported.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast agent API tip adjustments",
"spec_name": "toast_agent_api_tip_adjustments",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_discounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "discount_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [],
"type": "string"
},
{
"description": "Discount name",
"name": "discount_name",
"tests": [],
"type": "string"
},
{
"description": "Discount type",
"name": "discount_type",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Discount observations for menu/order promotion analysis and margin review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API discounts",
"spec_name": "toast_api_discounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_dining_options
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "dining_option_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [],
"type": "string"
},
{
"description": "Dining option name",
"name": "name",
"tests": [],
"type": "string"
},
{
"description": "Dining option behavior",
"name": "behavior",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Dining option observations for service-mode routing and order analysis.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API dining options",
"spec_name": "toast_api_dining_options"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_service_areas
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "service_area_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [],
"type": "string"
},
{
"description": "Service area name",
"name": "name",
"tests": [],
"type": "string"
},
{
"description": "Table count",
"name": "table_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Service area observations for restaurant floor/service operations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API service areas",
"spec_name": "toast_api_service_areas"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_jobs
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "job_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [],
"type": "string"
},
{
"description": "Job title",
"name": "job_title",
"tests": [],
"type": "string"
},
{
"description": "Wage type",
"name": "wage_type",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Job observations for labor role, wage, and shift reporting.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API jobs",
"spec_name": "toast_api_jobs"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_cash_entries
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "cash_entry_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [],
"type": "string"
},
{
"description": "Business date",
"name": "business_date",
"tests": [],
"type": "string"
},
{
"description": "Cash entry type",
"name": "entry_type",
"tests": [],
"type": "string"
},
{
"description": "Entry amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Cash entry observations for paid-in, paid-out, cash drawer, and non-standard cash movement review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API cash entries",
"spec_name": "toast_api_cash_entries"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
toast_api_cash_deposits
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "cash_deposit_guid",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Restaurant guid",
"name": "restaurant_guid",
"tests": [],
"type": "string"
},
{
"description": "Business date",
"name": "business_date",
"tests": [],
"type": "string"
},
{
"description": "Deposit status",
"name": "deposit_status",
"tests": [],
"type": "string"
},
{
"description": "Deposit amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Cash deposit observations for cash removed from restaurants and deposited externally.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Toast API cash deposits",
"spec_name": "toast_api_cash_deposits"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "toast_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_accounting_library
finance billing collection v1.0.0 QuickBooksQuickBooks Online accounting specs for company setup, chart of accounts, customers, vendors, items, AR/AP transactions, purchases, deposits, journal entries, attachments, change events, and governed accounting updates.
- Direct systems
- QuickBooks
- Coverage
- Extended
- Coverage notes
- Covers the core QuickBooks Online accounting API entities used for SMB finance operations. It does not mirror every report, payroll object, or bank-feed review surface.
- Next objects
- estimates; statements; budgets; reports;
recurring_transactions;payment_methods; terms;exchange_rates - Omitted
- payroll details; raw bank-feed review items; OAuth/token management; full financial reports
- Needs
- A QuickBooks agent/operator role. The generated calls use
quickbooks_agent. - Useful for
- Accounting system memory; AR/AP reconciliation; Commerce-to-accounting handoff; Journal entry review; Customer/vendor master-data governance
- Extend with
- Links from Shopify/Stripe/Square deposits into QuickBooks deposits or journal entries; Bill.com payment confirmations into QuickBooks bill payments; Budget and class/department planning specs
- Links
- Invoice update proposals cite the current QuickBooks invoice observation; Bill update proposals cite the current QuickBooks bill observation; Journal-entry proposals cite existing journal entries or related accounting observations; Customer master-data updates cite current customer observations; Vendor master-data updates cite current vendor observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
quickbooks_api_company_info | QuickBooks | Observation | Company setup observations. |
quickbooks_api_preferences | QuickBooks | Observation | Company preference observations. |
quickbooks_api_accounts | QuickBooks | Observation | Chart of accounts observations. |
quickbooks_api_customers | QuickBooks | Observation | Customer master-data observations. |
quickbooks_api_vendors | QuickBooks | Observation | Vendor master-data observations. |
quickbooks_api_employees | QuickBooks | Observation | Employee reference observations. |
quickbooks_api_items | QuickBooks | Observation | Product and service item observations. |
quickbooks_api_tax_codes | QuickBooks | Observation | Tax code observations. |
quickbooks_api_classes_departments | QuickBooks | Observation | Class and department observations. |
quickbooks_api_invoices | QuickBooks | Observation | AR invoice observations. |
quickbooks_api_payments | QuickBooks | Observation | Customer payment observations. |
quickbooks_api_sales_receipts | QuickBooks | Observation | Sales receipt observations. |
quickbooks_api_credit_memos | QuickBooks | Observation | Customer credit memo observations. |
quickbooks_api_refund_receipts | QuickBooks | Observation | Customer refund receipt observations. |
quickbooks_api_bills | QuickBooks | Observation | AP bill observations. |
quickbooks_api_bill_payments | QuickBooks | Observation | Bill payment observations. |
quickbooks_api_vendor_credits | QuickBooks | Observation | Vendor credit observations. |
quickbooks_api_purchases | QuickBooks | Observation | Purchase and expense observations. |
quickbooks_api_purchase_orders | QuickBooks | Observation | Purchase order observations. |
quickbooks_api_deposits | QuickBooks | Observation | Deposit observations. |
quickbooks_api_transfers | QuickBooks | Observation | Transfer observations. |
quickbooks_api_journal_entries | QuickBooks | Observation | Journal entry observations. |
quickbooks_api_time_activities | QuickBooks | Observation | Time activity observations. |
quickbooks_api_attachments | QuickBooks | Observation | Attachment observations. |
quickbooks_api_change_events | QuickBooks | Observation | Change Data Capture observations. |
quickbooks_agent_api_invoice_updates | QuickBooks | Commitment workflow | Governed invoice updates. |
quickbooks_agent_api_bill_updates | QuickBooks | Commitment workflow | Governed bill updates. |
quickbooks_agent_api_journal_entry_proposals | QuickBooks | Commitment workflow | Governed journal entry proposals. |
quickbooks_agent_api_customer_vendor_updates | QuickBooks | Commitment workflow | Governed customer/vendor updates. |
View 29 create_spec calls
quickbooks_api_company_info
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "company_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Company name",
"name": "company_name",
"tests": [],
"type": "string"
},
{
"description": "Legal name",
"name": "legal_name",
"tests": [],
"type": "string"
},
{
"description": "Country",
"name": "country",
"tests": [],
"type": "string"
},
{
"description": "Home currency",
"name": "home_currency",
"tests": [],
"type": "string"
},
{
"description": "Fiscal year start month",
"name": "fiscal_year_start_month",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Company setup observations for accounting identity, currency, and fiscal settings.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API company info",
"spec_name": "quickbooks_api_company_info"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_preferences
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "preferences_snapshot_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Company id",
"name": "company_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Accounting method",
"name": "accounting_method",
"tests": [],
"type": "string"
},
{
"description": "Tax enabled flag",
"name": "tax_enabled",
"tests": [],
"type": "boolean"
},
{
"description": "Multicurrency enabled flag",
"name": "multicurrency_enabled",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Company preferences observations for accounting, sales forms, tax, and feature settings.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API preferences",
"spec_name": "quickbooks_api_preferences"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_accounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account name",
"name": "account_name",
"tests": [],
"type": "string"
},
{
"description": "Account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Account classification",
"name": "classification",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Current balance",
"name": "current_balance",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Chart of accounts observations for general ledger classification and posting review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API accounts",
"spec_name": "quickbooks_api_accounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_customers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Open customer balance",
"name": "balance",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer observations for AR, invoicing, payments, and project/job references.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API customers",
"spec_name": "quickbooks_api_customers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_vendors
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "vendor_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Open vendor balance",
"name": "balance",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Vendor observations for AP, bills, purchases, and vendor credits.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API vendors",
"spec_name": "quickbooks_api_vendors"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_employees
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "employee_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Employee number",
"name": "employee_number",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Employee observations for payroll-adjacent accounting, time activity, and reimbursement references.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API employees",
"spec_name": "quickbooks_api_employees"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Item name",
"name": "item_name",
"tests": [],
"type": "string"
},
{
"description": "Item type",
"name": "item_type",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Unit price",
"name": "unit_price",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product and service item observations for sales forms, purchases, inventory, and account mappings.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API items",
"spec_name": "quickbooks_api_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_tax_codes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "tax_code_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Tax code name",
"name": "tax_code_name",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Taxable flag",
"name": "taxable",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Tax code observations for invoice, bill, purchase, and sales receipt tax handling.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API tax codes",
"spec_name": "quickbooks_api_tax_codes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_classes_departments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "dimension_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "class or department",
"name": "dimension_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Dimension name",
"name": "dimension_name",
"tests": [],
"type": "string"
},
{
"description": "Parent dimension id",
"name": "parent_dimension_id",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Class and department observations for dimensional accounting and management reporting.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API classes and departments",
"spec_name": "quickbooks_api_classes_departments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_invoices
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "invoice_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Document number",
"name": "doc_number",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Open balance",
"name": "balance",
"tests": [],
"type": "number"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Invoice observations for AR, revenue, customer balances, and collection workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API invoices",
"spec_name": "quickbooks_api_invoices"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Deposit account id",
"name": "deposit_to_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer payment observations for AR application, deposits, and reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API payments",
"spec_name": "quickbooks_api_payments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_sales_receipts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sales_receipt_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Deposit account id",
"name": "deposit_to_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Sales receipt observations for immediate-payment sales and commerce imports.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API sales receipts",
"spec_name": "quickbooks_api_sales_receipts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_credit_memos
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "credit_memo_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Remaining credit",
"name": "remaining_credit",
"tests": [],
"type": "number"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Credit memo observations for customer credits and AR adjustments.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API credit memos",
"spec_name": "quickbooks_api_credit_memos"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_refund_receipts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "refund_receipt_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Refund amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Payment method id",
"name": "payment_method_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Refund receipt observations for customer refunds and cash impact.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API refund receipts",
"spec_name": "quickbooks_api_refund_receipts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_bills
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "bill_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Document number",
"name": "doc_number",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Open balance",
"name": "balance",
"tests": [],
"type": "number"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Bill observations for AP, vendor balances, due dates, and approval/payment planning.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API bills",
"spec_name": "quickbooks_api_bills"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_bill_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "bill_payment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Bill payment observations for AP settlement and bank reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API bill payments",
"spec_name": "quickbooks_api_bill_payments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_vendor_credits
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "vendor_credit_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Remaining credit",
"name": "remaining_credit",
"tests": [],
"type": "number"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Vendor credit observations for AP netting and open-credit review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API vendor credits",
"spec_name": "quickbooks_api_vendor_credits"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_purchases
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "purchase_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Expense or asset account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Payment type",
"name": "payment_type",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Purchase amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Purchase/expense observations for card, cash, check, and bank purchases.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API purchases",
"spec_name": "quickbooks_api_purchases"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_purchase_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "purchase_order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Document number",
"name": "doc_number",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Purchase order status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Purchase order observations for AP intake and receiving workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API purchase orders",
"spec_name": "quickbooks_api_purchase_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_deposits
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "deposit_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Deposit account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Deposit amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Deposit observations for bank deposits, payment grouping, and reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API deposits",
"spec_name": "quickbooks_api_deposits"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_transfers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "transfer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Source account id",
"name": "from_account_id",
"tests": [],
"type": "string"
},
{
"description": "Destination account id",
"name": "to_account_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Transfer amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Transfer observations for movement between bank or asset accounts.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API transfers",
"spec_name": "quickbooks_api_transfers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_journal_entries
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "journal_entry_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Document number",
"name": "doc_number",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Total debit amount",
"name": "total_debit",
"tests": [],
"type": "number"
},
{
"description": "Total credit amount",
"name": "total_credit",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Journal entry observations for manual accounting adjustments and imports.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API journal entries",
"spec_name": "quickbooks_api_journal_entries"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_time_activities
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "time_activity_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Employee id",
"name": "employee_id",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Service item id",
"name": "item_id",
"tests": [],
"type": "string"
},
{
"description": "Activity date",
"name": "activity_date",
"tests": [],
"type": "string"
},
{
"description": "Hours",
"name": "hours",
"tests": [],
"type": "number"
},
{
"description": "Billable status",
"name": "billable_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Time activity observations for billable time and service work.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API time activities",
"spec_name": "quickbooks_api_time_activities"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_attachments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "attachment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Linked entity type",
"name": "linked_entity_type",
"tests": [],
"type": "string"
},
{
"description": "Linked entity id",
"name": "linked_entity_id",
"tests": [],
"type": "string"
},
{
"description": "File name",
"name": "file_name",
"tests": [],
"type": "string"
},
{
"description": "Content type",
"name": "content_type",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Attachable observations for source documents linked to transactions or list entities.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API attachments",
"spec_name": "quickbooks_api_attachments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_api_change_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "change_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Entity name",
"name": "entity_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Entity id",
"name": "entity_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Create, update, or delete operation",
"name": "operation",
"tests": [],
"type": "string"
},
{
"description": "Last updated timestamp",
"name": "last_updated_time",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Change Data Capture observations for changed accounting entities and sync replay.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks API change events",
"spec_name": "quickbooks_api_change_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_agent_api_invoice_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "invoice_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "invoice_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Current balance",
"name": "current_balance",
"tests": [],
"type": "number"
},
{
"description": "Proposed total amount",
"name": "proposed_total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed invoice creation/update proposals before outbound QuickBooks sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks agent API invoice updates",
"spec_name": "quickbooks_agent_api_invoice_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_agent_api_bill_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "bill_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "bill_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Current balance",
"name": "current_balance",
"tests": [],
"type": "number"
},
{
"description": "Proposed total amount",
"name": "proposed_total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed bill creation/update proposals before outbound QuickBooks sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks agent API bill updates",
"spec_name": "quickbooks_agent_api_bill_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_agent_api_journal_entry_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "journal_entry_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "journal_entry_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Total debit amount",
"name": "total_debit",
"tests": [],
"type": "number"
},
{
"description": "Total credit amount",
"name": "total_credit",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed journal entry proposals before outbound QuickBooks sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks agent API journal entry proposals",
"spec_name": "quickbooks_agent_api_journal_entry_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
quickbooks_agent_api_customer_vendor_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "counterparty_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "counterparty_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "customer or vendor",
"name": "counterparty_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed customer or vendor master-data update proposals before outbound QuickBooks sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "QuickBooks agent API customer/vendor updates",
"spec_name": "quickbooks_agent_api_customer_vendor_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "quickbooks_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_erp_library
finance operations collection v1.0.0 NetSuiteNetSuite ERP specs for subsidiaries, accounting dimensions, customers, vendors, items, AR/AP transactions, inventory movement, journal entries, custom records, and governed ERP updates.
- Direct systems
- NetSuite
- Coverage
- Extended
- Coverage notes
- Covers the core ERP records agents usually need for accounting, procurement, inventory, order-to-cash, and master-data review. It does not mirror every NetSuite record type, sublist, or tenant custom field.
- Source docs
- NetSuite REST Web Services; NetSuite REST API Browser
- Next objects
cash_sales;customer_deposits;work_orders;assembly_builds; opportunities; estimates;support_cases;file_cabinet_documents- Omitted
- tenant-specific custom record schemas; SuiteScript deployment metadata; raw employee personal data; OAuth/token management
- Needs
- A NetSuite agent/operator role. The generated calls use
netsuite_agent. - Useful for
- ERP system memory; Order-to-cash and procure-to-pay review; Inventory movement review; Close and journal-entry governance; Customer/vendor/item master-data governance
- Extend with
- Links from Shopify, Stripe, Square, or Toast observations into NetSuite transactions; Three-way match reconciliation between purchase orders, item receipts, and vendor bills; Tenant-specific custom-record variants after discovery
- Links
- Sales-order update proposals cite the current NetSuite sales order observation; Vendor-bill update proposals cite the current vendor bill observation; Journal-entry proposals cite existing journal entries or related accounting observations; Item master-data updates cite current item observations; Customer master-data updates cite current customer observations; Vendor master-data updates cite current vendor observations; Inventory adjustment proposals cite current inventory-item observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
netsuite_api_subsidiaries | NetSuite | Observation | Subsidiary and entity-scope observations. |
netsuite_api_accounts | NetSuite | Observation | Chart of accounts observations. |
netsuite_api_departments | NetSuite | Observation | Department dimension observations. |
netsuite_api_classes | NetSuite | Observation | Class dimension observations. |
netsuite_api_locations | NetSuite | Observation | Location dimension observations. |
netsuite_api_customers | NetSuite | Observation | Customer master-data observations. |
netsuite_api_vendors | NetSuite | Observation | Vendor master-data observations. |
netsuite_api_employees | NetSuite | Observation | Employee reference observations. |
netsuite_api_items | NetSuite | Observation | Item master-data observations. |
netsuite_api_inventory_items | NetSuite | Observation | Inventory quantity observations. |
netsuite_api_sales_orders | NetSuite | Observation | Sales order observations. |
netsuite_api_invoices | NetSuite | Observation | AR invoice observations. |
netsuite_api_customer_payments | NetSuite | Observation | Customer payment observations. |
netsuite_api_credit_memos | NetSuite | Observation | Customer credit memo observations. |
netsuite_api_return_authorizations | NetSuite | Observation | Return authorization observations. |
netsuite_api_vendor_bills | NetSuite | Observation | AP vendor bill observations. |
netsuite_api_vendor_payments | NetSuite | Observation | Vendor payment observations. |
netsuite_api_vendor_credits | NetSuite | Observation | Vendor credit observations. |
netsuite_api_purchase_orders | NetSuite | Observation | Purchase order observations. |
netsuite_api_item_receipts | NetSuite | Observation | Receiving observations. |
netsuite_api_item_fulfillments | NetSuite | Observation | Fulfillment observations. |
netsuite_api_inventory_adjustments | NetSuite | Observation | Inventory adjustment observations. |
netsuite_api_transfer_orders | NetSuite | Observation | Transfer order observations. |
netsuite_api_deposits | NetSuite | Observation | Deposit observations. |
netsuite_api_expense_reports | NetSuite | Observation | Expense report observations. |
netsuite_api_journal_entries | NetSuite | Observation | Journal entry observations. |
netsuite_api_custom_records | NetSuite | Observation | Tenant custom-record observations. |
netsuite_agent_api_sales_order_updates | NetSuite | Commitment workflow | Governed sales order updates. |
netsuite_agent_api_vendor_bill_updates | NetSuite | Commitment workflow | Governed vendor bill updates. |
netsuite_agent_api_journal_entry_proposals | NetSuite | Commitment workflow | Governed journal entry proposals. |
netsuite_agent_api_item_updates | NetSuite | Commitment workflow | Governed item master-data updates. |
netsuite_agent_api_customer_vendor_updates | NetSuite | Commitment workflow | Governed customer/vendor updates. |
netsuite_agent_api_inventory_adjustment_proposals | NetSuite | Commitment workflow | Governed inventory adjustment proposals. |
View 33 create_spec calls
netsuite_api_subsidiaries
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "subsidiary_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary name",
"name": "subsidiary_name",
"tests": [],
"type": "string"
},
{
"description": "Parent subsidiary id",
"name": "parent_subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Country",
"name": "country",
"tests": [],
"type": "string"
},
{
"description": "Base currency",
"name": "base_currency",
"tests": [],
"type": "string"
},
{
"description": "Inactive flag",
"name": "is_inactive",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Subsidiary observations for OneWorld entity scoping, consolidation, and accounting ownership.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API subsidiaries",
"spec_name": "netsuite_api_subsidiaries"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_accounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account number",
"name": "account_number",
"tests": [],
"type": "string"
},
{
"description": "Account name",
"name": "account_name",
"tests": [],
"type": "string"
},
{
"description": "Account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Parent account id",
"name": "parent_account_id",
"tests": [],
"type": "string"
},
{
"description": "Inactive flag",
"name": "is_inactive",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Chart of accounts observations for GL classification, posting, and reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API accounts",
"spec_name": "netsuite_api_accounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_departments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "department_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Department name",
"name": "department_name",
"tests": [],
"type": "string"
},
{
"description": "Parent department id",
"name": "parent_department_id",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Inactive flag",
"name": "is_inactive",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Department dimension observations for management reporting and transaction coding.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API departments",
"spec_name": "netsuite_api_departments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_classes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "class_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Class name",
"name": "class_name",
"tests": [],
"type": "string"
},
{
"description": "Parent class id",
"name": "parent_class_id",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Inactive flag",
"name": "is_inactive",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Class dimension observations for revenue, cost, and planning analysis.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API classes",
"spec_name": "netsuite_api_classes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_locations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "location_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location name",
"name": "location_name",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Inactive flag",
"name": "is_inactive",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Location dimension observations for inventory, fulfillment, and accounting transactions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API locations",
"spec_name": "netsuite_api_locations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_customers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer entity id",
"name": "entity_id",
"tests": [],
"type": "string"
},
{
"description": "Company name",
"name": "company_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Customer status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer observations for order-to-cash, billing, credit, and collections workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API customers",
"spec_name": "netsuite_api_customers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_vendors
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "vendor_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor entity id",
"name": "entity_id",
"tests": [],
"type": "string"
},
{
"description": "Company name",
"name": "company_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Vendor status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Vendor observations for procure-to-pay, approvals, and payment workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API vendors",
"spec_name": "netsuite_api_vendors"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_employees
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "employee_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Employee entity id",
"name": "entity_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Department id",
"name": "department_id",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Inactive flag",
"name": "is_inactive",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Employee observations for approvals, expense reports, and operational ownership.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API employees",
"spec_name": "netsuite_api_employees"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Item external id",
"name": "item_id_external",
"tests": [],
"type": "string"
},
{
"description": "Item name",
"name": "item_name",
"tests": [],
"type": "string"
},
{
"description": "Item type",
"name": "item_type",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Income account id",
"name": "income_account_id",
"tests": [],
"type": "string"
},
{
"description": "Expense account id",
"name": "expense_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Item master observations for sales, purchasing, inventory, and revenue/cost mapping.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API items",
"spec_name": "netsuite_api_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_inventory_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "inventory_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Item id",
"name": "item_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Quantity on hand",
"name": "quantity_on_hand",
"tests": [],
"type": "number"
},
{
"description": "Quantity available",
"name": "quantity_available",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Inventory item observations for stocking, costing, fulfillment, and purchasing workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API inventory items",
"spec_name": "netsuite_api_inventory_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_sales_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sales_order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Sales order status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Sales order observations for order-to-cash, fulfillment, and revenue operations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API sales orders",
"spec_name": "netsuite_api_sales_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_invoices
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "invoice_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Invoice status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Amount remaining",
"name": "amount_remaining",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Invoice observations for AR, revenue, and collections workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API invoices",
"spec_name": "netsuite_api_invoices"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_customer_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_payment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "payment_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer payment observations for AR application and cash reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API customer payments",
"spec_name": "netsuite_api_customer_payments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_credit_memos
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "credit_memo_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Remaining credit amount",
"name": "amount_remaining",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Credit memo observations for AR credits and customer balance adjustments.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API credit memos",
"spec_name": "netsuite_api_credit_memos"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_return_authorizations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "return_authorization_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Sales order id",
"name": "sales_order_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Return status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Return authorization observations for reverse logistics and customer credits.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API return authorizations",
"spec_name": "netsuite_api_return_authorizations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_vendor_bills
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "vendor_bill_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Vendor bill status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Amount remaining",
"name": "amount_remaining",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Vendor bill observations for AP, approvals, due dates, and payment planning.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API vendor bills",
"spec_name": "netsuite_api_vendor_bills"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_vendor_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "vendor_payment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "payment_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Vendor payment observations for AP settlement and cash reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API vendor payments",
"spec_name": "netsuite_api_vendor_payments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_vendor_credits
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "vendor_credit_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Remaining credit amount",
"name": "amount_remaining",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Vendor credit observations for AP netting and open-credit review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API vendor credits",
"spec_name": "netsuite_api_vendor_credits"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_purchase_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "purchase_order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Purchase order status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Purchase order observations for procurement, receiving, and AP intake.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API purchase orders",
"spec_name": "netsuite_api_purchase_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_item_receipts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "item_receipt_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Purchase order id",
"name": "purchase_order_id",
"tests": [],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Item receipt status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Item receipt observations for receiving, inventory, and three-way match workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API item receipts",
"spec_name": "netsuite_api_item_receipts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_item_fulfillments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "item_fulfillment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Sales order id",
"name": "sales_order_id",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Fulfillment status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Item fulfillment observations for outbound logistics and sales order fulfillment.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API item fulfillments",
"spec_name": "netsuite_api_item_fulfillments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_inventory_adjustments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "inventory_adjustment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Adjustment account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Estimated total value",
"name": "estimated_total_value",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Inventory adjustment observations for quantity, costing, shrinkage, and audit review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API inventory adjustments",
"spec_name": "netsuite_api_inventory_adjustments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_transfer_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "transfer_order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Source location id",
"name": "source_location_id",
"tests": [],
"type": "string"
},
{
"description": "Destination location id",
"name": "destination_location_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Transfer order status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Transfer order observations for movement between locations or subsidiaries.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API transfer orders",
"spec_name": "netsuite_api_transfer_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_deposits
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "deposit_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Deposit account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Deposit amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Deposit observations for bank deposits, cash application, and reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API deposits",
"spec_name": "netsuite_api_deposits"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_expense_reports
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "expense_report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Employee id",
"name": "employee_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Expense report status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Expense report observations for employee spend and approval workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API expense reports",
"spec_name": "netsuite_api_expense_reports"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_journal_entries
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "journal_entry_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Transaction id",
"name": "tran_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Total debit",
"name": "total_debit",
"tests": [],
"type": "number"
},
{
"description": "Total credit",
"name": "total_credit",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Journal entry observations for GL adjustments, integrations, and close workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API journal entries",
"spec_name": "netsuite_api_journal_entries"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_api_custom_records
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "custom_record_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Custom record type id",
"name": "record_type_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Record name",
"name": "record_name",
"tests": [],
"type": "string"
},
{
"description": "Owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Custom record observations for tenant-specific operational records exposed through NetSuite.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite API custom records",
"spec_name": "netsuite_api_custom_records"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_agent_api_sales_order_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "sales_order_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "sales_order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed total amount",
"name": "proposed_total_amount",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed sales order update proposals before outbound NetSuite sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite agent API sales order updates",
"spec_name": "netsuite_agent_api_sales_order_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_agent_api_vendor_bill_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "vendor_bill_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "vendor_bill_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Vendor id",
"name": "vendor_id",
"tests": [],
"type": "string"
},
{
"description": "Current amount remaining",
"name": "current_amount_remaining",
"tests": [],
"type": "number"
},
{
"description": "Proposed total amount",
"name": "proposed_total_amount",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed vendor bill update proposals before outbound NetSuite sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite agent API vendor bill updates",
"spec_name": "netsuite_agent_api_vendor_bill_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_agent_api_journal_entry_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "journal_entry_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "journal_entry_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Subsidiary id",
"name": "subsidiary_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction date",
"name": "transaction_date",
"tests": [],
"type": "string"
},
{
"description": "Total debit",
"name": "total_debit",
"tests": [],
"type": "number"
},
{
"description": "Total credit",
"name": "total_credit",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed journal entry proposals before outbound NetSuite sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite agent API journal entry proposals",
"spec_name": "netsuite_agent_api_journal_entry_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_agent_api_item_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "item_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "item_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed item master-data update proposals before outbound NetSuite sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite agent API item updates",
"spec_name": "netsuite_agent_api_item_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_agent_api_customer_vendor_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "counterparty_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "counterparty_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "customer or vendor",
"name": "counterparty_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed customer or vendor master-data update proposals before outbound NetSuite sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite agent API customer/vendor updates",
"spec_name": "netsuite_agent_api_customer_vendor_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
netsuite_agent_api_inventory_adjustment_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "inventory_adjustment_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "inventory_adjustment_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Item id",
"name": "item_id",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Current quantity",
"name": "current_quantity",
"tests": [],
"type": "number"
},
{
"description": "Proposed quantity",
"name": "proposed_quantity",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed inventory adjustment proposals before outbound NetSuite sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "NetSuite agent API inventory adjustment proposals",
"spec_name": "netsuite_agent_api_inventory_adjustment_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "netsuite_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_crm_library
crm operations collection v1.0.0 SalesforceSalesforce CRM specs for accounts, contacts, leads, opportunities, cases, campaigns, activities, products, quotes, orders, contracts, assets, custom objects, change events, and governed CRM updates.
- Direct systems
- Salesforce
- Coverage
- Extended
- Coverage notes
- Covers the core Sales Cloud and Service Cloud objects agents usually need for CRM memory and governed record changes. It does not mirror every Salesforce sObject, field-level customization, or managed-package object.
- Source docs
- Salesforce REST API Developer Guide; Salesforce Object Reference; Accessing Object Data with Salesforce Platform APIs
- Next objects
files_content_documents;knowledge_articles;queues_groups; territories; forecasts;opportunity_splits;custom_metadata;managed_package_objects- Omitted
- full field-level security metadata; setup/audit metadata; raw personal contact details; OAuth/token management; complete managed-package schemas
- Needs
- A Salesforce agent/operator role. The generated calls use
salesforce_agent. - Useful for
- CRM account memory; Pipeline and forecast review; Support case follow-up; Marketing campaign response review; Governed account/contact/opportunity/case changes
- Extend with
- Links from Shopify/Stripe/NetSuite/QuickBooks customer records into Salesforce accounts; Case-to-issue relationships with
ops_issuesor project management specs; Tenant-specific custom-object specs after discovery - Links
- Account update proposals cite the current account observation; Contact update proposals cite the current contact observation; Lead update proposals cite the current lead observation; Opportunity update proposals cite the current opportunity observation; Case update proposals cite the current case observation; Campaign member update proposals cite the current campaign member observation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
salesforce_api_accounts | Salesforce | Observation | Account and company observations. |
salesforce_api_contacts | Salesforce | Observation | Contact observations. |
salesforce_api_leads | Salesforce | Observation | Lead qualification observations. |
salesforce_api_opportunities | Salesforce | Observation | Pipeline opportunity observations. |
salesforce_api_opportunity_contact_roles | Salesforce | Observation | Buying committee role observations. |
salesforce_api_cases | Salesforce | Observation | Support case observations. |
salesforce_api_campaigns | Salesforce | Observation | Marketing campaign observations. |
salesforce_api_campaign_members | Salesforce | Observation | Campaign response observations. |
salesforce_api_tasks | Salesforce | Observation | Sales and service task observations. |
salesforce_api_events | Salesforce | Observation | Meeting and calendar activity observations. |
salesforce_api_products | Salesforce | Observation | Product catalog observations. |
salesforce_api_pricebook_entries | Salesforce | Observation | Pricebook pricing observations. |
salesforce_api_quotes | Salesforce | Observation | Quote observations. |
salesforce_api_quote_line_items | Salesforce | Observation | Quote line item observations. |
salesforce_api_orders | Salesforce | Observation | Sales order observations. |
salesforce_api_order_items | Salesforce | Observation | Order item observations. |
salesforce_api_contracts | Salesforce | Observation | Contract observations. |
salesforce_api_assets | Salesforce | Observation | Installed asset observations. |
salesforce_api_entitlements | Salesforce | Observation | Support entitlement observations. |
salesforce_api_users | Salesforce | Observation | User and owner-routing observations. |
salesforce_api_custom_objects | Salesforce | Observation | Tenant custom-object observations. |
salesforce_api_change_events | Salesforce | Observation | CRM change event observations. |
salesforce_agent_api_account_updates | Salesforce | Commitment workflow | Governed account updates. |
salesforce_agent_api_contact_lead_updates | Salesforce | Commitment workflow | Governed contact/lead updates. |
salesforce_agent_api_opportunity_updates | Salesforce | Commitment workflow | Governed opportunity updates. |
salesforce_agent_api_case_updates | Salesforce | Commitment workflow | Governed case updates. |
salesforce_agent_api_campaign_member_updates | Salesforce | Commitment workflow | Governed campaign member updates. |
View 27 create_spec calls
salesforce_api_accounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account name",
"name": "account_name",
"tests": [],
"type": "string"
},
{
"description": "Account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Industry",
"name": "industry",
"tests": [],
"type": "string"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Parent account id",
"name": "parent_account_id",
"tests": [],
"type": "string"
},
{
"description": "Annual revenue",
"name": "annual_revenue",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Account observations for companies, customers, partners, ownership, and territory review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API accounts",
"spec_name": "salesforce_api_accounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_contacts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "contact_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Job title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Lead source",
"name": "lead_source",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Contact observations for people associated with accounts, sales activity, and service follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API contacts",
"spec_name": "salesforce_api_contacts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_leads
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "lead_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Company name",
"name": "company",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Lead status",
"name": "lead_status",
"tests": [],
"type": "string"
},
{
"description": "Lead source",
"name": "lead_source",
"tests": [],
"type": "string"
},
{
"description": "Converted account id",
"name": "converted_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Lead observations for unconverted prospects, qualification state, source, and routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API leads",
"spec_name": "salesforce_api_leads"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_opportunities
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "opportunity_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Opportunity name",
"name": "opportunity_name",
"tests": [],
"type": "string"
},
{
"description": "Stage name",
"name": "stage_name",
"tests": [],
"type": "string"
},
{
"description": "Close date",
"name": "close_date",
"tests": [],
"type": "string"
},
{
"description": "Opportunity amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Probability percent",
"name": "probability",
"tests": [],
"type": "number"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Opportunity observations for pipeline, forecast, stage, close date, and account-level revenue work.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API opportunities",
"spec_name": "salesforce_api_opportunities"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_opportunity_contact_roles
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "opportunity_contact_role_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Opportunity id",
"name": "opportunity_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Contact id",
"name": "contact_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Contact role",
"name": "role",
"tests": [],
"type": "string"
},
{
"description": "Primary contact flag",
"name": "is_primary",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Opportunity contact role observations linking contacts to opportunities and buying committee roles.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API opportunity contact roles",
"spec_name": "salesforce_api_opportunity_contact_roles"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_cases
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "case_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Case number",
"name": "case_number",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Contact id",
"name": "contact_id",
"tests": [],
"type": "string"
},
{
"description": "Owner user or queue id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Case status",
"name": "case_status",
"tests": [],
"type": "string"
},
{
"description": "Case priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Case origin",
"name": "origin",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Case observations for customer issues, support queues, status, priority, and service ownership.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API cases",
"spec_name": "salesforce_api_cases"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Campaign type",
"name": "campaign_type",
"tests": [],
"type": "string"
},
{
"description": "Campaign status",
"name": "campaign_status",
"tests": [],
"type": "string"
},
{
"description": "Parent campaign id",
"name": "parent_campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Budgeted cost",
"name": "budgeted_cost",
"tests": [],
"type": "number"
},
{
"description": "Actual cost",
"name": "actual_cost",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign observations for marketing programs, campaign hierarchy, budget, status, and results.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API campaigns",
"spec_name": "salesforce_api_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_campaign_members
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_member_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Lead id",
"name": "lead_id",
"tests": [],
"type": "string"
},
{
"description": "Contact id",
"name": "contact_id",
"tests": [],
"type": "string"
},
{
"description": "Member status",
"name": "member_status",
"tests": [],
"type": "string"
},
{
"description": "Response flag",
"name": "has_responded",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign member observations linking leads or contacts to campaigns and response status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API campaign members",
"spec_name": "salesforce_api_campaign_members"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_tasks
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "task_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Lead or contact id",
"name": "who_id",
"tests": [],
"type": "string"
},
{
"description": "Related account, opportunity, case, or custom object id",
"name": "what_id",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "activity_date",
"tests": [],
"type": "string"
},
{
"description": "Task status",
"name": "task_status",
"tests": [],
"type": "string"
},
{
"description": "Task priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Task observations for sales and service activity, due dates, completion, and related records.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API tasks",
"spec_name": "salesforce_api_tasks"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Lead or contact id",
"name": "who_id",
"tests": [],
"type": "string"
},
{
"description": "Related record id",
"name": "what_id",
"tests": [],
"type": "string"
},
{
"description": "Start datetime",
"name": "start_datetime",
"tests": [],
"type": "string"
},
{
"description": "End datetime",
"name": "end_datetime",
"tests": [],
"type": "string"
},
{
"description": "Event subject",
"name": "event_subject",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Event observations for meetings and calendar activity linked to accounts, contacts, and opportunities.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API events",
"spec_name": "salesforce_api_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_products
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Product name",
"name": "product_name",
"tests": [],
"type": "string"
},
{
"description": "Product code",
"name": "product_code",
"tests": [],
"type": "string"
},
{
"description": "Product family",
"name": "family",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "is_active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product observations for product catalog, quoting, ordering, and revenue workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API products",
"spec_name": "salesforce_api_products"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_pricebook_entries
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "pricebook_entry_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Pricebook id",
"name": "pricebook_id",
"tests": [],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Unit price",
"name": "unit_price",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "is_active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Pricebook entry observations for product pricing by pricebook and currency.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API pricebook entries",
"spec_name": "salesforce_api_pricebook_entries"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_quotes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "quote_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Opportunity id",
"name": "opportunity_id",
"tests": [],
"type": "string"
},
{
"description": "Quote number",
"name": "quote_number",
"tests": [],
"type": "string"
},
{
"description": "Quote status",
"name": "quote_status",
"tests": [],
"type": "string"
},
{
"description": "Expiration date",
"name": "expiration_date",
"tests": [],
"type": "string"
},
{
"description": "Total price",
"name": "total_price",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Quote observations for sales proposals, quote status, totals, and opportunity linkage.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API quotes",
"spec_name": "salesforce_api_quotes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_quote_line_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "quote_line_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Quote id",
"name": "quote_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Quantity",
"name": "quantity",
"tests": [],
"type": "number"
},
{
"description": "Unit price",
"name": "unit_price",
"tests": [],
"type": "number"
},
{
"description": "Discount percent",
"name": "discount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Quote line item observations for products, quantities, pricing, and discount review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API quote line items",
"spec_name": "salesforce_api_quote_line_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Contract id",
"name": "contract_id",
"tests": [],
"type": "string"
},
{
"description": "Order number",
"name": "order_number",
"tests": [],
"type": "string"
},
{
"description": "Effective date",
"name": "effective_date",
"tests": [],
"type": "string"
},
{
"description": "Order status",
"name": "order_status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order observations for accepted sales work, account linkage, effective date, and status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API orders",
"spec_name": "salesforce_api_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_order_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "order_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Quantity",
"name": "quantity",
"tests": [],
"type": "number"
},
{
"description": "Unit price",
"name": "unit_price",
"tests": [],
"type": "number"
},
{
"description": "Total price",
"name": "total_price",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order item observations for product-level order quantities and prices.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API order items",
"spec_name": "salesforce_api_order_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_contracts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "contract_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Contract number",
"name": "contract_number",
"tests": [],
"type": "string"
},
{
"description": "Contract status",
"name": "contract_status",
"tests": [],
"type": "string"
},
{
"description": "Start date",
"name": "start_date",
"tests": [],
"type": "string"
},
{
"description": "End date",
"name": "end_date",
"tests": [],
"type": "string"
},
{
"description": "Contract term",
"name": "contract_term",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Contract observations for agreement status, term, account linkage, and renewal workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API contracts",
"spec_name": "salesforce_api_contracts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_assets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "asset_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Contact id",
"name": "contact_id",
"tests": [],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized serial number",
"name": "serial_number_hash",
"tests": [],
"type": "string"
},
{
"description": "Install date",
"name": "install_date",
"tests": [],
"type": "string"
},
{
"description": "Asset status",
"name": "asset_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Asset observations for installed products, customer ownership, and renewal/service context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API assets",
"spec_name": "salesforce_api_assets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_entitlements
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "entitlement_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Asset id",
"name": "asset_id",
"tests": [],
"type": "string"
},
{
"description": "Entitlement name",
"name": "entitlement_name",
"tests": [],
"type": "string"
},
{
"description": "Start date",
"name": "start_date",
"tests": [],
"type": "string"
},
{
"description": "End date",
"name": "end_date",
"tests": [],
"type": "string"
},
{
"description": "Entitlement status",
"name": "entitlement_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Entitlement observations for support coverage, service terms, and account-level support rules.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API entitlements",
"spec_name": "salesforce_api_entitlements"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_users
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "user_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized username",
"name": "username_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [],
"type": "string"
},
{
"description": "User role id",
"name": "user_role_id",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "is_active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "User observations for ownership, assignment, queues, and workflow routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API users",
"spec_name": "salesforce_api_users"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_custom_objects
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "custom_object_record_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Custom object API name",
"name": "object_api_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Record name",
"name": "record_name",
"tests": [],
"type": "string"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Related account id",
"name": "account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Custom object observations for tenant-specific CRM records exposed through Salesforce.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API custom objects",
"spec_name": "salesforce_api_custom_objects"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_api_change_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "change_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Entity API name",
"name": "entity_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Changed record id",
"name": "record_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Create, update, delete, or undelete",
"name": "change_type",
"tests": [],
"type": "string"
},
{
"description": "Commit timestamp",
"name": "commit_timestamp",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Change event observations for replay, sync status, and changed CRM records.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce API change events",
"spec_name": "salesforce_api_change_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_agent_api_account_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "account_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed account update proposals before outbound Salesforce sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce agent API account updates",
"spec_name": "salesforce_agent_api_account_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_agent_api_contact_lead_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "person_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "person_record_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "contact or lead",
"name": "person_record_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed contact or lead update proposals before outbound Salesforce sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce agent API contact/lead updates",
"spec_name": "salesforce_agent_api_contact_lead_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_agent_api_opportunity_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "opportunity_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "opportunity_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current stage",
"name": "current_stage_name",
"tests": [],
"type": "string"
},
{
"description": "Proposed stage",
"name": "proposed_stage_name",
"tests": [],
"type": "string"
},
{
"description": "Current amount",
"name": "current_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed amount",
"name": "proposed_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed close date",
"name": "proposed_close_date",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed opportunity update proposals before outbound Salesforce sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce agent API opportunity updates",
"spec_name": "salesforce_agent_api_opportunity_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_agent_api_case_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "case_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "case_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Current owner id",
"name": "current_owner_id",
"tests": [],
"type": "string"
},
{
"description": "Proposed owner id",
"name": "proposed_owner_id",
"tests": [],
"type": "string"
},
{
"description": "Proposed priority",
"name": "proposed_priority",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed case update proposals before outbound Salesforce sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce agent API case updates",
"spec_name": "salesforce_agent_api_case_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
salesforce_agent_api_campaign_member_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "campaign_member_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_member_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Current member status",
"name": "current_member_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed member status",
"name": "proposed_member_status",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed campaign member update proposals before outbound Salesforce sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Salesforce agent API campaign member updates",
"spec_name": "salesforce_agent_api_campaign_member_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "salesforce_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_crm_library
crm operations collection v1.0.0 HubSpotHubSpot CRM specs for contacts, companies, deals, tickets, leads, products, line items, quotes, pipelines, owners, associations, lists, forms, activities, custom objects, properties, webhook events, and governed CRM updates.
- Direct systems
- HubSpot
- Coverage
- Extended
- Coverage notes
- Covers the core HubSpot CRM objects and activity records agents usually need for go-to-market memory. It does not mirror every marketing asset, CMS object, report, or account-specific property.
- Next objects
deals_splits; orders; invoices; payments;feedback_submissions; conversations; playbooks; workflows;marketing_email_assets- Omitted
- raw contact personal details; OAuth/token management; CMS pages and themes; full reporting exports; all account-specific properties
- Needs
- A HubSpot agent/operator role. The generated calls use
hubspot_agent. - Useful for
- SMB CRM memory; Deal pipeline review; Support ticket follow-up; Marketing conversion review; Governed contact/company/deal/ticket changes
- Extend with
- Links from Shopify/Stripe/Square customer records into HubSpot contacts or companies; Deal-to-accounting handoff relationships with QuickBooks or NetSuite; Ticket-to-issue relationships with
ops_issuesor project management specs - Links
- Company update proposals cite the current company observation; Contact update proposals cite the current contact observation; Deal update proposals cite the current deal observation; Ticket update proposals cite the current ticket observation; Association update proposals cite the current association observation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
hubspot_api_contacts | HubSpot | Observation | Contact observations. |
hubspot_api_companies | HubSpot | Observation | Company observations. |
hubspot_api_deals | HubSpot | Observation | Deal pipeline observations. |
hubspot_api_tickets | HubSpot | Observation | Support ticket observations. |
hubspot_api_leads | HubSpot | Observation | Lead observations. |
hubspot_api_products | HubSpot | Observation | Product catalog observations. |
hubspot_api_line_items | HubSpot | Observation | Line item observations. |
hubspot_api_quotes | HubSpot | Observation | Quote observations. |
hubspot_api_pipelines | HubSpot | Observation | Pipeline and stage observations. |
hubspot_api_owners | HubSpot | Observation | Owner and assignment observations. |
hubspot_api_associations | HubSpot | Observation | CRM association observations. |
hubspot_api_lists | HubSpot | Observation | List membership observations. |
hubspot_api_marketing_events | HubSpot | Observation | Marketing event observations. |
hubspot_api_forms | HubSpot | Observation | Form definition observations. |
hubspot_api_form_submissions | HubSpot | Observation | Form submission observations. |
hubspot_api_calls | HubSpot | Observation | Call engagement observations. |
hubspot_api_emails | HubSpot | Observation | Email engagement observations. |
hubspot_api_meetings | HubSpot | Observation | Meeting engagement observations. |
hubspot_api_notes | HubSpot | Observation | Note engagement observations. |
hubspot_api_tasks | HubSpot | Observation | Task engagement observations. |
hubspot_api_custom_objects | HubSpot | Observation | Tenant custom-object observations. |
hubspot_api_property_definitions | HubSpot | Observation | Property schema observations. |
hubspot_api_webhook_events | HubSpot | Observation | Webhook event observations. |
hubspot_agent_api_company_updates | HubSpot | Commitment workflow | Governed company updates. |
hubspot_agent_api_contact_updates | HubSpot | Commitment workflow | Governed contact updates. |
hubspot_agent_api_deal_updates | HubSpot | Commitment workflow | Governed deal updates. |
hubspot_agent_api_ticket_updates | HubSpot | Commitment workflow | Governed ticket updates. |
hubspot_agent_api_association_updates | HubSpot | Commitment workflow | Governed association updates. |
View 28 create_spec calls
hubspot_api_contacts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "contact_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Primary company id",
"name": "company_id",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Lifecycle stage",
"name": "lifecycle_stage",
"tests": [],
"type": "string"
},
{
"description": "Lead status",
"name": "lead_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Contact observations for people, lifecycle stage, ownership, and go-to-market follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API contacts",
"spec_name": "hubspot_api_contacts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_companies
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "company_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Company name",
"name": "company_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized domain reference",
"name": "domain_hash",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Industry",
"name": "industry",
"tests": [],
"type": "string"
},
{
"description": "Lifecycle stage",
"name": "lifecycle_stage",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Company observations for accounts, domains, ownership, lifecycle stage, and firmographic review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API companies",
"spec_name": "hubspot_api_companies"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_deals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "deal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Deal name",
"name": "deal_name",
"tests": [],
"type": "string"
},
{
"description": "Pipeline id",
"name": "pipeline_id",
"tests": [],
"type": "string"
},
{
"description": "Deal stage",
"name": "deal_stage",
"tests": [],
"type": "string"
},
{
"description": "Deal amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Close date",
"name": "close_date",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Deal observations for pipeline, stage, amount, close date, and associated revenue workflows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API deals",
"spec_name": "hubspot_api_deals"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_tickets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ticket_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Ticket subject",
"name": "subject",
"tests": [],
"type": "string"
},
{
"description": "Pipeline id",
"name": "pipeline_id",
"tests": [],
"type": "string"
},
{
"description": "Ticket stage",
"name": "ticket_stage",
"tests": [],
"type": "string"
},
{
"description": "Priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Ticket observations for support issues, pipeline stage, priority, and owner routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API tickets",
"spec_name": "hubspot_api_tickets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_leads
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "lead_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Lead name",
"name": "lead_name",
"tests": [],
"type": "string"
},
{
"description": "Associated contact id",
"name": "associated_contact_id",
"tests": [],
"type": "string"
},
{
"description": "Associated company id",
"name": "associated_company_id",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Lead status",
"name": "lead_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Lead observations for prospect qualification, associated contacts, and associated companies.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API leads",
"spec_name": "hubspot_api_leads"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_products
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Product name",
"name": "product_name",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Product price",
"name": "price",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Folder id",
"name": "folder_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product observations for HubSpot product catalog and line-item creation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API products",
"spec_name": "hubspot_api_products"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_line_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "line_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Deal id",
"name": "deal_id",
"tests": [],
"type": "string"
},
{
"description": "Quote id",
"name": "quote_id",
"tests": [],
"type": "string"
},
{
"description": "Quantity",
"name": "quantity",
"tests": [],
"type": "number"
},
{
"description": "Unit price",
"name": "price",
"tests": [],
"type": "number"
},
{
"description": "Line amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Line item observations for products, quantities, prices, and deal or quote totals.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API line items",
"spec_name": "hubspot_api_line_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_quotes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "quote_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Deal id",
"name": "deal_id",
"tests": [],
"type": "string"
},
{
"description": "Quote title",
"name": "quote_title",
"tests": [],
"type": "string"
},
{
"description": "Quote status",
"name": "quote_status",
"tests": [],
"type": "string"
},
{
"description": "Expiration date",
"name": "expiration_date",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Quote observations for deal-linked sales proposals, status, expiration, and totals.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API quotes",
"spec_name": "hubspot_api_quotes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_pipelines
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "pipeline_snapshot_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Object type such as deals or tickets",
"name": "object_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Pipeline id",
"name": "pipeline_id",
"tests": [],
"type": "string"
},
{
"description": "Pipeline label",
"name": "pipeline_label",
"tests": [],
"type": "string"
},
{
"description": "Stage count",
"name": "stage_count",
"tests": [],
"type": "integer"
},
{
"description": "Archived flag",
"name": "archived",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Pipeline observations for deal and ticket stages, display order, and lifecycle structure.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API pipelines",
"spec_name": "hubspot_api_pipelines"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_owners
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "owner_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "HubSpot user id",
"name": "user_id",
"tests": [],
"type": "string"
},
{
"description": "Primary team id",
"name": "team_id",
"tests": [],
"type": "string"
},
{
"description": "Archived flag",
"name": "archived",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Owner observations for assignment, routing, and team ownership.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API owners",
"spec_name": "hubspot_api_owners"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_associations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "association_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "From object type",
"name": "from_object_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "From object id",
"name": "from_object_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "To object type",
"name": "to_object_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "To object id",
"name": "to_object_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Association label",
"name": "association_label",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Association observations linking contacts, companies, deals, tickets, activities, and custom objects.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API associations",
"spec_name": "hubspot_api_associations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_lists
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "list_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "List name",
"name": "list_name",
"tests": [],
"type": "string"
},
{
"description": "Object type",
"name": "object_type",
"tests": [],
"type": "string"
},
{
"description": "Processing type",
"name": "processing_type",
"tests": [],
"type": "string"
},
{
"description": "Member count",
"name": "member_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "List observations for segmented contacts or companies used in marketing, sales, and operations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API lists",
"spec_name": "hubspot_api_lists"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_marketing_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "marketing_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Event name",
"name": "event_name",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Start datetime",
"name": "start_datetime",
"tests": [],
"type": "string"
},
{
"description": "End datetime",
"name": "end_datetime",
"tests": [],
"type": "string"
},
{
"description": "Registrant count",
"name": "registrant_count",
"tests": [],
"type": "integer"
},
{
"description": "Attendee count",
"name": "attendee_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Marketing event observations for webinars, trade shows, attendance, and campaign follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API marketing events",
"spec_name": "hubspot_api_marketing_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_forms
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "form_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Form name",
"name": "form_name",
"tests": [],
"type": "string"
},
{
"description": "Form type",
"name": "form_type",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Submission count",
"name": "submission_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Form observations for lead capture, conversion paths, and field/schema review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API forms",
"spec_name": "hubspot_api_forms"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_form_submissions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "form_submission_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Form id",
"name": "form_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Contact id",
"name": "contact_id",
"tests": [],
"type": "string"
},
{
"description": "Submitted timestamp",
"name": "submitted_at",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized page URL",
"name": "page_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Form submission observations for lead capture, source evidence, and conversion review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API form submissions",
"spec_name": "hubspot_api_form_submissions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_calls
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "call_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Call status",
"name": "call_status",
"tests": [],
"type": "string"
},
{
"description": "Call outcome",
"name": "call_outcome",
"tests": [],
"type": "string"
},
{
"description": "Activity date",
"name": "activity_date",
"tests": [],
"type": "string"
},
{
"description": "Associated record id",
"name": "associated_object_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Call engagement observations for sales and support activity, outcomes, and associations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API calls",
"spec_name": "hubspot_api_calls"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_emails
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "email_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Inbound or outbound",
"name": "email_direction",
"tests": [],
"type": "string"
},
{
"description": "Email status",
"name": "email_status",
"tests": [],
"type": "string"
},
{
"description": "Activity date",
"name": "activity_date",
"tests": [],
"type": "string"
},
{
"description": "Associated record id",
"name": "associated_object_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Email engagement observations for customer communication history and follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API emails",
"spec_name": "hubspot_api_emails"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_meetings
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "meeting_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Meeting title",
"name": "meeting_title",
"tests": [],
"type": "string"
},
{
"description": "Start datetime",
"name": "start_datetime",
"tests": [],
"type": "string"
},
{
"description": "End datetime",
"name": "end_datetime",
"tests": [],
"type": "string"
},
{
"description": "Meeting outcome",
"name": "outcome",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Meeting engagement observations for scheduled or logged meetings and associations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API meetings",
"spec_name": "hubspot_api_meetings"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_notes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "note_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Activity date",
"name": "activity_date",
"tests": [],
"type": "string"
},
{
"description": "Associated record id",
"name": "associated_object_id",
"tests": [],
"type": "string"
},
{
"description": "Short note summary",
"name": "note_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Note engagement observations for CRM context, handoff notes, and agent review evidence.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API notes",
"spec_name": "hubspot_api_notes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_tasks
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "task_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Task subject",
"name": "task_subject",
"tests": [],
"type": "string"
},
{
"description": "Task status",
"name": "task_status",
"tests": [],
"type": "string"
},
{
"description": "Priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Associated record id",
"name": "associated_object_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Task engagement observations for follow-up work, completion, priority, and owner routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API tasks",
"spec_name": "hubspot_api_tasks"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_custom_objects
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "custom_object_record_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Object type id",
"name": "object_type_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Record name",
"name": "record_name",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Primary associated object id",
"name": "primary_association_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Custom object observations for account-specific HubSpot records and modeled business entities.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API custom objects",
"spec_name": "hubspot_api_custom_objects"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_property_definitions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "property_definition_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Object type",
"name": "object_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Property name",
"name": "property_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field type",
"name": "field_type",
"tests": [],
"type": "string"
},
{
"description": "Property type",
"name": "property_type",
"tests": [],
"type": "string"
},
{
"description": "Calculated property flag",
"name": "is_calculated",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Property definition observations for object schema discovery and field promotion decisions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API property definitions",
"spec_name": "hubspot_api_property_definitions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_api_webhook_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "webhook_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Subscription type",
"name": "subscription_type",
"tests": [],
"type": "string"
},
{
"description": "Object id",
"name": "object_id",
"tests": [],
"type": "string"
},
{
"description": "Object type",
"name": "object_type",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Webhook event observations for CRM sync replay, dedupe, and downstream refresh decisions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot API webhook events",
"spec_name": "hubspot_api_webhook_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_agent_api_company_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "company_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "company_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed company update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot agent API company updates",
"spec_name": "hubspot_agent_api_company_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_agent_api_contact_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "contact_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "contact_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed contact update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot agent API contact updates",
"spec_name": "hubspot_agent_api_contact_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_agent_api_deal_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "deal_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "deal_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current deal stage",
"name": "current_stage",
"tests": [],
"type": "string"
},
{
"description": "Proposed deal stage",
"name": "proposed_stage",
"tests": [],
"type": "string"
},
{
"description": "Current amount",
"name": "current_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed amount",
"name": "proposed_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed close date",
"name": "proposed_close_date",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed deal update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot agent API deal updates",
"spec_name": "hubspot_agent_api_deal_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_agent_api_ticket_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "ticket_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "ticket_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current ticket stage",
"name": "current_stage",
"tests": [],
"type": "string"
},
{
"description": "Proposed ticket stage",
"name": "proposed_stage",
"tests": [],
"type": "string"
},
{
"description": "Current owner id",
"name": "current_owner_id",
"tests": [],
"type": "string"
},
{
"description": "Proposed owner id",
"name": "proposed_owner_id",
"tests": [],
"type": "string"
},
{
"description": "Proposed priority",
"name": "proposed_priority",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed ticket update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot agent API ticket updates",
"spec_name": "hubspot_agent_api_ticket_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_agent_api_association_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "association_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "association_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "From object type",
"name": "from_object_type",
"tests": [],
"type": "string"
},
{
"description": "From object id",
"name": "from_object_id",
"tests": [],
"type": "string"
},
{
"description": "To object type",
"name": "to_object_type",
"tests": [],
"type": "string"
},
{
"description": "To object id",
"name": "to_object_id",
"tests": [],
"type": "string"
},
{
"description": "Proposed association label",
"name": "proposed_label",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed association create/update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot agent API association updates",
"spec_name": "hubspot_agent_api_association_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_project_management_library
project management operations collection v1.0.0 JiraJira project management specs for projects, issues, fields, issue types, statuses, workflows, comments, attachments, worklogs, links, versions, components, users, boards, sprints, epics, webhook events, and governed issue updates.
- Direct systems
- Jira
- Coverage
- Core
- Coverage notes
- Covers common Jira Cloud and Jira Software records for issue tracking and agile planning. It does not mirror every Jira admin object, permission scheme, screen scheme, automation rule, or Marketplace app extension.
- Next objects
- filters; dashboards;
permission_schemes; screens;automation_rules;service_management_requests; assets; deployments;development_information - Omitted
- OAuth/token management; raw user emails; complete admin permission metadata; Marketplace app-specific fields; legacy Server/Data Center-only endpoints
- Needs
- A Jira agent/operator role. The generated calls use
jira_agent. - Useful for
- Issue tracking memory; Agent-raised work items; Project delivery reporting; Sprint and release planning; Governed issue creation, transition, and comment updates
- Extend with
- Links from
ops_issuesinto Jira issue creation proposals; Links from Salesforce/HubSpot tickets into Jira issues; Links from commits/deployments into issue observations when development data is available - Links
- Issue creation proposals cite the target project observation; Issue update proposals cite the current issue observation; Issue transition proposals cite the current issue observation; Issue transition proposals can cite workflow observations for allowed status movement; Comment proposals cite the issue they are intended to update
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
jira_api_projects | Jira | Observation | Project observations. |
jira_api_issues | Jira | Observation | Issue/work item observations. |
jira_api_issue_fields | Jira | Observation | Issue field schema observations. |
jira_api_issue_types | Jira | Observation | Issue type observations. |
jira_api_statuses | Jira | Observation | Status observations. |
jira_api_workflows | Jira | Observation | Workflow observations. |
jira_api_issue_comments | Jira | Observation | Issue comment observations. |
jira_api_issue_attachments | Jira | Observation | Issue attachment observations. |
jira_api_issue_worklogs | Jira | Observation | Issue worklog observations. |
jira_api_issue_links | Jira | Observation | Issue relationship observations. |
jira_api_versions | Jira | Observation | Version and release observations. |
jira_api_components | Jira | Observation | Component observations. |
jira_api_users | Jira | Observation | User and assignment observations. |
jira_software_api_boards | Jira | Observation | Board observations. |
jira_software_api_sprints | Jira | Observation | Sprint observations. |
jira_software_api_epics | Jira | Observation | Epic observations. |
jira_api_webhook_events | Jira | Observation | Jira webhook event observations. |
jira_agent_api_issue_create_proposals | Jira | Commitment workflow | Governed issue creation proposals. |
jira_agent_api_issue_updates | Jira | Commitment workflow | Governed issue updates. |
jira_agent_api_issue_transitions | Jira | Commitment workflow | Governed issue transitions. |
jira_agent_api_comment_updates | Jira | Commitment workflow | Governed comment updates. |
View 21 create_spec calls
jira_api_projects
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "project_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Project key",
"name": "project_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Project name",
"name": "project_name",
"tests": [],
"type": "string"
},
{
"description": "Project type key",
"name": "project_type_key",
"tests": [],
"type": "string"
},
{
"description": "Project lead account id",
"name": "lead_account_id",
"tests": [],
"type": "string"
},
{
"description": "Archived flag",
"name": "archived",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Project observations for keys, names, project types, leads, and issue organization.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API projects",
"spec_name": "jira_api_projects"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Issue key",
"name": "issue_key",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Project key",
"name": "project_key",
"tests": [],
"type": "string"
},
{
"description": "Issue type",
"name": "issue_type",
"tests": [],
"type": "string"
},
{
"description": "Issue summary",
"name": "summary",
"tests": [],
"type": "string"
},
{
"description": "Issue status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Assignee account id",
"name": "assignee_account_id",
"tests": [],
"type": "string"
},
{
"description": "Reporter account id",
"name": "reporter_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue observations for work items, bugs, tasks, stories, status, priority, assignee, reporter, and project context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API issues",
"spec_name": "jira_api_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_issue_fields
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "issue_field_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Field id",
"name": "field_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Field type",
"name": "field_type",
"tests": [],
"type": "string"
},
{
"description": "Schema type",
"name": "schema_type",
"tests": [],
"type": "string"
},
{
"description": "Custom field flag",
"name": "custom",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue field observations for tenant-specific field configuration and custom field discovery.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API issue fields",
"spec_name": "jira_api_issue_fields"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_issue_types
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "issue_type_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Issue type name",
"name": "issue_type_name",
"tests": [],
"type": "string"
},
{
"description": "Issue type description",
"name": "description",
"tests": [],
"type": "string"
},
{
"description": "Subtask flag",
"name": "subtask",
"tests": [],
"type": "boolean"
},
{
"description": "Hierarchy level",
"name": "hierarchy_level",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue type observations for bugs, tasks, stories, epics, subtasks, and custom work types.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API issue types",
"spec_name": "jira_api_issue_types"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_statuses
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "status_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Status name",
"name": "status_name",
"tests": [],
"type": "string"
},
{
"description": "Status category",
"name": "status_category",
"tests": [],
"type": "string"
},
{
"description": "Status description",
"name": "description",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Status observations for workflow states and status categories.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API statuses",
"spec_name": "jira_api_statuses"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_workflows
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "workflow_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Workflow name",
"name": "workflow_name",
"tests": [],
"type": "string"
},
{
"description": "Workflow description",
"name": "description",
"tests": [],
"type": "string"
},
{
"description": "Status count",
"name": "status_count",
"tests": [],
"type": "integer"
},
{
"description": "Transition count",
"name": "transition_count",
"tests": [],
"type": "integer"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Workflow observations for transition structure, statuses, and project/issue-type governance.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API workflows",
"spec_name": "jira_api_workflows"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_issue_comments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "comment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Issue key",
"name": "issue_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Author account id",
"name": "author_account_id",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Updated timestamp",
"name": "updated_at",
"tests": [],
"type": "string"
},
{
"description": "Short comment summary",
"name": "body_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue comment observations for discussion history, review evidence, and support handoff.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API issue comments",
"spec_name": "jira_api_issue_comments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_issue_attachments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "attachment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Issue key",
"name": "issue_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Filename",
"name": "filename",
"tests": [],
"type": "string"
},
{
"description": "Content type",
"name": "content_type",
"tests": [],
"type": "string"
},
{
"description": "File size in bytes",
"name": "size_bytes",
"tests": [],
"type": "integer"
},
{
"description": "Author account id",
"name": "author_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue attachment observations for files linked to work items and evidence review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API issue attachments",
"spec_name": "jira_api_issue_attachments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_issue_worklogs
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "worklog_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Issue key",
"name": "issue_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Author account id",
"name": "author_account_id",
"tests": [],
"type": "string"
},
{
"description": "Work started timestamp",
"name": "started_at",
"tests": [],
"type": "string"
},
{
"description": "Time spent in seconds",
"name": "time_spent_seconds",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Worklog observations for time spent on issues and project delivery reporting.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API issue worklogs",
"spec_name": "jira_api_issue_worklogs"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_issue_links
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "issue_link_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Source issue key",
"name": "source_issue_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Target issue key",
"name": "target_issue_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Link type",
"name": "link_type",
"tests": [],
"type": "string"
},
{
"description": "Link direction",
"name": "direction",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue link observations for blockers, duplicates, parent/child context, and related work.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API issue links",
"spec_name": "jira_api_issue_links"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_versions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "version_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Project key",
"name": "project_key",
"tests": [],
"type": "string"
},
{
"description": "Version name",
"name": "version_name",
"tests": [],
"type": "string"
},
{
"description": "Released flag",
"name": "released",
"tests": [],
"type": "boolean"
},
{
"description": "Release date",
"name": "release_date",
"tests": [],
"type": "string"
},
{
"description": "Archived flag",
"name": "archived",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Project version observations for releases, fix versions, and release planning.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API versions",
"spec_name": "jira_api_versions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_components
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "component_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Project key",
"name": "project_key",
"tests": [],
"type": "string"
},
{
"description": "Component name",
"name": "component_name",
"tests": [],
"type": "string"
},
{
"description": "Component lead account id",
"name": "lead_account_id",
"tests": [],
"type": "string"
},
{
"description": "Assignee type",
"name": "assignee_type",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Project component observations for ownership, subsystem routing, and issue classification.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API components",
"spec_name": "jira_api_components"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_users
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized display name",
"name": "display_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "User observations for assignment, reporting, ownership, and audit context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API users",
"spec_name": "jira_api_users"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_software_api_boards
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "board_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Board name",
"name": "board_name",
"tests": [],
"type": "string"
},
{
"description": "Board type",
"name": "board_type",
"tests": [],
"type": "string"
},
{
"description": "Project key",
"name": "project_key",
"tests": [],
"type": "string"
},
{
"description": "Board filter id",
"name": "filter_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Board observations for Scrum/Kanban planning, project filters, and work visibility.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira Software API boards",
"spec_name": "jira_software_api_boards"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_software_api_sprints
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sprint_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Board id",
"name": "board_id",
"tests": [],
"type": "string"
},
{
"description": "Sprint name",
"name": "sprint_name",
"tests": [],
"type": "string"
},
{
"description": "Sprint state",
"name": "sprint_state",
"tests": [],
"type": "string"
},
{
"description": "Start date",
"name": "start_date",
"tests": [],
"type": "string"
},
{
"description": "End date",
"name": "end_date",
"tests": [],
"type": "string"
},
{
"description": "Sprint goal",
"name": "goal",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Sprint observations for agile iteration planning, state, goal, and board context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira Software API sprints",
"spec_name": "jira_software_api_sprints"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_software_api_epics
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "epic_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Epic issue key",
"name": "epic_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Project key",
"name": "project_key",
"tests": [],
"type": "string"
},
{
"description": "Epic name",
"name": "epic_name",
"tests": [],
"type": "string"
},
{
"description": "Epic status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Owner account id",
"name": "owner_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Epic observations for larger bodies of work and issue grouping.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira Software API epics",
"spec_name": "jira_software_api_epics"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_api_webhook_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "webhook_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Issue key",
"name": "issue_key",
"tests": [],
"type": "string"
},
{
"description": "Project key",
"name": "project_key",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Actor account id",
"name": "actor_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Webhook event observations for issue/project change replay and downstream refresh decisions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira API webhook events",
"spec_name": "jira_api_webhook_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_agent_api_issue_create_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "issue_create_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "project_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Project key",
"name": "project_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Issue type",
"name": "issue_type",
"tests": [],
"type": "string"
},
{
"description": "Issue summary",
"name": "summary",
"tests": [],
"type": "string"
},
{
"description": "Proposed priority",
"name": "proposed_priority",
"tests": [],
"type": "string"
},
{
"description": "Proposed assignee account id",
"name": "proposed_assignee_account_id",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed issue creation proposals before outbound Jira sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira agent API issue create proposals",
"spec_name": "jira_agent_api_issue_create_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_agent_api_issue_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "issue_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "issue_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Issue key",
"name": "issue_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed issue update proposals before outbound Jira sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira agent API issue updates",
"spec_name": "jira_agent_api_issue_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_agent_api_issue_transitions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "issue_transition_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "issue_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Issue key",
"name": "issue_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Jira transition id",
"name": "transition_id",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed issue transition proposals before outbound Jira sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira agent API issue transitions",
"spec_name": "jira_agent_api_issue_transitions",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
jira_agent_api_comment_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "comment_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "issue_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Issue key",
"name": "issue_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Comment summary",
"name": "comment_summary",
"tests": [],
"type": "string"
},
{
"description": "Visibility scope",
"name": "visibility_scope",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed comment creation/update proposals before outbound Jira sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Jira agent API comment updates",
"spec_name": "jira_agent_api_comment_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "jira_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_project_management_library
project management operations collection v1.0.0 LinearLinear project management specs for organizations, teams, users, workflow states, issues, comments, attachments, labels, projects, project updates, milestones, cycles, initiatives, documents, customers, customer requests, webhook events, and governed work updates.
- Direct systems
- Linear
- Coverage
- Core
- Coverage notes
- Covers the core Linear GraphQL objects agents usually need for product and engineering work memory. It does not mirror the full GraphQL schema, every admin setting, or every integration-specific payload.
- Source docs
- Linear developers; Linear GraphQL API; Linear webhooks
- Next objects
- roadmaps; views; integrations;
triage_responsibilities; relations; reactions;sla_statuses;github_pull_requests - Omitted
- OAuth/token management; raw user emails; complete admin settings; full GraphQL schema introspection output; integration-specific private payloads
- Needs
- A Linear agent/operator role. The generated calls use
linear_agent. - Useful for
- Product and engineering work memory; Agent-raised issues; Project and cycle reporting; Customer-request follow-up; Governed issue/project/comment updates
- Extend with
- Links from
ops_issuesinto Linear issue creation proposals; Links from Salesforce/HubSpot tickets into Linear issues; Links from GitHub pull requests into Linear issue observations - Links
- Issue creation proposals cite the target team observation; Issue update proposals cite the current issue observation; Project update proposals cite the current project observation; Comment proposals cite the issue they are intended to update
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
linear_api_organizations | Linear | Observation | Workspace organization observations. |
linear_api_teams | Linear | Observation | Team observations. |
linear_api_users | Linear | Observation | User and assignment observations. |
linear_api_workflow_states | Linear | Observation | Workflow state observations. |
linear_api_issues | Linear | Observation | Issue observations. |
linear_api_issue_comments | Linear | Observation | Issue comment observations. |
linear_api_issue_attachments | Linear | Observation | Issue attachment observations. |
linear_api_issue_labels | Linear | Observation | Issue label observations. |
linear_api_projects | Linear | Observation | Project observations. |
linear_api_project_updates | Linear | Observation | Project update observations. |
linear_api_milestones | Linear | Observation | Milestone observations. |
linear_api_cycles | Linear | Observation | Cycle observations. |
linear_api_initiatives | Linear | Observation | Initiative observations. |
linear_api_documents | Linear | Observation | Document observations. |
linear_api_customers | Linear | Observation | Customer observations. |
linear_api_customer_requests | Linear | Observation | Customer request observations. |
linear_api_webhook_events | Linear | Observation | Linear webhook event observations. |
linear_agent_api_issue_create_proposals | Linear | Commitment workflow | Governed issue creation proposals. |
linear_agent_api_issue_updates | Linear | Commitment workflow | Governed issue updates. |
linear_agent_api_project_updates | Linear | Commitment workflow | Governed project updates. |
linear_agent_api_comment_updates | Linear | Commitment workflow | Governed comment updates. |
View 21 create_spec calls
linear_api_organizations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "organization_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Organization name",
"name": "organization_name",
"tests": [],
"type": "string"
},
{
"description": "Workspace URL key",
"name": "url_key",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Organization observations for workspace identity, URL keys, and global settings.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API organizations",
"spec_name": "linear_api_organizations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_teams
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "team_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Team name",
"name": "team_name",
"tests": [],
"type": "string"
},
{
"description": "Team key",
"name": "team_key",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Team description",
"name": "description",
"tests": [],
"type": "string"
},
{
"description": "Cycle enabled flag",
"name": "cycle_enabled",
"tests": [],
"type": "boolean"
},
{
"description": "Private team flag",
"name": "private",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Team observations for ownership, issue prefixes, cycles, and workflow routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API teams",
"spec_name": "linear_api_teams"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_users
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "user_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized display name",
"name": "display_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Admin flag",
"name": "admin",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "User observations for assignment, ownership, and project/team participation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API users",
"spec_name": "linear_api_users"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_workflow_states
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "workflow_state_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Team id",
"name": "team_id",
"tests": [],
"type": "string"
},
{
"description": "State name",
"name": "state_name",
"tests": [],
"type": "string"
},
{
"description": "State type",
"name": "state_type",
"tests": [],
"type": "string"
},
{
"description": "State position",
"name": "position",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Workflow state observations for backlog, triage, started, completed, canceled, and team-specific status mapping.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API workflow states",
"spec_name": "linear_api_workflow_states"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Linear issue identifier",
"name": "identifier",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Team id",
"name": "team_id",
"tests": [],
"type": "string"
},
{
"description": "Project id",
"name": "project_id",
"tests": [],
"type": "string"
},
{
"description": "Cycle id",
"name": "cycle_id",
"tests": [],
"type": "string"
},
{
"description": "Workflow state id",
"name": "state_id",
"tests": [],
"type": "string"
},
{
"description": "Priority",
"name": "priority",
"tests": [],
"type": "integer"
},
{
"description": "Assignee user id",
"name": "assignee_id",
"tests": [],
"type": "string"
},
{
"description": "Issue title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue observations for product/engineering work, status, priority, assignee, team, project, and cycle context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API issues",
"spec_name": "linear_api_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_issue_comments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "comment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Issue id",
"name": "issue_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Author user id",
"name": "author_id",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Updated timestamp",
"name": "updated_at",
"tests": [],
"type": "string"
},
{
"description": "Short comment summary",
"name": "body_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue comment observations for decisions, handoff context, and review evidence.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API issue comments",
"spec_name": "linear_api_issue_comments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_issue_attachments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "attachment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Issue id",
"name": "issue_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Attachment title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Attachment subtitle",
"name": "subtitle",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized URL",
"name": "url_hash",
"tests": [],
"type": "string"
},
{
"description": "Attachment source type",
"name": "source_type",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue attachment observations for linked source material, external URLs, and evidence.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API issue attachments",
"spec_name": "linear_api_issue_attachments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_issue_labels
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "label_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Label name",
"name": "label_name",
"tests": [],
"type": "string"
},
{
"description": "Team id",
"name": "team_id",
"tests": [],
"type": "string"
},
{
"description": "Parent label id",
"name": "parent_label_id",
"tests": [],
"type": "string"
},
{
"description": "Label color",
"name": "color",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Issue label observations for routing, topic classification, and triage.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API issue labels",
"spec_name": "linear_api_issue_labels"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_projects
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "project_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Project name",
"name": "project_name",
"tests": [],
"type": "string"
},
{
"description": "Project status",
"name": "project_status",
"tests": [],
"type": "string"
},
{
"description": "Project lead user id",
"name": "lead_id",
"tests": [],
"type": "string"
},
{
"description": "Team id",
"name": "team_id",
"tests": [],
"type": "string"
},
{
"description": "Target date",
"name": "target_date",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Project observations for planned product work, status, target dates, leads, and team ownership.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API projects",
"spec_name": "linear_api_projects"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_project_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "project_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Project id",
"name": "project_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Author user id",
"name": "author_id",
"tests": [],
"type": "string"
},
{
"description": "Project health",
"name": "health",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Short update summary",
"name": "body_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Project update observations for status reporting, health, and milestone narrative.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API project updates",
"spec_name": "linear_api_project_updates"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_milestones
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "milestone_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Project id",
"name": "project_id",
"tests": [],
"type": "string"
},
{
"description": "Milestone name",
"name": "milestone_name",
"tests": [],
"type": "string"
},
{
"description": "Target date",
"name": "target_date",
"tests": [],
"type": "string"
},
{
"description": "Milestone position",
"name": "position",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Milestone observations for project phases, target dates, and delivery checkpoints.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API milestones",
"spec_name": "linear_api_milestones"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_cycles
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "cycle_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Team id",
"name": "team_id",
"tests": [],
"type": "string"
},
{
"description": "Cycle number",
"name": "cycle_number",
"tests": [],
"type": "integer"
},
{
"description": "Cycle name",
"name": "cycle_name",
"tests": [],
"type": "string"
},
{
"description": "Cycle start timestamp",
"name": "starts_at",
"tests": [],
"type": "string"
},
{
"description": "Cycle end timestamp",
"name": "ends_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Cycle observations for time-boxed team work and delivery planning.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API cycles",
"spec_name": "linear_api_cycles"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_initiatives
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "initiative_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Initiative name",
"name": "initiative_name",
"tests": [],
"type": "string"
},
{
"description": "Initiative status",
"name": "initiative_status",
"tests": [],
"type": "string"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Target date",
"name": "target_date",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Initiative observations for larger product bets spanning projects and teams.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API initiatives",
"spec_name": "linear_api_initiatives"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_documents
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "document_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Document title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Creator user id",
"name": "creator_id",
"tests": [],
"type": "string"
},
{
"description": "Project id",
"name": "project_id",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Updated timestamp",
"name": "updated_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Document observations for specs, decisions, and product/project context stored in Linear.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API documents",
"spec_name": "linear_api_documents"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_customers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer name",
"name": "customer_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized domain reference",
"name": "domain_hash",
"tests": [],
"type": "string"
},
{
"description": "Owner user id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Customer status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer observations for customer requests, product feedback, and account-linked issue context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API customers",
"spec_name": "linear_api_customers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_customer_requests
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_request_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [],
"type": "string"
},
{
"description": "Issue id",
"name": "issue_id",
"tests": [],
"type": "string"
},
{
"description": "Project id",
"name": "project_id",
"tests": [],
"type": "string"
},
{
"description": "Request status",
"name": "request_status",
"tests": [],
"type": "string"
},
{
"description": "Request priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer request observations for support, feedback, and issue/project demand signals.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API customer requests",
"spec_name": "linear_api_customer_requests"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_api_webhook_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "webhook_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Webhook resource type",
"name": "resource_type",
"tests": [],
"type": "string"
},
{
"description": "Webhook action",
"name": "action",
"tests": [],
"type": "string"
},
{
"description": "Resource id",
"name": "resource_id",
"tests": [],
"type": "string"
},
{
"description": "Team id",
"name": "team_id",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Webhook event observations for issue, project, cycle, comment, label, customer, and document change replay.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear API webhook events",
"spec_name": "linear_api_webhook_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_agent_api_issue_create_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "issue_create_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "team_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Team id",
"name": "team_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Project id",
"name": "project_id",
"tests": [],
"type": "string"
},
{
"description": "Issue title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Proposed priority",
"name": "proposed_priority",
"tests": [],
"type": "integer"
},
{
"description": "Proposed assignee user id",
"name": "proposed_assignee_id",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed issue creation proposals before outbound Linear sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear agent API issue create proposals",
"spec_name": "linear_agent_api_issue_create_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_agent_api_issue_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "issue_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "issue_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Linear issue identifier",
"name": "identifier",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed issue update proposals before outbound Linear sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear agent API issue updates",
"spec_name": "linear_agent_api_issue_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_agent_api_project_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "project_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "project_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Project id",
"name": "project_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current project status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed project status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed project health",
"name": "proposed_health",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed project update proposals before outbound Linear sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear agent API project updates",
"spec_name": "linear_agent_api_project_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
linear_agent_api_comment_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "comment_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "issue_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Linear issue identifier",
"name": "identifier",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Comment summary",
"name": "comment_summary",
"tests": [],
"type": "string"
},
{
"description": "Visibility scope",
"name": "visibility_scope",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed comment creation/update proposals before outbound Linear sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Linear agent API comment updates",
"spec_name": "linear_agent_api_comment_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "linear_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_itsm_library
operations collection v1.0.0 ServiceNowServiceNow ITSM specs for incidents, problems, changes, requests, catalog items, approvals, CMDB records, service offerings, SLAs, knowledge, attachments, users, groups, departments, companies, journal entries, webhook events, and governed ITSM updates.
- Direct systems
- ServiceNow
- Coverage
- Core
- Coverage notes
- Covers common ServiceNow ITSM and platform table records used for operational memory and governed service updates. It does not grant broad table-write behavior or mirror every ServiceNow table, ACL, workflow, or product module.
- Next objects
service_mapping;business_applications;asset_management;configuration_item_changes;service_portfolio;major_incidents;on_call_schedules;custom_app_tables- Omitted
- OAuth/token management; raw user contact details; complete ACL/security metadata; all custom tables; broad write access to arbitrary tables
- Needs
- A ServiceNow agent/operator role. The generated calls use
servicenow_agent. - Useful for
- ITSM operational memory; Incident triage; Change governance; Service request follow-up; CMDB impact review; Knowledge article improvement
- Extend with
- Links from monitoring observations into incident creation proposals; Links from Jira/Linear issues into ServiceNow incidents or changes; CMDB relationship reconciliation for impacted services
- Links
- Incident creation proposals can cite impacted configuration item observations; Incident update proposals cite the current incident observation; Change request proposals cite current change observations when updating existing changes; Request update proposals cite the current request observation; Knowledge update proposals cite the current knowledge article observation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
servicenow_api_incidents | ServiceNow | Observation | Incident observations. |
servicenow_api_problems | ServiceNow | Observation | Problem observations. |
servicenow_api_change_requests | ServiceNow | Observation | Change request observations. |
servicenow_api_change_tasks | ServiceNow | Observation | Change task observations. |
servicenow_api_requests | ServiceNow | Observation | Service request observations. |
servicenow_api_requested_items | ServiceNow | Observation | Requested item observations. |
servicenow_api_catalog_tasks | ServiceNow | Observation | Catalog task observations. |
servicenow_api_catalog_items | ServiceNow | Observation | Catalog item observations. |
servicenow_api_approvals | ServiceNow | Observation | Approval observations. |
servicenow_api_cmdb_configuration_items | ServiceNow | Observation | CMDB configuration item observations. |
servicenow_api_cmdb_relationships | ServiceNow | Observation | CMDB relationship observations. |
servicenow_api_service_offerings | ServiceNow | Observation | Service offering observations. |
servicenow_api_sla_tasks | ServiceNow | Observation | SLA task observations. |
servicenow_api_knowledge_articles | ServiceNow | Observation | Knowledge article observations. |
servicenow_api_attachments | ServiceNow | Observation | Attachment observations. |
servicenow_api_users | ServiceNow | Observation | User observations. |
servicenow_api_groups | ServiceNow | Observation | Group observations. |
servicenow_api_departments | ServiceNow | Observation | Department observations. |
servicenow_api_companies | ServiceNow | Observation | Company observations. |
servicenow_api_journal_entries | ServiceNow | Observation | Journal entry observations. |
servicenow_api_webhook_events | ServiceNow | Observation | ServiceNow event observations. |
servicenow_agent_api_incident_create_proposals | ServiceNow | Commitment workflow | Governed incident creation proposals. |
servicenow_agent_api_incident_updates | ServiceNow | Commitment workflow | Governed incident updates. |
servicenow_agent_api_change_request_proposals | ServiceNow | Commitment workflow | Governed change request proposals. |
servicenow_agent_api_request_updates | ServiceNow | Commitment workflow | Governed service request updates. |
servicenow_agent_api_knowledge_updates | ServiceNow | Commitment workflow | Governed knowledge article updates. |
View 26 create_spec calls
servicenow_api_incidents
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "incident_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Incident number",
"name": "number",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Short description",
"name": "short_description",
"tests": [],
"type": "string"
},
{
"description": "Incident state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Impact",
"name": "impact",
"tests": [],
"type": "string"
},
{
"description": "Urgency",
"name": "urgency",
"tests": [],
"type": "string"
},
{
"description": "Assignment group sys_id",
"name": "assignment_group_id",
"tests": [],
"type": "string"
},
{
"description": "Assigned user sys_id",
"name": "assigned_to_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Incident observations for service disruption, impact, urgency, assignment, state, and resolution review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API incidents",
"spec_name": "servicenow_api_incidents"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_problems
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "problem_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Problem number",
"name": "number",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Short description",
"name": "short_description",
"tests": [],
"type": "string"
},
{
"description": "Problem state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Known error flag",
"name": "known_error",
"tests": [],
"type": "boolean"
},
{
"description": "Assignment group sys_id",
"name": "assignment_group_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Problem observations for recurring issues, root cause, workarounds, and known error review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API problems",
"spec_name": "servicenow_api_problems"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_change_requests
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "change_request_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Change request number",
"name": "number",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Short description",
"name": "short_description",
"tests": [],
"type": "string"
},
{
"description": "Change state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Change type",
"name": "type",
"tests": [],
"type": "string"
},
{
"description": "Risk",
"name": "risk",
"tests": [],
"type": "string"
},
{
"description": "Impact",
"name": "impact",
"tests": [],
"type": "string"
},
{
"description": "Approval state",
"name": "approval",
"tests": [],
"type": "string"
},
{
"description": "Planned start timestamp",
"name": "planned_start_at",
"tests": [],
"type": "string"
},
{
"description": "Planned end timestamp",
"name": "planned_end_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Change request observations for planned work, risk, approval, schedule, and implementation review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API change requests",
"spec_name": "servicenow_api_change_requests"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_change_tasks
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "change_task_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Change task number",
"name": "number",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Parent change request sys_id",
"name": "change_request_id",
"tests": [],
"type": "string"
},
{
"description": "Short description",
"name": "short_description",
"tests": [],
"type": "string"
},
{
"description": "Task state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Assignment group sys_id",
"name": "assignment_group_id",
"tests": [],
"type": "string"
},
{
"description": "Assigned user sys_id",
"name": "assigned_to_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Change task observations for implementation steps, owners, and change execution tracking.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API change tasks",
"spec_name": "servicenow_api_change_tasks"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_requests
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "request_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Request number",
"name": "number",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Requested-for user sys_id",
"name": "requested_for_id",
"tests": [],
"type": "string"
},
{
"description": "Opened-by user sys_id",
"name": "opened_by_id",
"tests": [],
"type": "string"
},
{
"description": "Request state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Approval state",
"name": "approval",
"tests": [],
"type": "string"
},
{
"description": "Request price",
"name": "price",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Service request observations for requested work, requester context, approval, and fulfillment status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API requests",
"spec_name": "servicenow_api_requests"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_requested_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "requested_item_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Requested item number",
"name": "number",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Parent request sys_id",
"name": "request_id",
"tests": [],
"type": "string"
},
{
"description": "Catalog item sys_id",
"name": "catalog_item_id",
"tests": [],
"type": "string"
},
{
"description": "Requested item state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Fulfillment stage",
"name": "stage",
"tests": [],
"type": "string"
},
{
"description": "Assignment group sys_id",
"name": "assignment_group_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Requested item observations for catalog fulfillment, variables, assignment, and item-level status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API requested items",
"spec_name": "servicenow_api_requested_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_catalog_tasks
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "catalog_task_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Catalog task number",
"name": "number",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "Requested item sys_id",
"name": "requested_item_id",
"tests": [],
"type": "string"
},
{
"description": "Short description",
"name": "short_description",
"tests": [],
"type": "string"
},
{
"description": "Task state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Assignment group sys_id",
"name": "assignment_group_id",
"tests": [],
"type": "string"
},
{
"description": "Assigned user sys_id",
"name": "assigned_to_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Catalog task observations for request fulfillment work, owners, and task state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API catalog tasks",
"spec_name": "servicenow_api_catalog_tasks"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_catalog_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "catalog_item_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Catalog item name",
"name": "catalog_item_name",
"tests": [],
"type": "string"
},
{
"description": "Catalog category sys_id",
"name": "category_id",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Fulfillment workflow sys_id",
"name": "workflow_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Catalog item observations for available services, request forms, and fulfillment routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API catalog items",
"spec_name": "servicenow_api_catalog_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_approvals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "approval_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Approving record sys_id",
"name": "approving_record_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Approver user sys_id",
"name": "approver_id",
"tests": [],
"type": "string"
},
{
"description": "Approval state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Source table",
"name": "source_table",
"tests": [],
"type": "string"
},
{
"description": "Approval due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Approval observations for requested approvals, approvers, approval state, and parent records.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API approvals",
"spec_name": "servicenow_api_approvals"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_cmdb_configuration_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ci_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Configuration item name",
"name": "ci_name",
"tests": [],
"type": "string"
},
{
"description": "Configuration item class",
"name": "ci_class",
"tests": [],
"type": "string"
},
{
"description": "Install status",
"name": "install_status",
"tests": [],
"type": "string"
},
{
"description": "Operational status",
"name": "operational_status",
"tests": [],
"type": "string"
},
{
"description": "Owned-by user sys_id",
"name": "owned_by_id",
"tests": [],
"type": "string"
},
{
"description": "Support group sys_id",
"name": "support_group_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "CMDB configuration item observations for services, applications, infrastructure, ownership, and operational impact.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API CMDB configuration items",
"spec_name": "servicenow_api_cmdb_configuration_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_cmdb_relationships
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "relationship_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Parent CI sys_id",
"name": "parent_ci_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Child CI sys_id",
"name": "child_ci_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Relationship type",
"name": "relationship_type",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "CMDB relationship observations for dependency mapping and blast-radius analysis.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API CMDB relationships",
"spec_name": "servicenow_api_cmdb_relationships"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_service_offerings
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "service_offering_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Service offering name",
"name": "offering_name",
"tests": [],
"type": "string"
},
{
"description": "Parent service sys_id",
"name": "service_id",
"tests": [],
"type": "string"
},
{
"description": "Owned-by user sys_id",
"name": "owned_by_id",
"tests": [],
"type": "string"
},
{
"description": "Support group sys_id",
"name": "support_group_id",
"tests": [],
"type": "string"
},
{
"description": "Operational status",
"name": "operational_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Service offering observations for service ownership, catalog visibility, and operational support context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API service offerings",
"spec_name": "servicenow_api_service_offerings"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_sla_tasks
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sla_task_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Task sys_id",
"name": "task_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SLA definition sys_id",
"name": "sla_id",
"tests": [],
"type": "string"
},
{
"description": "SLA stage",
"name": "stage",
"tests": [],
"type": "string"
},
{
"description": "Business elapsed percentage",
"name": "business_percentage",
"tests": [],
"type": "number"
},
{
"description": "Planned end timestamp",
"name": "planned_end_time",
"tests": [],
"type": "string"
},
{
"description": "Breach flag",
"name": "has_breached",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "SLA task observations for response/resolve deadlines, breach status, and service performance review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API SLA tasks",
"spec_name": "servicenow_api_sla_tasks"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_knowledge_articles
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "knowledge_article_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Knowledge article number",
"name": "number",
"tests": [],
"type": "string"
},
{
"description": "Short description",
"name": "short_description",
"tests": [],
"type": "string"
},
{
"description": "Workflow state",
"name": "workflow_state",
"tests": [],
"type": "string"
},
{
"description": "Knowledge base sys_id",
"name": "knowledge_base_id",
"tests": [],
"type": "string"
},
{
"description": "Author user sys_id",
"name": "author_id",
"tests": [],
"type": "string"
},
{
"description": "Published timestamp",
"name": "published_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Knowledge article observations for support content, publish state, ownership, and related resolution context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API knowledge articles",
"spec_name": "servicenow_api_knowledge_articles"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_attachments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "attachment_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Target table name",
"name": "table_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Target record sys_id",
"name": "table_sys_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "File name",
"name": "file_name",
"tests": [],
"type": "string"
},
{
"description": "Content type",
"name": "content_type",
"tests": [],
"type": "string"
},
{
"description": "File size in bytes",
"name": "size_bytes",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Attachment observations for files linked to incidents, changes, requests, knowledge, and CMDB records.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API attachments",
"spec_name": "servicenow_api_attachments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_users
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "user_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized username",
"name": "user_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized email reference",
"name": "email_hash",
"tests": [],
"type": "string"
},
{
"description": "Department sys_id",
"name": "department_id",
"tests": [],
"type": "string"
},
{
"description": "Company sys_id",
"name": "company_id",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "User observations for callers, assignees, approvers, ownership, and audit context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API users",
"spec_name": "servicenow_api_users"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_groups
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "group_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Group name",
"name": "group_name",
"tests": [],
"type": "string"
},
{
"description": "Manager user sys_id",
"name": "manager_id",
"tests": [],
"type": "string"
},
{
"description": "Parent group sys_id",
"name": "parent_group_id",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Group observations for assignment groups, support groups, and approval routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API groups",
"spec_name": "servicenow_api_groups"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_departments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "department_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Department name",
"name": "department_name",
"tests": [],
"type": "string"
},
{
"description": "Parent department sys_id",
"name": "parent_department_id",
"tests": [],
"type": "string"
},
{
"description": "Department head user sys_id",
"name": "dept_head_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Department observations for requester context, cost ownership, and routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API departments",
"spec_name": "servicenow_api_departments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_companies
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "company_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Company name",
"name": "company_name",
"tests": [],
"type": "string"
},
{
"description": "Customer flag",
"name": "customer",
"tests": [],
"type": "boolean"
},
{
"description": "Vendor flag",
"name": "vendor",
"tests": [],
"type": "boolean"
},
{
"description": "Manufacturer flag",
"name": "manufacturer",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Company observations for customer, vendor, or internal company context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API companies",
"spec_name": "servicenow_api_companies"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_journal_entries
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "journal_entry_sys_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Parent record sys_id",
"name": "element_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Table name",
"name": "name",
"tests": [],
"type": "string"
},
{
"description": "Journal element",
"name": "element",
"tests": [],
"type": "string"
},
{
"description": "Hashed created-by user",
"name": "created_by_hash",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Short journal summary",
"name": "value_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Journal entry observations for comments, work notes, and activity history on task records.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API journal entries",
"spec_name": "servicenow_api_journal_entries"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_api_webhook_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "webhook_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Source table",
"name": "source_table",
"tests": [],
"type": "string"
},
{
"description": "Record sys_id",
"name": "record_sys_id",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Webhook or outbound event observations for changed ITSM records and sync replay.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow API webhook events",
"spec_name": "servicenow_api_webhook_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_agent_api_incident_create_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "incident_create_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "assignment_group_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Short description",
"name": "short_description",
"tests": [],
"type": "string"
},
{
"description": "Proposed priority",
"name": "proposed_priority",
"tests": [],
"type": "string"
},
{
"description": "Proposed impact",
"name": "proposed_impact",
"tests": [],
"type": "string"
},
{
"description": "Proposed urgency",
"name": "proposed_urgency",
"tests": [],
"type": "string"
},
{
"description": "Caller user sys_id",
"name": "caller_id",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed incident creation proposals before outbound ServiceNow sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow agent API incident create proposals",
"spec_name": "servicenow_agent_api_incident_create_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_agent_api_incident_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "incident_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "incident_sys_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Incident number",
"name": "number",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed incident update proposals before outbound ServiceNow sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow agent API incident updates",
"spec_name": "servicenow_agent_api_incident_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_agent_api_change_request_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "change_request_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "change_request_sys_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Change request number",
"name": "number",
"tests": [],
"type": "string"
},
{
"description": "Requested change type",
"name": "requested_change_type",
"tests": [],
"type": "string"
},
{
"description": "Proposed risk",
"name": "proposed_risk",
"tests": [],
"type": "string"
},
{
"description": "Planned start timestamp",
"name": "planned_start_at",
"tests": [],
"type": "string"
},
{
"description": "Planned end timestamp",
"name": "planned_end_at",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed change request creation/update proposals before outbound ServiceNow sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow agent API change request proposals",
"spec_name": "servicenow_agent_api_change_request_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_agent_api_request_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "request_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "request_sys_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Request number",
"name": "number",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed service request update proposals before outbound ServiceNow sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow agent API request updates",
"spec_name": "servicenow_agent_api_request_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
servicenow_agent_api_knowledge_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "knowledge_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "knowledge_article_sys_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Knowledge article number",
"name": "number",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current value",
"name": "current_value",
"tests": [],
"type": "string"
},
{
"description": "Proposed value",
"name": "proposed_value",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed knowledge article update proposals before outbound ServiceNow sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "ServiceNow agent API knowledge updates",
"spec_name": "servicenow_agent_api_knowledge_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "servicenow_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_marketing_library
marketing commerce collection v1.0.0 Google Ads Ad platformsGoogle Ads specs for customers, account hierarchy, campaigns, budgets, bidding strategies, ad groups, ads, assets, criteria, asset groups, conversion setup, search terms, performance reporting, recommendations, change events, offline conversion uploads, and governed campaign updates.
- Direct systems
- Google Ads; Ad platforms
- Coverage
- Core
- Coverage notes
- Covers common Google Ads resources and reporting observations that agents use for campaign review, budget pacing, search-term review, conversion-health checks, and approval-first outbound updates. It does not mirror every GAQL report view, mutate operation, policy detail, experiment, audience, billing object, or account-admin record.
- Source docs
- Google Ads API introduction; Google Ads API fields and resources; Google Ads conversion management
- Next objects
- audiences; experiments;
shared_sets;account_budgets;billing_setups; invoices;campaign_groups;local_services_ads;customer_user_access - Omitted
- OAuth/token management; raw user emails; complete policy detail payloads; all GAQL report views; full billing documents; every mutate operation
- Needs
- A Google Ads agent/operator role. The generated calls use
google_ads_agent. - Useful for
- Campaign and budget review; Marketing finance reporting; Search-term mining; Negative keyword proposals; Conversion setup checks; Performance Max and Shopping product review; Governed campaign updates
- Extend with
- Links from Shopify/Square/Stripe revenue observations into performance reporting; Links from search term observations into negative keyword proposals; Links from CRM lead quality observations into offline conversion upload packets
- Links
- Budget update proposals cite the current budget observation; Campaign status proposals cite the current campaign observation; Ad group bid proposals cite the current ad group observation; Keyword update proposals cite the current ad group criterion observation; Negative keyword proposals cite search term observations; Offline conversion upload packets cite the target conversion action
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
google_ads_api_customers | Google Ads, Ad platforms | Observation | Customer account observations. |
google_ads_api_customer_clients | Google Ads, Ad platforms | Observation | Manager-account hierarchy observations. |
google_ads_api_campaigns | Google Ads, Ad platforms | Observation | Campaign observations. |
google_ads_api_campaign_budgets | Google Ads, Ad platforms | Observation | Campaign budget observations. |
google_ads_api_bidding_strategies | Google Ads, Ad platforms | Observation | Bidding strategy observations. |
google_ads_api_ad_groups | Google Ads, Ad platforms | Observation | Ad group observations. |
google_ads_api_ad_group_ads | Google Ads, Ad platforms | Observation | Ad creative observations. |
google_ads_api_assets | Google Ads, Ad platforms | Observation | Reusable creative asset observations. |
google_ads_api_campaign_assets | Google Ads, Ad platforms | Observation | Campaign asset link observations. |
google_ads_api_ad_group_criteria | Google Ads, Ad platforms | Observation | Ad group targeting and keyword observations. |
google_ads_api_campaign_criteria | Google Ads, Ad platforms | Observation | Campaign-level targeting observations. |
google_ads_api_asset_groups | Google Ads, Ad platforms | Observation | Performance Max asset group observations. |
google_ads_api_conversion_actions | Google Ads, Ad platforms | Observation | Conversion setup observations. |
google_ads_api_campaign_conversion_goals | Google Ads, Ad platforms | Observation | Campaign conversion goal observations. |
google_ads_api_search_terms | Google Ads, Ad platforms | Observation | Search term performance observations. |
google_ads_api_performance_metrics | Google Ads, Ad platforms | Observation | Daily performance metric observations. |
google_ads_api_geographic_performance | Google Ads, Ad platforms | Observation | Geographic performance observations. |
google_ads_api_product_performance | Google Ads, Ad platforms | Observation | Shopping and product performance observations. |
google_ads_api_recommendations | Google Ads, Ad platforms | Observation | Recommendation observations. |
google_ads_api_change_events | Google Ads, Ad platforms | Observation | Account change event observations. |
google_ads_api_offline_conversion_uploads | Google Ads, Ad platforms | Observation | Offline conversion upload health observations. |
google_ads_agent_api_campaign_budget_updates | Google Ads, Ad platforms | Commitment workflow | Governed campaign budget updates. |
google_ads_agent_api_campaign_status_updates | Google Ads, Ad platforms | Commitment workflow | Governed campaign status updates. |
google_ads_agent_api_ad_group_bid_updates | Google Ads, Ad platforms | Commitment workflow | Governed ad group bid updates. |
google_ads_agent_api_keyword_updates | Google Ads, Ad platforms | Commitment workflow | Governed keyword updates. |
google_ads_agent_api_negative_keyword_proposals | Google Ads, Ad platforms | Commitment workflow | Governed negative keyword proposals. |
google_ads_agent_api_offline_conversion_uploads | Google Ads, Ad platforms | Commitment workflow | Governed offline conversion upload packets. |
View 27 create_spec calls
google_ads_api_customers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer descriptive name",
"name": "descriptive_name",
"tests": [],
"type": "string"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Account time zone",
"name": "time_zone",
"tests": [],
"type": "string"
},
{
"description": "Manager account flag",
"name": "manager",
"tests": [],
"type": "boolean"
},
{
"description": "Test account flag",
"name": "test_account",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer account observations for account identity, status, currency, time zone, and manager context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API customers",
"spec_name": "google_ads_api_customers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_customer_clients
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "customer_client_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Manager customer id",
"name": "manager_customer_id",
"tests": [],
"type": "string"
},
{
"description": "Client customer id",
"name": "client_customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hierarchy level",
"name": "level",
"tests": [],
"type": "integer"
},
{
"description": "Client descriptive name",
"name": "descriptive_name",
"tests": [],
"type": "string"
},
{
"description": "Client status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Manager-account child customer observations for account hierarchy and managed customer visibility.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API customer clients",
"spec_name": "google_ads_api_customer_clients"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Campaign status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Advertising channel type",
"name": "advertising_channel_type",
"tests": [],
"type": "string"
},
{
"description": "Bidding strategy type",
"name": "bidding_strategy_type",
"tests": [],
"type": "string"
},
{
"description": "Campaign budget id",
"name": "campaign_budget_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign observations for status, channel type, bidding, budget linkage, and serving configuration.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API campaigns",
"spec_name": "google_ads_api_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_campaign_budgets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_budget_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Budget name",
"name": "budget_name",
"tests": [],
"type": "string"
},
{
"description": "Budget amount in micros",
"name": "amount_micros",
"tests": [],
"type": "number"
},
{
"description": "Delivery method",
"name": "delivery_method",
"tests": [],
"type": "string"
},
{
"description": "Explicitly shared flag",
"name": "explicitly_shared",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign budget observations for spend limits, delivery method, sharing, and budget governance.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API campaign budgets",
"spec_name": "google_ads_api_campaign_budgets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_bidding_strategies
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "bidding_strategy_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Strategy name",
"name": "strategy_name",
"tests": [],
"type": "string"
},
{
"description": "Strategy type",
"name": "strategy_type",
"tests": [],
"type": "string"
},
{
"description": "Strategy status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Target CPA in micros",
"name": "target_cpa_micros",
"tests": [],
"type": "number"
},
{
"description": "Target ROAS",
"name": "target_roas",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Bidding strategy observations for portfolio bidding, targets, and automated bidding review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API bidding strategies",
"spec_name": "google_ads_api_bidding_strategies"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_ad_groups
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ad_group_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Ad group name",
"name": "ad_group_name",
"tests": [],
"type": "string"
},
{
"description": "Ad group status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Ad group type",
"name": "type",
"tests": [],
"type": "string"
},
{
"description": "CPC bid in micros",
"name": "cpc_bid_micros",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Ad group observations for campaign structure, status, type, bids, and targeting context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API ad groups",
"spec_name": "google_ads_api_ad_groups"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_ad_group_ads
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ad_group_ad_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Ad id",
"name": "ad_id",
"tests": [],
"type": "string"
},
{
"description": "Ad status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Ad type",
"name": "ad_type",
"tests": [],
"type": "string"
},
{
"description": "Ad strength",
"name": "ad_strength",
"tests": [],
"type": "string"
},
{
"description": "Policy approval status",
"name": "policy_approval_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Ad observations for creative status, ad type, strength, policy summary, and ad group context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API ad group ads",
"spec_name": "google_ads_api_ad_group_ads"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_assets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "asset_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Asset name",
"name": "asset_name",
"tests": [],
"type": "string"
},
{
"description": "Asset type",
"name": "asset_type",
"tests": [],
"type": "string"
},
{
"description": "Asset source",
"name": "source",
"tests": [],
"type": "string"
},
{
"description": "Policy approval status",
"name": "policy_approval_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Asset observations for images, text, sitelinks, callouts, videos, and other reusable creative inputs.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API assets",
"spec_name": "google_ads_api_assets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_campaign_assets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_asset_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Asset id",
"name": "asset_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Asset field type",
"name": "field_type",
"tests": [],
"type": "string"
},
{
"description": "Link status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign asset link observations connecting reusable assets to campaigns.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API campaign assets",
"spec_name": "google_ads_api_campaign_assets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_ad_group_criteria
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "criterion_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Criterion type",
"name": "criterion_type",
"tests": [],
"type": "string"
},
{
"description": "Keyword text",
"name": "keyword_text",
"tests": [],
"type": "string"
},
{
"description": "Keyword match type",
"name": "match_type",
"tests": [],
"type": "string"
},
{
"description": "Negative criterion flag",
"name": "negative",
"tests": [],
"type": "boolean"
},
{
"description": "Criterion status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Ad group criterion observations for keywords, audiences, placements, demographics, negatives, and targeting review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API ad group criteria",
"spec_name": "google_ads_api_ad_group_criteria"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_campaign_criteria
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_criterion_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Criterion type",
"name": "criterion_type",
"tests": [],
"type": "string"
},
{
"description": "Negative criterion flag",
"name": "negative",
"tests": [],
"type": "boolean"
},
{
"description": "Criterion status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Criterion display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign criterion observations for geo, language, audience, negative, and campaign-level targeting review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API campaign criteria",
"spec_name": "google_ads_api_campaign_criteria"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_asset_groups
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "asset_group_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Asset group name",
"name": "asset_group_name",
"tests": [],
"type": "string"
},
{
"description": "Asset group status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Final URL",
"name": "final_url",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Performance Max asset group observations for asset collection, listing group context, and campaign organization.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API asset groups",
"spec_name": "google_ads_api_asset_groups"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_conversion_actions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "conversion_action_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Conversion action name",
"name": "conversion_action_name",
"tests": [],
"type": "string"
},
{
"description": "Conversion action type",
"name": "type",
"tests": [],
"type": "string"
},
{
"description": "Conversion category",
"name": "category",
"tests": [],
"type": "string"
},
{
"description": "Conversion action status",
"name": "status",
"tests": [],
"type": "string"
},
{
"description": "Included in conversions flag",
"name": "include_in_conversions_metric",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Conversion action observations for conversion tracking setup, category, status, value settings, and upload readiness.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API conversion actions",
"spec_name": "google_ads_api_conversion_actions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_campaign_conversion_goals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_conversion_goal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Conversion goal category",
"name": "category",
"tests": [],
"type": "string"
},
{
"description": "Conversion origin",
"name": "origin",
"tests": [],
"type": "string"
},
{
"description": "Biddable flag",
"name": "biddable",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign conversion goal observations for campaign-specific optimization goals.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API campaign conversion goals",
"spec_name": "google_ads_api_campaign_conversion_goals"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_search_terms
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "search_term_observation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized search term",
"name": "search_term_hash",
"tests": [],
"type": "string"
},
{
"description": "Search term match type",
"name": "match_type",
"tests": [],
"type": "string"
},
{
"description": "Impressions",
"name": "impressions",
"tests": [],
"type": "integer"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Cost in micros",
"name": "cost_micros",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Search term observations for query review, keyword mining, and negative keyword opportunities.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API search terms",
"spec_name": "google_ads_api_search_terms"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_performance_metrics
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "performance_observation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Resource type",
"name": "resource_type",
"tests": [],
"type": "string"
},
{
"description": "Resource id",
"name": "resource_id",
"tests": [],
"type": "string"
},
{
"description": "Metric date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Impressions",
"name": "impressions",
"tests": [],
"type": "integer"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Cost in micros",
"name": "cost_micros",
"tests": [],
"type": "number"
},
{
"description": "Conversions",
"name": "conversions",
"tests": [],
"type": "number"
},
{
"description": "Conversion value",
"name": "conversion_value",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Daily performance observations for campaign/ad group/ad/keyword reporting and marketing finance review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API performance metrics",
"spec_name": "google_ads_api_performance_metrics"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_geographic_performance
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "geo_performance_observation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Geo target id",
"name": "geo_target_id",
"tests": [],
"type": "string"
},
{
"description": "Metric date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Impressions",
"name": "impressions",
"tests": [],
"type": "integer"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Cost in micros",
"name": "cost_micros",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Geographic performance observations for market, location, and region-level optimization review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API geographic performance",
"spec_name": "google_ads_api_geographic_performance"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_product_performance
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_performance_observation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Merchant id",
"name": "merchant_id",
"tests": [],
"type": "string"
},
{
"description": "Product item id",
"name": "product_item_id",
"tests": [],
"type": "string"
},
{
"description": "Product brand",
"name": "product_brand",
"tests": [],
"type": "string"
},
{
"description": "Metric date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Conversions",
"name": "conversions",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shopping and Performance Max product performance observations for item, brand, category, and merchant reporting.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API product performance",
"spec_name": "google_ads_api_product_performance"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_recommendations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "recommendation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Recommendation type",
"name": "recommendation_type",
"tests": [],
"type": "string"
},
{
"description": "Base cost in micros",
"name": "impact_base_metrics_cost_micros",
"tests": [],
"type": "number"
},
{
"description": "Potential conversions",
"name": "impact_potential_metrics_conversions",
"tests": [],
"type": "number"
},
{
"description": "Dismissed flag",
"name": "dismissed",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Recommendation observations for optimization score, proposed actions, and agent review queues.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API recommendations",
"spec_name": "google_ads_api_recommendations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_change_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "change_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Change timestamp",
"name": "change_date_time",
"tests": [],
"type": "string"
},
{
"description": "Changed resource type",
"name": "change_resource_type",
"tests": [],
"type": "string"
},
{
"description": "Changed resource name",
"name": "changed_resource_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed user email",
"name": "user_email_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Change event observations for account history, actor, resource changes, and sync replay.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API change events",
"spec_name": "google_ads_api_change_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_api_offline_conversion_uploads
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "offline_conversion_upload_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Upload job id",
"name": "job_id",
"tests": [],
"type": "string"
},
{
"description": "Conversion action id",
"name": "conversion_action_id",
"tests": [],
"type": "string"
},
{
"description": "Uploaded timestamp",
"name": "uploaded_at",
"tests": [],
"type": "string"
},
{
"description": "Successful event count",
"name": "successful_event_count",
"tests": [],
"type": "integer"
},
{
"description": "Failed event count",
"name": "failed_event_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Offline conversion upload observations for job diagnostics, counts, and upload health.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads API offline conversion uploads",
"spec_name": "google_ads_api_offline_conversion_uploads"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_agent_api_campaign_budget_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "campaign_budget_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_budget_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current budget amount in micros",
"name": "current_amount_micros",
"tests": [],
"type": "number"
},
{
"description": "Proposed budget amount in micros",
"name": "proposed_amount_micros",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed campaign budget update proposals before outbound Google Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads agent API campaign budget updates",
"spec_name": "google_ads_agent_api_campaign_budget_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_agent_api_campaign_status_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "campaign_status_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current campaign status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed campaign status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed campaign status update proposals before outbound Google Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads agent API campaign status updates",
"spec_name": "google_ads_agent_api_campaign_status_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_agent_api_ad_group_bid_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "ad_group_bid_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "ad_group_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current CPC bid in micros",
"name": "current_cpc_bid_micros",
"tests": [],
"type": "number"
},
{
"description": "Proposed CPC bid in micros",
"name": "proposed_cpc_bid_micros",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed ad group bid update proposals before outbound Google Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads agent API ad group bid updates",
"spec_name": "google_ads_agent_api_ad_group_bid_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_agent_api_keyword_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "keyword_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "criterion_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Keyword text",
"name": "keyword_text",
"tests": [],
"type": "string"
},
{
"description": "Match type",
"name": "match_type",
"tests": [],
"type": "string"
},
{
"description": "Requested keyword update",
"name": "requested_update",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed keyword/criterion update proposals before outbound Google Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads agent API keyword updates",
"spec_name": "google_ads_agent_api_keyword_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_agent_api_negative_keyword_proposals
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "negative_keyword_proposal_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "search_term_observation_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized search term",
"name": "search_term_hash",
"tests": [],
"type": "string"
},
{
"description": "Proposed negative match type",
"name": "proposed_match_type",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed negative keyword proposals from search-term findings before outbound Google Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads agent API negative keyword proposals",
"spec_name": "google_ads_agent_api_negative_keyword_proposals",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_ads_agent_api_offline_conversion_uploads
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "offline_conversion_upload_commitment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "conversion_action_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Customer id",
"name": "customer_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Upload job id",
"name": "job_id",
"tests": [],
"type": "string"
},
{
"description": "Conversion event count",
"name": "conversion_event_count",
"tests": [],
"type": "integer"
},
{
"description": "Total conversion value",
"name": "conversion_value_total",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed offline conversion upload packets before outbound Google Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Ads agent API offline conversion uploads",
"spec_name": "google_ads_agent_api_offline_conversion_uploads",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_measurement_library
marketing commerce collection v1.0.0 Google AnalyticsGoogle Analytics specs for accounts, GA4 properties, data streams, event reports, page reports, acquisition reports, ecommerce reports, key events, audiences, custom definitions, realtime snapshots, and governed GA4 configuration updates.
- Direct systems
- Google Analytics
- Coverage
- Core
- Coverage notes
- Covers common GA4 reporting and configuration objects agents use for marketing measurement, ecommerce analysis, funnel review, and careful GA4 setup changes. It does not mirror every Data API dimension or metric, attribution report, user permission, tag setting, or early-preview Admin API feature.
- Source docs
- Google Analytics Data API runReport; Google Analytics dimensions and metrics; Google Analytics Admin API overview
- Next objects
attribution_reports;funnel_reports;cohort_reports;user_permissions;google_ads_links;bigquery_links;data_retention_settings;measurement_protocol_secrets- Omitted
- OAuth/token management; raw client identifiers; raw page URLs; complete user-level event export; every Data API dimension/metric combination
- Needs
- A Google Analytics agent/operator role. The generated calls use
google_analytics_agent. - Useful for
- Website and app measurement memory; Funnel and ecommerce reporting; Paid-media performance review; GA4 setup checks; Governed audience and key-event changes
- Extend with
- Links from Google Ads campaigns into acquisition reports; Links from Shopify/Square/Stripe revenue observations into ecommerce reports; Search Console query/page observations alongside page reports
- Links
- Audience update proposals cite the current audience observation; Key event update proposals cite the current key event observation; Custom definition proposals can cite current custom dimension observations; Custom definition proposals can cite current custom metric observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
google_analytics_api_accounts | Google Analytics | Observation | GA4 account observations. |
google_analytics_api_properties | Google Analytics | Observation | GA4 property observations. |
google_analytics_api_data_streams | Google Analytics | Observation | Data stream observations. |
google_analytics_api_events_report | Google Analytics | Observation | Event report observations. |
google_analytics_api_page_report | Google Analytics | Observation | Page and screen report observations. |
google_analytics_api_acquisition_report | Google Analytics | Observation | Traffic acquisition observations. |
google_analytics_api_ecommerce_report | Google Analytics | Observation | Ecommerce report observations. |
google_analytics_api_key_events | Google Analytics | Observation | Key event observations. |
google_analytics_api_audiences | Google Analytics | Observation | Audience observations. |
google_analytics_api_custom_dimensions | Google Analytics | Observation | Custom dimension observations. |
google_analytics_api_custom_metrics | Google Analytics | Observation | Custom metric observations. |
google_analytics_api_realtime_snapshots | Google Analytics | Observation | Realtime snapshot observations. |
google_analytics_agent_api_audience_updates | Google Analytics | Commitment workflow | Governed audience updates. |
google_analytics_agent_api_key_event_updates | Google Analytics | Commitment workflow | Governed key event updates. |
google_analytics_agent_api_custom_definition_updates | Google Analytics | Commitment workflow | Governed custom definition updates. |
View 15 create_spec calls
google_analytics_api_accounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Region code",
"name": "region_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Account observations for GA4 account identity, ownership, and access review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API accounts",
"spec_name": "google_analytics_api_accounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_properties
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "property_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Property display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Reporting time zone",
"name": "time_zone",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "GA4 property observations for property identity, currency, time zone, and lifecycle status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API properties",
"spec_name": "google_analytics_api_properties"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_data_streams
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "data_stream_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Stream display name",
"name": "stream_name",
"tests": [],
"type": "string"
},
{
"description": "Stream type",
"name": "stream_type",
"tests": [],
"type": "string"
},
{
"description": "Measurement id or app stream id",
"name": "measurement_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Web and app data stream observations for measurement ids, stream type, and collection health.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API data streams",
"spec_name": "google_analytics_api_data_streams"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_events_report
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "event_report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Event name",
"name": "event_name",
"tests": [],
"type": "string"
},
{
"description": "Event count",
"name": "event_count",
"tests": [],
"type": "integer"
},
{
"description": "Active users",
"name": "active_users",
"tests": [],
"type": "integer"
},
{
"description": "Total revenue",
"name": "total_revenue",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Event-level reporting observations for event names, counts, users, revenue, and date ranges.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API events report",
"spec_name": "google_analytics_api_events_report"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_page_report
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "page_report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Hashed page path or screen token",
"name": "page_path_hash",
"tests": [],
"type": "string"
},
{
"description": "Views",
"name": "screen_page_views",
"tests": [],
"type": "integer"
},
{
"description": "Active users",
"name": "active_users",
"tests": [],
"type": "integer"
},
{
"description": "Engagement rate",
"name": "engagement_rate",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Page and screen reporting observations for content performance, views, users, and engagement.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API page report",
"spec_name": "google_analytics_api_page_report"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_acquisition_report
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "acquisition_report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Session source",
"name": "session_source",
"tests": [],
"type": "string"
},
{
"description": "Session medium",
"name": "session_medium",
"tests": [],
"type": "string"
},
{
"description": "Session campaign",
"name": "session_campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Sessions",
"name": "sessions",
"tests": [],
"type": "integer"
},
{
"description": "Conversions",
"name": "conversions",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Traffic acquisition observations for source, medium, campaign, users, sessions, and conversions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API acquisition report",
"spec_name": "google_analytics_api_acquisition_report"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_ecommerce_report
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ecommerce_report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Item id",
"name": "item_id",
"tests": [],
"type": "string"
},
{
"description": "Item name",
"name": "item_name",
"tests": [],
"type": "string"
},
{
"description": "Items purchased",
"name": "items_purchased",
"tests": [],
"type": "integer"
},
{
"description": "Item revenue",
"name": "item_revenue",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Ecommerce reporting observations for items, purchases, revenue, and funnel review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API ecommerce report",
"spec_name": "google_analytics_api_ecommerce_report"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_key_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "key_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Event name",
"name": "event_name",
"tests": [],
"type": "string"
},
{
"description": "Counting method",
"name": "counting_method",
"tests": [],
"type": "string"
},
{
"description": "Default event value",
"name": "default_value",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Key event observations for conversion-important events and reporting configuration.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API key events",
"spec_name": "google_analytics_api_key_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_audiences
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "audience_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Audience name",
"name": "audience_name",
"tests": [],
"type": "string"
},
{
"description": "Membership duration days",
"name": "membership_duration_days",
"tests": [],
"type": "integer"
},
{
"description": "Ads personalization flag",
"name": "ads_personalization_enabled",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Audience observations for audience definitions, membership windows, and activation review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API audiences",
"spec_name": "google_analytics_api_audiences"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_custom_dimensions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "custom_dimension_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Parameter name",
"name": "parameter_name",
"tests": [],
"type": "string"
},
{
"description": "Display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Dimension scope",
"name": "scope",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Custom dimension observations for event/user/item-scoped reporting fields.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API custom dimensions",
"spec_name": "google_analytics_api_custom_dimensions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_custom_metrics
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "custom_metric_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Parameter name",
"name": "parameter_name",
"tests": [],
"type": "string"
},
{
"description": "Display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Measurement unit",
"name": "measurement_unit",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Custom metric observations for typed event metrics and reporting availability.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API custom metrics",
"spec_name": "google_analytics_api_custom_metrics"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_api_realtime_snapshots
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "realtime_snapshot_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Capture minute",
"name": "captured_minute",
"tests": [],
"type": "string"
},
{
"description": "Active users",
"name": "active_users",
"tests": [],
"type": "integer"
},
{
"description": "Top event name",
"name": "top_event_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed top page path",
"name": "top_page_path_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Realtime reporting observations for active users, current pages, campaigns, and events.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics API realtime snapshots",
"spec_name": "google_analytics_api_realtime_snapshots"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_agent_api_audience_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "audience_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "audience_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current audience name",
"name": "current_audience_name",
"tests": [],
"type": "string"
},
{
"description": "Proposed audience name",
"name": "proposed_audience_name",
"tests": [],
"type": "string"
},
{
"description": "Proposed membership duration days",
"name": "proposed_membership_duration_days",
"tests": [],
"type": "integer"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed GA4 audience create/update proposals before outbound Google Analytics sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics agent API audience updates",
"spec_name": "google_analytics_agent_api_audience_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_agent_api_key_event_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "key_event_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "key_event_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Event name",
"name": "event_name",
"tests": [],
"type": "string"
},
{
"description": "Current counting method",
"name": "current_counting_method",
"tests": [],
"type": "string"
},
{
"description": "Proposed counting method",
"name": "proposed_counting_method",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed key event configuration proposals before outbound Google Analytics sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics agent API key event updates",
"spec_name": "google_analytics_agent_api_key_event_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_analytics_agent_api_custom_definition_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "custom_definition_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "custom_definition_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Property id",
"name": "property_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Dimension or metric",
"name": "definition_type",
"tests": [],
"type": "string"
},
{
"description": "Parameter name",
"name": "parameter_name",
"tests": [],
"type": "string"
},
{
"description": "Display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Scope or unit",
"name": "scope_or_unit",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed custom dimension or metric proposals before outbound Google Analytics sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Analytics agent API custom definition updates",
"spec_name": "google_analytics_agent_api_custom_definition_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_analytics_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_commerce_library
commerce marketing collection v1.0.0 Google Merchant CenterGoogle Merchant Center specs for accounts, account issues, processed products, product inputs, product issues, data sources, upload health, local and regional inventory, promotions, performance reports, competitive visibility, conversion sources, programs, return policies, shipping settings, reviews, and governed catalog updates.
- Direct systems
- Google Merchant Center
- Coverage
- Core
- Coverage notes
- Covers common Merchant API surfaces for catalog health, Shopping visibility, product data operations, inventory, promotions, and approval-first catalog changes. It does not mirror every report, every advanced account setting, all review feed details, or broad write access to Merchant Center.
- Next objects
checkout_settings;order_tracking_signals;css_programs;product_studio_text_suggestions;product_studio_images;account_relationships;user_access;regional_shipping_services- Omitted
- OAuth/token management; raw customer review text; every Merchant Center report query; advanced account-only feed rules; complete account access-control metadata
- Needs
- A Google Merchant Center agent/operator role. The generated calls use
google_merchant_center_agent. - Useful for
- Shopping catalog memory; Product approval monitoring; Feed and data source health; Local inventory review; Promotion readiness; Governed product and inventory updates
- Extend with
- Links from Shopify products into product input update proposals; Links from Google Ads product performance into product issue review; Links from Search Console product-page findings into Merchant Center issue queues
- Links
- Product input update proposals cite submitted product input observations; Product input update proposals can cite product issue observations; Inventory update proposals can cite local inventory observations; Inventory update proposals can cite regional inventory observations; Promotion update proposals cite current promotion observations; Data source update proposals cite current data source observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
google_merchant_center_api_accounts | Google Merchant Center | Observation | Merchant account observations. |
google_merchant_center_api_account_issues | Google Merchant Center | Observation | Account issue observations. |
google_merchant_center_api_products | Google Merchant Center | Observation | Processed product observations. |
google_merchant_center_api_product_inputs | Google Merchant Center | Observation | Product input observations. |
google_merchant_center_api_product_issues | Google Merchant Center | Observation | Product issue observations. |
google_merchant_center_api_data_sources | Google Merchant Center | Observation | Data source observations. |
google_merchant_center_api_file_uploads | Google Merchant Center | Observation | File upload health observations. |
google_merchant_center_api_local_inventories | Google Merchant Center | Observation | Local inventory observations. |
google_merchant_center_api_regional_inventories | Google Merchant Center | Observation | Regional inventory observations. |
google_merchant_center_api_promotions | Google Merchant Center | Observation | Promotion observations. |
google_merchant_center_api_performance_report | Google Merchant Center | Observation | Shopping performance observations. |
google_merchant_center_api_competitive_visibility | Google Merchant Center | Observation | Competitive visibility observations. |
google_merchant_center_api_conversion_sources | Google Merchant Center | Observation | Conversion source observations. |
google_merchant_center_api_programs | Google Merchant Center | Observation | Shopping program observations. |
google_merchant_center_api_return_policies | Google Merchant Center | Observation | Return policy observations. |
google_merchant_center_api_shipping_settings | Google Merchant Center | Observation | Shipping settings observations. |
google_merchant_center_api_product_reviews | Google Merchant Center | Observation | Product review observations. |
google_merchant_center_api_merchant_reviews | Google Merchant Center | Observation | Merchant review observations. |
google_merchant_center_agent_api_product_input_updates | Google Merchant Center | Commitment workflow | Governed product input updates. |
google_merchant_center_agent_api_inventory_updates | Google Merchant Center | Commitment workflow | Governed inventory updates. |
google_merchant_center_agent_api_promotion_updates | Google Merchant Center | Commitment workflow | Governed promotion updates. |
google_merchant_center_agent_api_data_source_updates | Google Merchant Center | Commitment workflow | Governed data source updates. |
View 22 create_spec calls
google_merchant_center_api_accounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "merchant_account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account display name",
"name": "account_name",
"tests": [],
"type": "string"
},
{
"description": "Account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Parent merchant account id",
"name": "parent_account_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Merchant account observations for account identity, type, relationship, and operational status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API accounts",
"spec_name": "google_merchant_center_api_accounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_account_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "account_issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Issue type",
"name": "issue_type",
"tests": [],
"type": "string"
},
{
"description": "Issue severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Affected destination",
"name": "destination",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Account issue observations for policy, setup, verification, and account-health review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API account issues",
"spec_name": "google_merchant_center_api_account_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_products
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Offer id",
"name": "offer_id",
"tests": [],
"type": "string"
},
{
"description": "Product title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Content language",
"name": "content_language",
"tests": [],
"type": "string"
},
{
"description": "Feed label",
"name": "feed_label",
"tests": [],
"type": "string"
},
{
"description": "Availability",
"name": "availability",
"tests": [],
"type": "string"
},
{
"description": "Price amount",
"name": "price_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Processed product observations for final catalog state, destinations, approval, and item visibility.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API products",
"spec_name": "google_merchant_center_api_products"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_product_inputs
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_input_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Data source id",
"name": "data_source_id",
"tests": [],
"type": "string"
},
{
"description": "Offer id",
"name": "offer_id",
"tests": [],
"type": "string"
},
{
"description": "Channel",
"name": "channel",
"tests": [],
"type": "string"
},
{
"description": "Content language",
"name": "content_language",
"tests": [],
"type": "string"
},
{
"description": "Feed label",
"name": "feed_label",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Submitted product input observations for primary and supplemental product data before processing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API product inputs",
"spec_name": "google_merchant_center_api_product_inputs"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_product_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Issue type",
"name": "issue_type",
"tests": [],
"type": "string"
},
{
"description": "Issue severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Affected destination",
"name": "destination",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product issue observations for disapprovals, warnings, destination impacts, and remediation queues.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API product issues",
"spec_name": "google_merchant_center_api_product_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_data_sources
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "data_source_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Data source display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Input type",
"name": "input",
"tests": [],
"type": "string"
},
{
"description": "Data source type",
"name": "data_source_type",
"tests": [],
"type": "string"
},
{
"description": "Feed label",
"name": "feed_label",
"tests": [],
"type": "string"
},
{
"description": "Content language",
"name": "content_language",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Data source observations for product, inventory, promotion, review, and feed configuration.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API data sources",
"spec_name": "google_merchant_center_api_data_sources"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_file_uploads
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "file_upload_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Data source id",
"name": "data_source_id",
"tests": [],
"type": "string"
},
{
"description": "Processing state",
"name": "processing_state",
"tests": [],
"type": "string"
},
{
"description": "Total item count",
"name": "items_total",
"tests": [],
"type": "integer"
},
{
"description": "Failed item count",
"name": "items_failed",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Data source file upload observations for processing status, failures, and freshness review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API file uploads",
"spec_name": "google_merchant_center_api_file_uploads"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_local_inventories
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "local_inventory_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Store code",
"name": "store_code",
"tests": [],
"type": "string"
},
{
"description": "Availability",
"name": "availability",
"tests": [],
"type": "string"
},
{
"description": "Price amount",
"name": "price_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Local inventory observations for store-level item availability, price, pickup, and quantity.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API local inventories",
"spec_name": "google_merchant_center_api_local_inventories"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_regional_inventories
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "regional_inventory_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Region id",
"name": "region_id",
"tests": [],
"type": "string"
},
{
"description": "Availability",
"name": "availability",
"tests": [],
"type": "string"
},
{
"description": "Price amount",
"name": "price_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Regional inventory observations for regional availability, price, and shipping visibility.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API regional inventories",
"spec_name": "google_merchant_center_api_regional_inventories"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_promotions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "promotion_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Promotion title",
"name": "promotion_title",
"tests": [],
"type": "string"
},
{
"description": "Coupon value type",
"name": "coupon_value_type",
"tests": [],
"type": "string"
},
{
"description": "Start time",
"name": "start_time",
"tests": [],
"type": "string"
},
{
"description": "End time",
"name": "end_time",
"tests": [],
"type": "string"
},
{
"description": "Promotion status",
"name": "promotion_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Promotion observations for offer eligibility, dates, codes, destinations, and approval state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API promotions",
"spec_name": "google_merchant_center_api_promotions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_performance_report
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "merchant_performance_report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Impressions",
"name": "impressions",
"tests": [],
"type": "integer"
},
{
"description": "Click-through rate",
"name": "ctr",
"tests": [],
"type": "number"
},
{
"description": "Conversion value",
"name": "conversion_value",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shopping performance observations for impressions, clicks, CTR, conversions, and revenue by item or date.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API performance report",
"spec_name": "google_merchant_center_api_performance_report"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_competitive_visibility
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "competitive_visibility_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Category",
"name": "category",
"tests": [],
"type": "string"
},
{
"description": "Brand",
"name": "brand",
"tests": [],
"type": "string"
},
{
"description": "Price benchmark amount",
"name": "price_benchmark_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Competitive visibility observations for category, brand, price, and benchmark review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API competitive visibility",
"spec_name": "google_merchant_center_api_competitive_visibility"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_conversion_sources
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "conversion_source_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Conversion source name",
"name": "conversion_source_name",
"tests": [],
"type": "string"
},
{
"description": "Source type",
"name": "source_type",
"tests": [],
"type": "string"
},
{
"description": "Source state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Conversion source observations for Merchant Center measurement configuration.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API conversion sources",
"spec_name": "google_merchant_center_api_conversion_sources"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_programs
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "program_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Program name",
"name": "program_name",
"tests": [],
"type": "string"
},
{
"description": "Participation state",
"name": "participation_state",
"tests": [],
"type": "string"
},
{
"description": "Region code",
"name": "region_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shopping program observations for enabled destinations and participation status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API programs",
"spec_name": "google_merchant_center_api_programs"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_return_policies
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "return_policy_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Policy name",
"name": "policy_name",
"tests": [],
"type": "string"
},
{
"description": "Country code",
"name": "country_code",
"tests": [],
"type": "string"
},
{
"description": "Return window days",
"name": "return_window_days",
"tests": [],
"type": "integer"
},
{
"description": "Return method",
"name": "return_method",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Return policy observations for online return windows, fees, countries, and policy lifecycle.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API return policies",
"spec_name": "google_merchant_center_api_return_policies"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_shipping_settings
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "shipping_setting_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Service name",
"name": "service_name",
"tests": [],
"type": "string"
},
{
"description": "Country code",
"name": "country_code",
"tests": [],
"type": "string"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shipping settings observations for service coverage, rates, countries, and delivery promises.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API shipping settings",
"spec_name": "google_merchant_center_api_shipping_settings"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_product_reviews
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_review_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed review reference",
"name": "review_hash",
"tests": [],
"type": "string"
},
{
"description": "Rating",
"name": "rating",
"tests": [],
"type": "number"
},
{
"description": "Review state",
"name": "review_state",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product review observations for product ratings, review state, and item-level evidence.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API product reviews",
"spec_name": "google_merchant_center_api_product_reviews"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_api_merchant_reviews
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "merchant_review_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed review reference",
"name": "review_hash",
"tests": [],
"type": "string"
},
{
"description": "Rating",
"name": "rating",
"tests": [],
"type": "number"
},
{
"description": "Review state",
"name": "review_state",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Merchant review observations for store ratings, review state, and reputation review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center API merchant reviews",
"spec_name": "google_merchant_center_api_merchant_reviews"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_agent_api_product_input_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "product_input_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "product_input_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Offer id",
"name": "offer_id",
"tests": [],
"type": "string"
},
{
"description": "Data source id",
"name": "data_source_id",
"tests": [],
"type": "string"
},
{
"description": "Proposed title",
"name": "proposed_title",
"tests": [],
"type": "string"
},
{
"description": "Proposed availability",
"name": "proposed_availability",
"tests": [],
"type": "string"
},
{
"description": "Proposed price amount",
"name": "proposed_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed product input update proposals before outbound Merchant Center sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center agent API product input updates",
"spec_name": "google_merchant_center_agent_api_product_input_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_agent_api_inventory_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "inventory_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "inventory_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Local or regional",
"name": "inventory_scope",
"tests": [],
"type": "string"
},
{
"description": "Store or region id",
"name": "location_or_region_id",
"tests": [],
"type": "string"
},
{
"description": "Proposed availability",
"name": "proposed_availability",
"tests": [],
"type": "string"
},
{
"description": "Proposed price amount",
"name": "proposed_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed local or regional inventory update proposals before outbound Merchant Center sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center agent API inventory updates",
"spec_name": "google_merchant_center_agent_api_inventory_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_agent_api_promotion_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "promotion_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "promotion_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Promotion title",
"name": "promotion_title",
"tests": [],
"type": "string"
},
{
"description": "Start time",
"name": "start_time",
"tests": [],
"type": "string"
},
{
"description": "End time",
"name": "end_time",
"tests": [],
"type": "string"
},
{
"description": "Promotion status",
"name": "promotion_status",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed promotion create/update proposals before outbound Merchant Center sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center agent API promotion updates",
"spec_name": "google_merchant_center_agent_api_promotion_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_merchant_center_agent_api_data_source_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "data_source_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "data_source_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Merchant account id",
"name": "merchant_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Data source type",
"name": "data_source_type",
"tests": [],
"type": "string"
},
{
"description": "Proposed state",
"name": "proposed_state",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed data source configuration proposals before outbound Merchant Center sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Merchant Center agent API data source updates",
"spec_name": "google_merchant_center_agent_api_data_source_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_merchant_center_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_visibility_library
marketing operations collection v1.0.0 Google Search ConsoleGoogle Search Console specs for site properties, search analytics, URL inspection results, sitemap submissions, page indexing findings, enhancement findings, search performance opportunities, and governed inspection/submission requests.
- Direct systems
- Google Search Console
- Coverage
- Core
- Coverage notes
- Covers common Search Console API and agent-derived search visibility objects for organic search review, indexing triage, and page opportunity tracking. It does not mirror every Search Console UI report, raw query text, raw page URLs, or unsupported crawl diagnostics.
- Next objects
rich_result_type_details;video_indexing_findings;page_experience_findings;removal_requests;manual_actions;mobile_usability_findings- Omitted
- OAuth/token management; raw search queries; raw page URLs; complete Search Console UI-only report state; crawler log ingestion
- Needs
- A Google Search Console agent/operator role. The generated calls use
google_search_console_agent. - Useful for
- Organic search performance memory; Indexing triage; Search visibility opportunities; Content update planning; Site health follow-up
- Extend with
- Links from page indexing findings into
ops_issues; Links from Search Console page observations into GA4 page reports; Links from Merchant Center product issues into Search Console URL inspection requests - Links
- Sitemap submission requests cite the target site property observation; URL inspection requests cite the target site property observation; URL inspection requests can cite page indexing findings that triggered the inspection
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
google_search_console_api_sites | Google Search Console | Observation | Search Console site observations. |
google_search_console_api_search_analytics | Google Search Console | Observation | Search analytics observations. |
google_search_console_api_url_inspection_results | Google Search Console | Observation | URL inspection result observations. |
google_search_console_api_sitemap_submissions | Google Search Console | Observation | Sitemap submission observations. |
google_search_console_api_page_indexing_findings | Google Search Console | Observation | Page indexing finding observations. |
google_search_console_api_enhancement_findings | Google Search Console | Observation | Enhancement finding observations. |
google_search_console_api_search_performance_opportunities | Google Search Console | Observation | Search performance opportunity observations. |
google_search_console_agent_api_sitemap_submission_requests | Google Search Console | Commitment workflow | Governed sitemap submission requests. |
google_search_console_agent_api_url_inspection_requests | Google Search Console | Commitment workflow | Governed URL inspection requests. |
View 9 create_spec calls
google_search_console_api_sites
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "site_url_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed site URL or property token",
"name": "site_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Permission level",
"name": "permission_level",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Search Console property observations for site ownership, permission level, and search visibility scope.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console API sites",
"spec_name": "google_search_console_api_sites"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_api_search_analytics
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "search_analytics_report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Site URL id",
"name": "site_url_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Hashed query text",
"name": "query_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed page URL",
"name": "page_hash",
"tests": [],
"type": "string"
},
{
"description": "Country",
"name": "country",
"tests": [],
"type": "string"
},
{
"description": "Device",
"name": "device",
"tests": [],
"type": "string"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Impressions",
"name": "impressions",
"tests": [],
"type": "integer"
},
{
"description": "Click-through rate",
"name": "ctr",
"tests": [],
"type": "number"
},
{
"description": "Average position",
"name": "position",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Search analytics observations for queries, pages, countries, devices, clicks, impressions, CTR, and position.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console API search analytics",
"spec_name": "google_search_console_api_search_analytics"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_api_url_inspection_results
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "url_inspection_result_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Site URL id",
"name": "site_url_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed inspected URL",
"name": "inspected_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Inspection timestamp",
"name": "inspection_time",
"tests": [],
"type": "string"
},
{
"description": "Index status",
"name": "index_status",
"tests": [],
"type": "string"
},
{
"description": "Coverage state",
"name": "coverage_state",
"tests": [],
"type": "string"
},
{
"description": "Hashed Google-selected canonical URL",
"name": "google_canonical_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "URL inspection observations for index status, coverage state, canonical signals, and rich result review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console API URL inspection results",
"spec_name": "google_search_console_api_url_inspection_results"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_api_sitemap_submissions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sitemap_submission_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Site URL id",
"name": "site_url_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed sitemap URL",
"name": "sitemap_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Submission timestamp",
"name": "submitted_at",
"tests": [],
"type": "string"
},
{
"description": "Last downloaded timestamp",
"name": "last_downloaded_at",
"tests": [],
"type": "string"
},
{
"description": "Warning count",
"name": "warnings",
"tests": [],
"type": "integer"
},
{
"description": "Error count",
"name": "errors",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Sitemap submission observations for submitted sitemap URLs, last submitted time, and processing state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console API sitemap submissions",
"spec_name": "google_search_console_api_sitemap_submissions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_api_page_indexing_findings
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "page_indexing_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Site URL id",
"name": "site_url_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Issue type",
"name": "issue_type",
"tests": [],
"type": "string"
},
{
"description": "Hashed page URL",
"name": "page_hash",
"tests": [],
"type": "string"
},
{
"description": "Validation state",
"name": "validation_state",
"tests": [],
"type": "string"
},
{
"description": "Affected page count",
"name": "affected_page_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Page indexing finding observations for affected pages, issue groups, and remediation queues.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console API page indexing findings",
"spec_name": "google_search_console_api_page_indexing_findings"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_api_enhancement_findings
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "enhancement_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Site URL id",
"name": "site_url_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Enhancement type",
"name": "enhancement_type",
"tests": [],
"type": "string"
},
{
"description": "Issue type",
"name": "issue_type",
"tests": [],
"type": "string"
},
{
"description": "Validation state",
"name": "validation_state",
"tests": [],
"type": "string"
},
{
"description": "Affected page count",
"name": "affected_page_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Enhancement finding observations for structured data, page experience, and rich result eligibility review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console API enhancement findings",
"spec_name": "google_search_console_api_enhancement_findings"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_api_search_performance_opportunities
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "search_performance_opportunity_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Site URL id",
"name": "site_url_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Opportunity type",
"name": "opportunity_type",
"tests": [],
"type": "string"
},
{
"description": "Hashed query text",
"name": "query_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed page URL",
"name": "page_hash",
"tests": [],
"type": "string"
},
{
"description": "Impression delta",
"name": "impression_delta",
"tests": [],
"type": "integer"
},
{
"description": "Click delta",
"name": "click_delta",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Search performance opportunity observations for pages or queries with changing clicks, impressions, CTR, or position.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console API search performance opportunities",
"spec_name": "google_search_console_api_search_performance_opportunities"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_agent_api_sitemap_submission_requests
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "sitemap_submission_request_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "site_url_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed sitemap URL",
"name": "sitemap_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Submission reason",
"name": "submission_reason",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed sitemap submission requests before outbound Search Console sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console agent API sitemap submission requests",
"spec_name": "google_search_console_agent_api_sitemap_submission_requests",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_search_console_agent_api_url_inspection_requests
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "url_inspection_request_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "site_url_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed inspected URL",
"name": "inspected_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Inspection reason",
"name": "inspection_reason",
"tests": [],
"type": "string"
},
{
"description": "Inspection priority",
"name": "priority",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed URL inspection requests before an agent asks Search Console for fresh inspection results.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Search Console agent API URL inspection requests",
"spec_name": "google_search_console_agent_api_url_inspection_requests",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_search_console_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_local_library
marketing operations collection v1.0.0 Google Business ProfileGoogle Business Profile specs for accounts, locations, location insights, reviews, local posts, media, questions, answers, categories, attributes, verifications, notifications, and governed local profile updates.
- Direct systems
- Google Business Profile
- Coverage
- Core
- Coverage notes
- Covers common Business Profile API resources for local listings, reviews, posts, media, Q&A, verification, and location performance. It does not model public scraping, broad account access administration, raw reviewer details, or every specialized location attribute.
- Next objects
food_menus;service_lists;booking_links;health_provider_attributes;insurance_networks;customer_media_review;bulk_location_quality- Omitted
- OAuth/token management; raw reviewer PII; public-only profile scraping; complete admin invitation flows; every category-specific attribute
- Needs
- A Google Business Profile agent/operator role. The generated calls use
google_business_profile_agent. - Useful for
- Local listing memory; Review response workflow; Location performance reporting; Local post governance; Multi-location operations follow-up
- Extend with
- Links from location insights into local post proposals; Links from reviews into review reply proposals; Links from Search Console and GA4 local landing-page observations into location updates
- Links
- Location update proposals cite current location observations; Review reply proposals cite the review observation; Local post update proposals cite current post observations when updating existing posts; Media update proposals cite current media observations when updating metadata; Question answer proposals cite the customer question observation
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
google_business_profile_api_accounts | Google Business Profile | Observation | Business Profile account observations. |
google_business_profile_api_locations | Google Business Profile | Observation | Location observations. |
google_business_profile_api_location_insights | Google Business Profile | Observation | Location insight observations. |
google_business_profile_api_reviews | Google Business Profile | Observation | Review observations. |
google_business_profile_api_local_posts | Google Business Profile | Observation | Local post observations. |
google_business_profile_api_media | Google Business Profile | Observation | Media observations. |
google_business_profile_api_questions | Google Business Profile | Observation | Question observations. |
google_business_profile_api_answers | Google Business Profile | Observation | Answer observations. |
google_business_profile_api_categories | Google Business Profile | Observation | Category observations. |
google_business_profile_api_attributes | Google Business Profile | Observation | Attribute observations. |
google_business_profile_api_verifications | Google Business Profile | Observation | Verification observations. |
google_business_profile_api_notifications | Google Business Profile | Observation | Notification observations. |
google_business_profile_agent_api_location_updates | Google Business Profile | Commitment workflow | Governed location updates. |
google_business_profile_agent_api_review_replies | Google Business Profile | Commitment workflow | Governed review replies. |
google_business_profile_agent_api_local_post_updates | Google Business Profile | Commitment workflow | Governed local post updates. |
google_business_profile_agent_api_media_updates | Google Business Profile | Commitment workflow | Governed media updates. |
google_business_profile_agent_api_question_answers | Google Business Profile | Commitment workflow | Governed question answers. |
View 17 create_spec calls
google_business_profile_api_accounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "business_profile_account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account display name",
"name": "account_name",
"tests": [],
"type": "string"
},
{
"description": "Account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Business Profile account observations for ownership, account type, and location management.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API accounts",
"spec_name": "google_business_profile_api_accounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_locations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "location_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "business_profile_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location name",
"name": "location_name",
"tests": [],
"type": "string"
},
{
"description": "Primary category",
"name": "primary_category",
"tests": [],
"type": "string"
},
{
"description": "Place id",
"name": "place_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed website URL",
"name": "website_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Verification state",
"name": "verification_state",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Location observations for business identity, category, address token, phone, website, status, and service area.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API locations",
"spec_name": "google_business_profile_api_locations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_location_insights
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "location_insight_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Metric name",
"name": "metric_name",
"tests": [],
"type": "string"
},
{
"description": "Metric value",
"name": "metric_value",
"tests": [],
"type": "number"
},
{
"description": "Hashed search term",
"name": "search_term_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Location insight observations for calls, direction requests, website clicks, views, and search terms.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API location insights",
"spec_name": "google_business_profile_api_location_insights"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_reviews
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "review_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed review reference",
"name": "review_hash",
"tests": [],
"type": "string"
},
{
"description": "Rating",
"name": "rating",
"tests": [],
"type": "number"
},
{
"description": "Review creation timestamp",
"name": "review_create_time",
"tests": [],
"type": "string"
},
{
"description": "Reply status",
"name": "reply_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Review observations for rating, reviewer token, comment state, reply status, and location reputation review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API reviews",
"spec_name": "google_business_profile_api_reviews"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_local_posts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "local_post_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Post topic type",
"name": "post_topic_type",
"tests": [],
"type": "string"
},
{
"description": "Hashed post summary",
"name": "summary_hash",
"tests": [],
"type": "string"
},
{
"description": "Post state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Published timestamp",
"name": "published_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Local post observations for update, offer, event, and call-to-action review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API local posts",
"spec_name": "google_business_profile_api_local_posts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_media
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "media_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Media format",
"name": "media_format",
"tests": [],
"type": "string"
},
{
"description": "Media category",
"name": "category",
"tests": [],
"type": "string"
},
{
"description": "Media source",
"name": "source",
"tests": [],
"type": "string"
},
{
"description": "Hashed thumbnail URL",
"name": "thumbnail_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Media observations for location photos, videos, metadata, categories, and customer contributions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API media",
"spec_name": "google_business_profile_api_media"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_questions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "question_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed question text",
"name": "question_hash",
"tests": [],
"type": "string"
},
{
"description": "Creation timestamp",
"name": "create_time",
"tests": [],
"type": "string"
},
{
"description": "Answer count",
"name": "answer_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Question observations for customer questions and answer readiness.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API questions",
"spec_name": "google_business_profile_api_questions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_answers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "answer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Question id",
"name": "question_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed answer text",
"name": "answer_hash",
"tests": [],
"type": "string"
},
{
"description": "Author type",
"name": "author_type",
"tests": [],
"type": "string"
},
{
"description": "Creation timestamp",
"name": "create_time",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Answer observations for posted answers, author type, and question follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API answers",
"spec_name": "google_business_profile_api_answers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_categories
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "category_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Category display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Service types count",
"name": "service_types_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Business category observations for available categories and location classification review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API categories",
"spec_name": "google_business_profile_api_categories"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_attributes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "attribute_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Attribute name",
"name": "attribute_name",
"tests": [],
"type": "string"
},
{
"description": "Value type",
"name": "value_type",
"tests": [],
"type": "string"
},
{
"description": "Display name",
"name": "display_name",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Attribute observations for location-specific services, amenities, accessibility, and operating details.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API attributes",
"spec_name": "google_business_profile_api_attributes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_verifications
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "verification_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Verification method",
"name": "method",
"tests": [],
"type": "string"
},
{
"description": "Verification state",
"name": "state",
"tests": [],
"type": "string"
},
{
"description": "Creation timestamp",
"name": "create_time",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Verification observations for location verification state and required follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API verifications",
"spec_name": "google_business_profile_api_verifications"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_api_notifications
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "business_profile_notification_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Account id",
"name": "business_profile_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [],
"type": "string"
},
{
"description": "Notification type",
"name": "notification_type",
"tests": [],
"type": "string"
},
{
"description": "Event timestamp",
"name": "event_time",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Notification observations for new reviews, location updates, and account-level event replay.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile API notifications",
"spec_name": "google_business_profile_api_notifications"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_agent_api_location_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "location_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Account id",
"name": "business_profile_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed current value",
"name": "current_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed location information update proposals before outbound Business Profile sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile agent API location updates",
"spec_name": "google_business_profile_agent_api_location_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_agent_api_review_replies
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "review_reply_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "review_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review rating",
"name": "rating",
"tests": [],
"type": "number"
},
{
"description": "Hashed reply text",
"name": "reply_text_hash",
"tests": [],
"type": "string"
},
{
"description": "Reply tone",
"name": "reply_tone",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed review reply proposals before outbound Business Profile sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile agent API review replies",
"spec_name": "google_business_profile_agent_api_review_replies",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_agent_api_local_post_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "local_post_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "local_post_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Post topic type",
"name": "post_topic_type",
"tests": [],
"type": "string"
},
{
"description": "Hashed post summary",
"name": "summary_hash",
"tests": [],
"type": "string"
},
{
"description": "Publish start time",
"name": "publish_start_time",
"tests": [],
"type": "string"
},
{
"description": "Publish end time",
"name": "publish_end_time",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed local post create/update proposals before outbound Business Profile sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile agent API local post updates",
"spec_name": "google_business_profile_agent_api_local_post_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_agent_api_media_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "media_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "media_item_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Media format",
"name": "media_format",
"tests": [],
"type": "string"
},
{
"description": "Media category",
"name": "category",
"tests": [],
"type": "string"
},
{
"description": "Hashed media URI",
"name": "media_uri_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed media create/update proposals before outbound Business Profile sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile agent API media updates",
"spec_name": "google_business_profile_agent_api_media_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
google_business_profile_agent_api_question_answers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "question_answer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "question_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Location id",
"name": "location_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed question text",
"name": "question_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed answer text",
"name": "answer_hash",
"tests": [],
"type": "string"
},
{
"description": "Answer source",
"name": "answer_source",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed answer proposals before outbound Business Profile sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Google Business Profile agent API question answers",
"spec_name": "google_business_profile_agent_api_question_answers",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "google_business_profile_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_commerce_library
commerce marketing collection v1.0.0 TikTok ShopTikTok Shop specs for shops, products, SKUs, inventory, warehouses, orders, order lines, fulfillments, returns, refunds, settlements, statement transactions, promotions, product issues, affiliate content, webhook events, and governed shop updates.
- Direct systems
- TikTok Shop
- Coverage
- Core
- Coverage notes
- Covers common TikTok Shop commerce objects for product, offer, order, fulfillment, return, settlement, and marketplace-health memory. It does not mirror every seller setting, creator program surface, compliance workflow, or restricted write operation.
- Next objects
category_attributes;product_size_charts;global_seller_shops;creator_affiliate_orders;customer_service_messages;shipping_provider_services;shop_performance_scores- Omitted
- OAuth/token management; raw buyer PII; full creator profile payloads; restricted compliance documents; every seller settings surface
- Needs
- A TikTok Shop agent/operator role. The generated calls use
tiktok_shop_agent. - Useful for
- TikTok Shop catalog memory; Marketplace order review; Fulfillment follow-up; Return and refund review; Settlement reconciliation; Shopify/TikTok catalog and inventory comparison
- Extend with
- Links from Shopify products into TikTok product update proposals; Links from reconciliation findings into SKU price or inventory updates; Links from TikTok settlement observations into QuickBooks or NetSuite cash records
- Links
- Product update proposals cite current TikTok Shop product observations; SKU price update proposals cite current SKU observations; Inventory update proposals cite current inventory observations; Fulfillment update proposals cite current order observations; Return/refund proposals cite current return observations; Promotion update proposals cite current promotion observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
tiktok_shop_api_shops | TikTok Shop | Observation | TikTok Shop setup observations. |
tiktok_shop_api_products | TikTok Shop | Observation | TikTok Shop product observations. |
tiktok_shop_api_skus | TikTok Shop | Observation | TikTok Shop SKU and offer observations. |
tiktok_shop_api_inventory_levels | TikTok Shop | Observation | TikTok Shop inventory observations. |
tiktok_shop_api_warehouses | TikTok Shop | Observation | TikTok Shop warehouse observations. |
tiktok_shop_api_orders | TikTok Shop | Observation | TikTok Shop order observations. |
tiktok_shop_api_order_lines | TikTok Shop | Observation | TikTok Shop order line observations. |
tiktok_shop_api_fulfillments | TikTok Shop | Observation | TikTok Shop fulfillment observations. |
tiktok_shop_api_returns | TikTok Shop | Observation | TikTok Shop return observations. |
tiktok_shop_api_refunds | TikTok Shop | Observation | TikTok Shop refund observations. |
tiktok_shop_api_settlements | TikTok Shop | Observation | TikTok Shop settlement observations. |
tiktok_shop_api_statement_transactions | TikTok Shop | Observation | TikTok Shop statement transaction observations. |
tiktok_shop_api_promotions | TikTok Shop | Observation | TikTok Shop promotion observations. |
tiktok_shop_api_product_issues | TikTok Shop | Observation | TikTok Shop product issue observations. |
tiktok_shop_api_affiliate_content | TikTok Shop | Observation | TikTok Shop affiliate content observations. |
tiktok_shop_api_webhook_events | TikTok Shop | Observation | TikTok Shop event observations. |
tiktok_shop_agent_api_product_updates | TikTok Shop | Commitment workflow | Governed TikTok Shop product updates. |
tiktok_shop_agent_api_sku_price_updates | TikTok Shop | Commitment workflow | Governed TikTok Shop SKU price updates. |
tiktok_shop_agent_api_inventory_updates | TikTok Shop | Commitment workflow | Governed TikTok Shop inventory updates. |
tiktok_shop_agent_api_fulfillment_updates | TikTok Shop | Commitment workflow | Governed TikTok Shop fulfillment updates. |
tiktok_shop_agent_api_return_refund_updates | TikTok Shop | Commitment workflow | Governed TikTok Shop return/refund updates. |
tiktok_shop_agent_api_promotion_updates | TikTok Shop | Commitment workflow | Governed TikTok Shop promotion updates. |
View 22 create_spec calls
tiktok_shop_api_shops
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "shop_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop name",
"name": "shop_name",
"tests": [],
"type": "string"
},
{
"description": "Region code",
"name": "region_code",
"tests": [],
"type": "string"
},
{
"description": "Seller type",
"name": "seller_type",
"tests": [],
"type": "string"
},
{
"description": "Shop status",
"name": "shop_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shop observations for seller identity, region, authorization, status, and storefront review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API shops",
"spec_name": "tiktok_shop_api_shops"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_products
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller SKU",
"name": "seller_sku",
"tests": [],
"type": "string"
},
{
"description": "Product title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Category id",
"name": "category_id",
"tests": [],
"type": "string"
},
{
"description": "Brand name",
"name": "brand_name",
"tests": [],
"type": "string"
},
{
"description": "Product status",
"name": "product_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product observations for TikTok Shop catalog identity, listing status, category, brand, and content review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API products",
"spec_name": "tiktok_shop_api_products"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_skus
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sku_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller SKU",
"name": "seller_sku",
"tests": [],
"type": "string"
},
{
"description": "Variant option summary",
"name": "option_summary",
"tests": [],
"type": "string"
},
{
"description": "Price amount",
"name": "price_amount",
"tests": [],
"type": "number"
},
{
"description": "Sale price amount",
"name": "sale_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "SKU observations for TikTok Shop variants, seller SKUs, price, sale price, stock, and option values.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API SKUs",
"spec_name": "tiktok_shop_api_skus"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_inventory_levels
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "inventory_level_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "SKU id",
"name": "sku_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Warehouse id",
"name": "warehouse_id",
"tests": [],
"type": "string"
},
{
"description": "Available quantity",
"name": "available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Reserved quantity",
"name": "reserved_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Inventory observations for TikTok Shop SKU stock by warehouse and sellable status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API inventory levels",
"spec_name": "tiktok_shop_api_inventory_levels"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_warehouses
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "warehouse_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Warehouse name",
"name": "warehouse_name",
"tests": [],
"type": "string"
},
{
"description": "Warehouse type",
"name": "warehouse_type",
"tests": [],
"type": "string"
},
{
"description": "Region code",
"name": "region_code",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Warehouse observations for fulfillment location, region, and inventory routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API warehouses",
"spec_name": "tiktok_shop_api_warehouses"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Order number",
"name": "order_number",
"tests": [],
"type": "string"
},
{
"description": "Hashed buyer reference",
"name": "buyer_hash",
"tests": [],
"type": "string"
},
{
"description": "Order status",
"name": "order_status",
"tests": [],
"type": "string"
},
{
"description": "Fulfillment status",
"name": "fulfillment_status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order observations for TikTok Shop order lifecycle, buyer-safe tokens, totals, payment, and fulfillment status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API orders",
"spec_name": "tiktok_shop_api_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_order_lines
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "order_line_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "SKU id",
"name": "sku_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "seller_sku",
"tests": [],
"type": "string"
},
{
"description": "Quantity",
"name": "quantity",
"tests": [],
"type": "integer"
},
{
"description": "Line total amount",
"name": "line_total_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order line observations for TikTok Shop purchased products, SKUs, quantity, price, tax, and discounts.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API order lines",
"spec_name": "tiktok_shop_api_order_lines"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_fulfillments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "fulfillment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Package id",
"name": "package_id",
"tests": [],
"type": "string"
},
{
"description": "Carrier code",
"name": "carrier_code",
"tests": [],
"type": "string"
},
{
"description": "Hashed tracking number",
"name": "tracking_number_hash",
"tests": [],
"type": "string"
},
{
"description": "Shipped timestamp",
"name": "shipped_at",
"tests": [],
"type": "string"
},
{
"description": "Delivery status",
"name": "delivery_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Fulfillment observations for shipment creation, carrier, tracking, delivery status, and order sync review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API fulfillments",
"spec_name": "tiktok_shop_api_fulfillments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_returns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "return_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Return status",
"name": "return_status",
"tests": [],
"type": "string"
},
{
"description": "Return reason",
"name": "return_reason",
"tests": [],
"type": "string"
},
{
"description": "Requested timestamp",
"name": "requested_at",
"tests": [],
"type": "string"
},
{
"description": "Return line count",
"name": "return_line_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Return observations for buyer return requests, return status, reason, items, and seller action.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API returns",
"spec_name": "tiktok_shop_api_returns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_refunds
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "refund_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Return id",
"name": "return_id",
"tests": [],
"type": "string"
},
{
"description": "Refund status",
"name": "refund_status",
"tests": [],
"type": "string"
},
{
"description": "Refund amount",
"name": "refund_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Refund observations for refund amount, status, reason, and related return or order.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API refunds",
"spec_name": "tiktok_shop_api_refunds"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_settlements
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "settlement_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Period start",
"name": "period_start",
"tests": [],
"type": "string"
},
{
"description": "Period end",
"name": "period_end",
"tests": [],
"type": "string"
},
{
"description": "Settlement status",
"name": "settlement_status",
"tests": [],
"type": "string"
},
{
"description": "Gross amount",
"name": "gross_amount",
"tests": [],
"type": "number"
},
{
"description": "Net amount",
"name": "net_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Settlement observations for payout periods, settlement status, gross sales, fees, adjustments, and net payout.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API settlements",
"spec_name": "tiktok_shop_api_settlements"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_statement_transactions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "statement_transaction_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Settlement id",
"name": "settlement_id",
"tests": [],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [],
"type": "string"
},
{
"description": "Transaction type",
"name": "transaction_type",
"tests": [],
"type": "string"
},
{
"description": "Transaction amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Statement transaction observations for TikTok Shop fees, refunds, adjustments, settlements, and order-level cash review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API statement transactions",
"spec_name": "tiktok_shop_api_statement_transactions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_promotions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "promotion_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Promotion name",
"name": "promotion_name",
"tests": [],
"type": "string"
},
{
"description": "Promotion type",
"name": "promotion_type",
"tests": [],
"type": "string"
},
{
"description": "Promotion status",
"name": "promotion_status",
"tests": [],
"type": "string"
},
{
"description": "Start time",
"name": "start_time",
"tests": [],
"type": "string"
},
{
"description": "End time",
"name": "end_time",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Promotion observations for TikTok Shop discounts, product eligibility, dates, and status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API promotions",
"spec_name": "tiktok_shop_api_promotions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_product_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "SKU id",
"name": "sku_id",
"tests": [],
"type": "string"
},
{
"description": "Issue type",
"name": "issue_type",
"tests": [],
"type": "string"
},
{
"description": "Issue severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Resolution status",
"name": "resolution_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product issue observations for TikTok Shop listing suppression, policy, stock, catalog, or compliance follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API product issues",
"spec_name": "tiktok_shop_api_product_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_affiliate_content
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "affiliate_content_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed creator id",
"name": "creator_id_hash",
"tests": [],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Content type",
"name": "content_type",
"tests": [],
"type": "string"
},
{
"description": "Commission rate",
"name": "commission_rate",
"tests": [],
"type": "number"
},
{
"description": "Content status",
"name": "content_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Affiliate and shoppable content observations for creator, product, commission, and content performance review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API affiliate content",
"spec_name": "tiktok_shop_api_affiliate_content"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_api_webhook_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "webhook_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Resource type",
"name": "resource_type",
"tests": [],
"type": "string"
},
{
"description": "Resource id",
"name": "resource_id",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Webhook event observations for TikTok Shop product, order, fulfillment, return, and settlement replay.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop API webhook events",
"spec_name": "tiktok_shop_api_webhook_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_agent_api_product_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "product_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "product_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller SKU",
"name": "seller_sku",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed current value",
"name": "current_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Shop product content or status update proposals before outbound TikTok Shop sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop agent API product updates",
"spec_name": "tiktok_shop_agent_api_product_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_agent_api_sku_price_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "sku_price_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "sku_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "seller_sku",
"tests": [],
"type": "string"
},
{
"description": "Current price amount",
"name": "current_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed price amount",
"name": "proposed_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Shop SKU price or offer update proposals before outbound TikTok Shop sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop agent API SKU price updates",
"spec_name": "tiktok_shop_agent_api_sku_price_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_agent_api_inventory_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "inventory_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "inventory_level_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU id",
"name": "sku_id",
"tests": [],
"type": "string"
},
{
"description": "Warehouse id",
"name": "warehouse_id",
"tests": [],
"type": "string"
},
{
"description": "Current available quantity",
"name": "current_available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Proposed available quantity",
"name": "proposed_available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Shop inventory update proposals before outbound TikTok Shop sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop agent API inventory updates",
"spec_name": "tiktok_shop_agent_api_inventory_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_agent_api_fulfillment_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "fulfillment_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Package id",
"name": "package_id",
"tests": [],
"type": "string"
},
{
"description": "Carrier code",
"name": "carrier_code",
"tests": [],
"type": "string"
},
{
"description": "Hashed tracking number",
"name": "tracking_number_hash",
"tests": [],
"type": "string"
},
{
"description": "Fulfillment action",
"name": "fulfillment_action",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Shop fulfillment or tracking update proposals before outbound TikTok Shop sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop agent API fulfillment updates",
"spec_name": "tiktok_shop_agent_api_fulfillment_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_agent_api_return_refund_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "return_refund_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "return_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Order id",
"name": "order_id",
"tests": [],
"type": "string"
},
{
"description": "Requested resolution",
"name": "requested_resolution",
"tests": [],
"type": "string"
},
{
"description": "Refund amount",
"name": "refund_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Shop return or refund action proposals before outbound TikTok Shop sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop agent API return refund updates",
"spec_name": "tiktok_shop_agent_api_return_refund_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_shop_agent_api_promotion_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "promotion_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "promotion_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Shop id",
"name": "shop_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Promotion name",
"name": "promotion_name",
"tests": [],
"type": "string"
},
{
"description": "Promotion type",
"name": "promotion_type",
"tests": [],
"type": "string"
},
{
"description": "Start time",
"name": "start_time",
"tests": [],
"type": "string"
},
{
"description": "End time",
"name": "end_time",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Shop promotion create/update proposals before outbound TikTok Shop sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Shop agent API promotion updates",
"spec_name": "tiktok_shop_agent_api_promotion_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_shop_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_marketing_library
marketing commerce collection v1.0.0 TikTok Ads Ad platformsTikTok Ads specs for advertisers, campaigns, ad groups, ads, creatives, Spark posts, catalogs, catalog products, product sets, pixels, events, audiences, performance reporting, product performance, comments, and governed ad updates.
- Direct systems
- TikTok Ads; Ad platforms
- Coverage
- Core
- Coverage notes
- Covers common TikTok Ads objects used for paid social review, catalog ads, event health, product performance, comment queues, and approval-first outbound ad changes. It does not mirror every report dimension, creative review detail, audience-source payload, or Business Center administration surface.
- Next objects
lead_forms;instant_pages;brand_safety_settings;creative_insights;video_assets;split_tests;business_center_assets;shop_ads_extended_reporting- Omitted
- OAuth/token management; raw user identifiers; full audience upload payloads; every reporting dimension combination; restricted moderation operations
- Needs
- A TikTok Ads agent/operator role. The generated calls use
tiktok_ads_agent. - Useful for
- Paid social campaign memory; Catalog ad review; Creative performance analysis; Pixel and event health checks; Comment moderation queues; Governed campaign and creative updates
- Extend with
- Links from Shopify/TikTok Shop catalog observations into catalog product updates; Links from TikTok product performance into price or product content reconciliation findings; Links from GA4 and TikTok event observations into conversion-health review
- Links
- Campaign budget proposals cite current campaign observations; Campaign status proposals cite current campaign observations; Ad group bid proposals cite current ad group observations; Creative update proposals cite current creative observations; Audience proposals cite current audience observations when updating existing audiences; Catalog product proposals cite current catalog product observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
tiktok_ads_api_advertisers | TikTok Ads, Ad platforms | Observation | TikTok Ads advertiser observations. |
tiktok_ads_api_campaigns | TikTok Ads, Ad platforms | Observation | TikTok Ads campaign observations. |
tiktok_ads_api_ad_groups | TikTok Ads, Ad platforms | Observation | TikTok Ads ad group observations. |
tiktok_ads_api_ads | TikTok Ads, Ad platforms | Observation | TikTok Ads ad observations. |
tiktok_ads_api_creatives | TikTok Ads, Ad platforms | Observation | TikTok Ads creative observations. |
tiktok_ads_api_spark_posts | TikTok Ads, Ad platforms | Observation | TikTok Spark post observations. |
tiktok_ads_api_catalogs | TikTok Ads, Ad platforms | Observation | TikTok Ads catalog observations. |
tiktok_ads_api_catalog_products | TikTok Ads, Ad platforms | Observation | TikTok Ads catalog product observations. |
tiktok_ads_api_product_sets | TikTok Ads, Ad platforms | Observation | TikTok Ads product set observations. |
tiktok_ads_api_pixels | TikTok Ads, Ad platforms | Observation | TikTok Ads pixel observations. |
tiktok_ads_api_events | TikTok Ads, Ad platforms | Observation | TikTok Ads event observations. |
tiktok_ads_api_audiences | TikTok Ads, Ad platforms | Observation | TikTok Ads audience observations. |
tiktok_ads_api_performance_metrics | TikTok Ads, Ad platforms | Observation | TikTok Ads performance observations. |
tiktok_ads_api_product_performance | TikTok Ads, Ad platforms | Observation | TikTok product performance observations. |
tiktok_ads_api_comments | TikTok Ads, Ad platforms | Observation | TikTok Ads comment observations. |
tiktok_ads_agent_api_campaign_budget_updates | TikTok Ads, Ad platforms | Commitment workflow | Governed TikTok Ads campaign budget updates. |
tiktok_ads_agent_api_campaign_status_updates | TikTok Ads, Ad platforms | Commitment workflow | Governed TikTok Ads campaign status updates. |
tiktok_ads_agent_api_ad_group_bid_updates | TikTok Ads, Ad platforms | Commitment workflow | Governed TikTok Ads ad group bid updates. |
tiktok_ads_agent_api_creative_updates | TikTok Ads, Ad platforms | Commitment workflow | Governed TikTok Ads creative updates. |
tiktok_ads_agent_api_audience_updates | TikTok Ads, Ad platforms | Commitment workflow | Governed TikTok Ads audience updates. |
tiktok_ads_agent_api_catalog_product_updates | TikTok Ads, Ad platforms | Commitment workflow | Governed TikTok Ads catalog product updates. |
View 21 create_spec calls
tiktok_ads_api_advertisers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "advertiser_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser name",
"name": "advertiser_name",
"tests": [],
"type": "string"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Time zone",
"name": "time_zone",
"tests": [],
"type": "string"
},
{
"description": "Advertiser status",
"name": "advertiser_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Advertiser observations for TikTok Ads account identity, currency, time zone, and status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API advertisers",
"spec_name": "tiktok_ads_api_advertisers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Objective type",
"name": "objective_type",
"tests": [],
"type": "string"
},
{
"description": "Budget mode",
"name": "budget_mode",
"tests": [],
"type": "string"
},
{
"description": "Budget amount",
"name": "budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Campaign status",
"name": "campaign_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign observations for objective, budget, status, and TikTok Ads campaign structure.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API campaigns",
"spec_name": "tiktok_ads_api_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_ad_groups
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ad_group_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group name",
"name": "ad_group_name",
"tests": [],
"type": "string"
},
{
"description": "Placement type",
"name": "placement_type",
"tests": [],
"type": "string"
},
{
"description": "Optimization goal",
"name": "optimization_goal",
"tests": [],
"type": "string"
},
{
"description": "Bid amount",
"name": "bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Ad group status",
"name": "ad_group_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Ad group observations for placement, targeting, budget, bid, schedule, and delivery status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API ad groups",
"spec_name": "tiktok_ads_api_ad_groups"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_ads
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ad_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [],
"type": "string"
},
{
"description": "Ad name",
"name": "ad_name",
"tests": [],
"type": "string"
},
{
"description": "Creative id",
"name": "creative_id",
"tests": [],
"type": "string"
},
{
"description": "Review status",
"name": "review_status",
"tests": [],
"type": "string"
},
{
"description": "Ad status",
"name": "ad_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Ad observations for TikTok Ads creative linkage, review status, delivery status, and landing destination.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API ads",
"spec_name": "tiktok_ads_api_ads"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_creatives
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "creative_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Creative name",
"name": "creative_name",
"tests": [],
"type": "string"
},
{
"description": "Creative type",
"name": "creative_type",
"tests": [],
"type": "string"
},
{
"description": "Video id",
"name": "video_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed landing page URL",
"name": "landing_page_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Review status",
"name": "review_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Creative observations for videos, images, titles, call-to-action, landing page tokens, and review state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API creatives",
"spec_name": "tiktok_ads_api_creatives"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_spark_posts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "spark_post_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed post id",
"name": "post_id_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed creator id",
"name": "creator_id_hash",
"tests": [],
"type": "string"
},
{
"description": "Authorization status",
"name": "authorization_status",
"tests": [],
"type": "string"
},
{
"description": "Post status",
"name": "post_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Spark post observations for organic post authorization, creator-safe token, and paid amplification review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API Spark posts",
"spec_name": "tiktok_ads_api_spark_posts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_catalogs
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "catalog_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Catalog name",
"name": "catalog_name",
"tests": [],
"type": "string"
},
{
"description": "Catalog vertical",
"name": "vertical",
"tests": [],
"type": "string"
},
{
"description": "Catalog status",
"name": "catalog_status",
"tests": [],
"type": "string"
},
{
"description": "Product count",
"name": "product_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Catalog observations for TikTok product catalogs used in ads and commerce campaigns.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API catalogs",
"spec_name": "tiktok_ads_api_catalogs"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_catalog_products
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "catalog_product_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Catalog id",
"name": "catalog_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Item id",
"name": "item_id",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Product title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Price amount",
"name": "price_amount",
"tests": [],
"type": "number"
},
{
"description": "Availability",
"name": "availability",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Catalog product observations for TikTok ad catalogs, item ids, price, availability, and review state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API catalog products",
"spec_name": "tiktok_ads_api_catalog_products"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_product_sets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_set_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Catalog id",
"name": "catalog_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product set name",
"name": "product_set_name",
"tests": [],
"type": "string"
},
{
"description": "Rule summary",
"name": "rule_summary",
"tests": [],
"type": "string"
},
{
"description": "Product count",
"name": "product_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product set observations for catalog segmentation, rules, and campaign eligibility.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API product sets",
"spec_name": "tiktok_ads_api_product_sets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_pixels
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "pixel_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Pixel name",
"name": "pixel_name",
"tests": [],
"type": "string"
},
{
"description": "Pixel status",
"name": "pixel_status",
"tests": [],
"type": "string"
},
{
"description": "Last fired timestamp",
"name": "last_fired_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Pixel observations for web event setup, connected advertiser, status, and event coverage.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API pixels",
"spec_name": "tiktok_ads_api_pixels"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "event_observation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Pixel id",
"name": "pixel_id",
"tests": [],
"type": "string"
},
{
"description": "Event name",
"name": "event_name",
"tests": [],
"type": "string"
},
{
"description": "Event date",
"name": "event_date",
"tests": [],
"type": "string"
},
{
"description": "Event count",
"name": "event_count",
"tests": [],
"type": "integer"
},
{
"description": "Match quality",
"name": "match_quality",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Event observations for TikTok pixel or events API activity, event names, match quality, and diagnostics.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API events",
"spec_name": "tiktok_ads_api_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_audiences
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "audience_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Audience name",
"name": "audience_name",
"tests": [],
"type": "string"
},
{
"description": "Audience type",
"name": "audience_type",
"tests": [],
"type": "string"
},
{
"description": "Audience status",
"name": "audience_status",
"tests": [],
"type": "string"
},
{
"description": "Audience size",
"name": "audience_size",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Audience observations for custom, lookalike, engagement, or customer-file audiences and availability.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API audiences",
"spec_name": "tiktok_ads_api_audiences"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_performance_metrics
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "tiktok_ads_performance_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Resource type",
"name": "resource_type",
"tests": [],
"type": "string"
},
{
"description": "Resource id",
"name": "resource_id",
"tests": [],
"type": "string"
},
{
"description": "Metric date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Spend amount",
"name": "spend_amount",
"tests": [],
"type": "number"
},
{
"description": "Impressions",
"name": "impressions",
"tests": [],
"type": "integer"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Conversions",
"name": "conversions",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Daily TikTok Ads performance observations for campaigns, ad groups, ads, spend, impressions, clicks, conversions, and revenue.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API performance metrics",
"spec_name": "tiktok_ads_api_performance_metrics"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_product_performance
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "tiktok_product_performance_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Catalog id",
"name": "catalog_id",
"tests": [],
"type": "string"
},
{
"description": "Item id",
"name": "item_id",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Metric date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Spend amount",
"name": "spend_amount",
"tests": [],
"type": "number"
},
{
"description": "Conversions",
"name": "conversions",
"tests": [],
"type": "number"
},
{
"description": "Revenue amount",
"name": "revenue_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "TikTok catalog or shop product performance observations for item-level spend, conversions, revenue, and ROAS review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API product performance",
"spec_name": "tiktok_ads_api_product_performance"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_api_comments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "comment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Ad id",
"name": "ad_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed post id",
"name": "post_id_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed comment text",
"name": "comment_hash",
"tests": [],
"type": "string"
},
{
"description": "Sentiment",
"name": "sentiment",
"tests": [],
"type": "string"
},
{
"description": "Moderation status",
"name": "moderation_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Comment observations for ad or organic content moderation, sentiment, and response queues where API access is available.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads API comments",
"spec_name": "tiktok_ads_api_comments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_agent_api_campaign_budget_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "campaign_budget_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current budget amount",
"name": "current_budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed budget amount",
"name": "proposed_budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Ads campaign budget update proposals before outbound TikTok Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads agent API campaign budget updates",
"spec_name": "tiktok_ads_agent_api_campaign_budget_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_agent_api_campaign_status_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "campaign_status_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Current status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Ads campaign status update proposals before outbound TikTok Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads agent API campaign status updates",
"spec_name": "tiktok_ads_agent_api_campaign_status_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_agent_api_ad_group_bid_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "ad_group_bid_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "ad_group_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Current bid amount",
"name": "current_bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed bid amount",
"name": "proposed_bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Ads ad group bid or budget update proposals before outbound TikTok Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads agent API ad group bid updates",
"spec_name": "tiktok_ads_agent_api_ad_group_bid_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_agent_api_creative_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "creative_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "creative_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Ad id",
"name": "ad_id",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed current value",
"name": "current_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Ads creative update proposals before outbound TikTok Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads agent API creative updates",
"spec_name": "tiktok_ads_agent_api_creative_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_agent_api_audience_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "audience_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "audience_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Audience name",
"name": "audience_name",
"tests": [],
"type": "string"
},
{
"description": "Audience type",
"name": "audience_type",
"tests": [],
"type": "string"
},
{
"description": "Proposed status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Ads audience create/update proposals before outbound TikTok Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads agent API audience updates",
"spec_name": "tiktok_ads_agent_api_audience_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
tiktok_ads_agent_api_catalog_product_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "catalog_product_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "catalog_product_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Catalog id",
"name": "catalog_id",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed TikTok Ads catalog product update proposals before outbound TikTok Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "TikTok Ads agent API catalog product updates",
"spec_name": "tiktok_ads_agent_api_catalog_product_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "tiktok_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_reconciliation_library
reconciliation commerce operations collection v1.0.0 Commerce reconciliationCommerce reconciliation specs for comparing customers, catalog presence, product content, prices, offers, inventory, orders, fulfillment, policy, payouts, campaigns, and storefront observations across systems.
- Direct systems
- Commerce reconciliation
- Related systems
- Website storefront; Shopify; Etsy; TikTok Shop; Amazon Selling Partner; Google Merchant Center; HubSpot; Stripe; Square
- Coverage
- Core
- Coverage notes
- Reconciliation specs store findings and evidence across systems. They are not Shopify, Etsy, Stripe, Square, or HubSpot source specs; accepted fixes should flow through the appropriate direct-system commitment spec.
- Source docs
- Airlock Spec Library JSON
- Next objects
customer_merge_commitments;canonical_product_master;content_approval_workflow; cross-system freshness expectations; automated issue routing; reconciliation run summaries- Omitted
- opaque sync jobs; raw buyer PII; unreviewed automatic writes; screen-scraped secrets; provider credentials
- Needs
- A commerce reconciliation agent/operator role. The generated reconciliation calls use
commerce_reconciliation_agent; website observations usewebsite_storefront_agent. - Useful for
- Finding missing products across systems; Comparing website pages to Shopify and marketplaces; Reviewing price and offer disagreement; Catching inventory and fulfillment drift; Comparing HubSpot contacts, deals, campaigns, invoices, and payments with commerce and ad systems; Routing accepted fixes to Shopify, Etsy, TikTok, Amazon, Google Merchant Center, HubSpot, Stripe, Square, QuickBooks, or NetSuite specs
- Extend with
- Copyable source-link calls from findings into target commitment specs; Run-level freshness expectations; Issue creation proposals for unresolved discrepancies; Canonical source priority rules by field and system
- Links
- Catalog findings can cite Shopify product observations; Catalog findings can cite TikTok Shop product observations; Catalog findings can cite Amazon listing observations; Product content findings can cite rendered website product-page observations; Product content findings can cite Merchant Center product observations; Product content findings can cite Amazon catalog item observations; Price findings can cite visible website offer observations; Price findings can cite TikTok Shop SKU observations; Price findings can cite Amazon offer and pricing observations; Inventory findings can cite Shopify inventory observations; Inventory findings can cite TikTok Shop inventory observations; Inventory findings can cite Amazon FBA inventory observations; Customer identity findings can cite HubSpot contact observations; Order sync findings can cite TikTok Shop order observations; Order sync findings can cite Amazon order observations; Order sync findings can cite HubSpot deal observations; Marketplace policy findings can cite Amazon listing issue observations; Promotion and campaign findings can cite HubSpot campaign observations; Promotion and campaign findings can cite HubSpot campaign performance observations; Settlement findings can cite HubSpot payment observations; Settlement findings can cite HubSpot invoice observations; Settlement findings can cite Stripe payout observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
website_storefront_product_pages | Website storefront | Website observation | Rendered product-page observations. |
website_storefront_product_offers | Website storefront | Website observation | Visible offer and price observations. |
website_storefront_structured_data | Website storefront | Website observation | Structured data observations. |
website_storefront_collection_pages | Website storefront | Website observation | Collection page observations. |
website_storefront_checkout_availability | Website storefront | Website observation | Checkout availability observations. |
commerce_customer_identity_reconciliation | Commerce reconciliation | Reconciliation | Customer identity reconciliation findings. |
commerce_catalog_presence_reconciliation | Commerce reconciliation | Reconciliation | Catalog presence reconciliation findings. |
commerce_product_content_reconciliation | Commerce reconciliation | Reconciliation | Product content reconciliation findings. |
commerce_price_offer_reconciliation | Commerce reconciliation | Reconciliation | Price and offer reconciliation findings. |
commerce_inventory_availability_reconciliation | Commerce reconciliation | Reconciliation | Inventory availability reconciliation findings. |
commerce_order_sync_reconciliation | Commerce reconciliation | Reconciliation | Order sync reconciliation findings. |
commerce_fulfillment_tracking_reconciliation | Commerce reconciliation | Reconciliation | Fulfillment tracking reconciliation findings. |
commerce_marketplace_policy_reconciliation | Commerce reconciliation | Reconciliation | Marketplace policy reconciliation findings. |
commerce_settlement_payout_reconciliation | Commerce reconciliation | Reconciliation | Settlement and payout reconciliation findings. |
commerce_promotion_campaign_reconciliation | Commerce reconciliation | Reconciliation | Promotion and campaign reconciliation findings. |
View 15 create_spec calls
website_storefront_product_pages
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_page_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Website or storefront id",
"name": "site_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed page URL",
"name": "page_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed canonical URL",
"name": "canonical_url_hash",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Product title",
"name": "product_title",
"tests": [],
"type": "string"
},
{
"description": "Availability",
"name": "availability",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Website product-page observations for canonical URL, title, description, media, availability, and published content review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Website storefront product pages",
"spec_name": "website_storefront_product_pages"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "website_storefront_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
website_storefront_product_offers
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_offer_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Product page id",
"name": "product_page_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Variant key",
"name": "variant_key",
"tests": [],
"type": "string"
},
{
"description": "Price amount",
"name": "price_amount",
"tests": [],
"type": "number"
},
{
"description": "Sale price amount",
"name": "sale_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Website offer observations for visible price, sale price, currency, availability, and variant selection.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Website storefront product offers",
"spec_name": "website_storefront_product_offers"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "website_storefront_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
website_storefront_structured_data
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "structured_data_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Product page id",
"name": "product_page_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed page URL",
"name": "page_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Schema type",
"name": "schema_type",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "GTIN or other product id",
"name": "gtin",
"tests": [],
"type": "string"
},
{
"description": "Validation status",
"name": "validation_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Structured data observations for product, offer, review, breadcrumb, and merchant metadata extracted from storefront pages.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Website storefront structured data",
"spec_name": "website_storefront_structured_data"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "website_storefront_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
website_storefront_collection_pages
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "collection_page_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Website or storefront id",
"name": "site_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed collection URL",
"name": "collection_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Collection name",
"name": "collection_name",
"tests": [],
"type": "string"
},
{
"description": "Product count",
"name": "product_count",
"tests": [],
"type": "integer"
},
{
"description": "Visible active product count",
"name": "visible_active_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Collection or category page observations for displayed products, sort placement, merchandising, and availability review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Website storefront collection pages",
"spec_name": "website_storefront_collection_pages"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "website_storefront_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
website_storefront_checkout_availability
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "checkout_availability_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Website or storefront id",
"name": "site_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Variant key",
"name": "variant_key",
"tests": [],
"type": "string"
},
{
"description": "Cart status",
"name": "cart_status",
"tests": [],
"type": "string"
},
{
"description": "Checkout status",
"name": "checkout_status",
"tests": [],
"type": "string"
},
{
"description": "Observed price amount",
"name": "observed_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Checkout availability observations for whether a SKU can be added to cart and reaches checkout with expected price and shipping state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Website storefront checkout availability",
"spec_name": "website_storefront_checkout_availability"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "website_storefront_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_customer_identity_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "customer_identity_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed customer email",
"name": "customer_email_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed customer phone",
"name": "customer_phone_hash",
"tests": [],
"type": "string"
},
{
"description": "External customer key or token",
"name": "external_customer_key",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Customer identity reconciliation findings across commerce, billing, CRM, support, and marketplace systems.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce customer identity reconciliation",
"spec_name": "commerce_customer_identity_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_catalog_presence_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "catalog_presence_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "First system presence state",
"name": "left_presence_state",
"tests": [],
"type": "string"
},
{
"description": "Second system presence state",
"name": "right_presence_state",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Catalog presence findings for products or SKUs missing, duplicated, inactive, or unexpectedly visible across sales surfaces.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce catalog presence reconciliation",
"spec_name": "commerce_catalog_presence_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_product_content_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "product_content_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Compared field",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed first value",
"name": "left_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed second value",
"name": "right_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed recommended value",
"name": "canonical_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product content findings for title, description, images, category, tags, structured data, or PDP copy disagreement.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce product content reconciliation",
"spec_name": "commerce_product_content_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_price_offer_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "price_offer_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "First system price amount",
"name": "left_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Second system price amount",
"name": "right_price_amount",
"tests": [],
"type": "number"
},
{
"description": "First offer status",
"name": "left_offer_status",
"tests": [],
"type": "string"
},
{
"description": "Second offer status",
"name": "right_offer_status",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Price and offer findings for base price, sale price, discounts, bundles, marketplace offers, and visible storefront prices.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce price offer reconciliation",
"spec_name": "commerce_price_offer_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_inventory_availability_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "inventory_availability_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Location or warehouse id",
"name": "location_or_warehouse_id",
"tests": [],
"type": "string"
},
{
"description": "First system available quantity",
"name": "left_available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Second system available quantity",
"name": "right_available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "First availability state",
"name": "left_availability",
"tests": [],
"type": "string"
},
{
"description": "Second availability state",
"name": "right_availability",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Inventory and availability findings for quantity, stock status, warehouse/location state, marketplace active state, and checkout availability.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce inventory availability reconciliation",
"spec_name": "commerce_inventory_availability_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_order_sync_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "order_sync_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Order number",
"name": "order_number",
"tests": [],
"type": "string"
},
{
"description": "Marketplace order id",
"name": "marketplace_order_id",
"tests": [],
"type": "string"
},
{
"description": "Source order status",
"name": "source_order_status",
"tests": [],
"type": "string"
},
{
"description": "Target order status",
"name": "target_order_status",
"tests": [],
"type": "string"
},
{
"description": "Order total amount",
"name": "order_total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order sync findings for marketplace, storefront, OMS, POS, fulfillment, and accounting systems.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce order sync reconciliation",
"spec_name": "commerce_order_sync_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_fulfillment_tracking_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "fulfillment_tracking_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Order number",
"name": "order_number",
"tests": [],
"type": "string"
},
{
"description": "Fulfillment id",
"name": "fulfillment_id",
"tests": [],
"type": "string"
},
{
"description": "Carrier code",
"name": "carrier_code",
"tests": [],
"type": "string"
},
{
"description": "Hashed tracking number",
"name": "tracking_number_hash",
"tests": [],
"type": "string"
},
{
"description": "First delivery status",
"name": "left_delivery_status",
"tests": [],
"type": "string"
},
{
"description": "Second delivery status",
"name": "right_delivery_status",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Fulfillment tracking findings for shipment, carrier, tracking, delivery, and marketplace shipment confirmation mismatches.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce fulfillment tracking reconciliation",
"spec_name": "commerce_fulfillment_tracking_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_marketplace_policy_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "marketplace_policy_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Marketplace",
"name": "marketplace",
"tests": [],
"type": "string"
},
{
"description": "Policy issue type",
"name": "policy_issue_type",
"tests": [],
"type": "string"
},
{
"description": "Policy severity",
"name": "policy_severity",
"tests": [],
"type": "string"
},
{
"description": "Source catalog status",
"name": "source_catalog_status",
"tests": [],
"type": "string"
},
{
"description": "Marketplace listing status",
"name": "marketplace_listing_status",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Marketplace policy findings for suppressed, disapproved, restricted, or low-quality listings that disagree with source catalog expectations.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce marketplace policy reconciliation",
"spec_name": "commerce_marketplace_policy_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_settlement_payout_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "settlement_payout_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Settlement id",
"name": "settlement_id",
"tests": [],
"type": "string"
},
{
"description": "Payout id",
"name": "payout_id",
"tests": [],
"type": "string"
},
{
"description": "Order number",
"name": "order_number",
"tests": [],
"type": "string"
},
{
"description": "First system amount",
"name": "left_amount",
"tests": [],
"type": "number"
},
{
"description": "Second system amount",
"name": "right_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Settlement and payout findings for marketplace statements, payment processors, accounting deposits, fees, refunds, and net cash.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce settlement payout reconciliation",
"spec_name": "commerce_settlement_payout_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
commerce_promotion_campaign_reconciliation
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "promotion_campaign_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Promotion id",
"name": "promotion_id",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "First active state",
"name": "left_active_state",
"tests": [],
"type": "string"
},
{
"description": "Second active state",
"name": "right_active_state",
"tests": [],
"type": "string"
},
{
"description": "Compared date window",
"name": "date_window_summary",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Promotion and campaign findings for discounts, coupon codes, campaign product sets, audience eligibility, and active dates across stores and ad platforms.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Commerce promotion campaign reconciliation",
"spec_name": "commerce_promotion_campaign_reconciliation"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "commerce_reconciliation_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_selling_partner_commerce_library
commerce operations finance collection v1.0.0 Amazon Selling PartnerAmazon Selling Partner specs for seller accounts, marketplaces, catalog items, listings, listing issues, restrictions, offers and pricing, fee estimates, FBA and merchant inventory, supply sources, orders, order items, shipments, returns, financial events, settlement reports, report jobs, feed jobs, notifications, A+ content, and governed seller updates.
- Direct systems
- Amazon Selling Partner
- Coverage
- Core
- Coverage notes
- Covers common SP-API resources used for Amazon marketplace operations, catalog health, order review, inventory, seller finances, reports, feeds, and approval-first outbound seller changes. It does not mirror every vendor-only API, restricted PII payload, every report type, or every feed schema.
- Next objects
vendor_direct_fulfillment;inbound_fba_shipments;brand_analytics_reports;customer_feedback; messaging;seller_wallet; replenishment;data_kiosk_queries- Omitted
- OAuth/token management; raw buyer PII; restricted data-token payloads; every report type; every feed schema; vendor-only workflows not relevant to sellers
- Needs
- An Amazon Selling Partner agent/operator role. The generated calls use
amazon_selling_partner_agent. - Useful for
- Amazon seller catalog memory; Listing issue review; Price and Buy Box monitoring; FBA and merchant inventory review; Amazon order follow-up; Settlement and fee reconciliation; Governed listing, price, inventory, fulfillment, and feed updates
- Extend with
- Links from commerce reconciliation findings into listing, price, and inventory commitments; Links from Amazon settlements into QuickBooks or NetSuite cash records; Report freshness expectations for settlement, inventory, and listings reports
- Links
- Listing update proposals cite current listing observations; Listing update proposals can cite listing issue observations; Price update proposals cite current offer and pricing observations; Inventory update proposals cite current merchant inventory observations; Fulfillment update proposals cite current order observations; Feed submission packets cite feed job observations when replaying or following up; A+ content proposals cite current A+ content observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
amazon_sp_api_seller_accounts | Amazon Selling Partner | Observation | Amazon seller account observations. |
amazon_sp_api_marketplaces | Amazon Selling Partner | Observation | Amazon marketplace observations. |
amazon_sp_api_catalog_items | Amazon Selling Partner | Observation | Amazon catalog item observations. |
amazon_sp_api_listings_items | Amazon Selling Partner | Observation | Amazon listing observations. |
amazon_sp_api_listing_issues | Amazon Selling Partner | Observation | Amazon listing issue observations. |
amazon_sp_api_listing_restrictions | Amazon Selling Partner | Observation | Amazon listing restriction observations. |
amazon_sp_api_offers_pricing | Amazon Selling Partner | Observation | Amazon offer and pricing observations. |
amazon_sp_api_product_fees_estimates | Amazon Selling Partner | Observation | Amazon product fee estimate observations. |
amazon_sp_api_fba_inventory | Amazon Selling Partner | Observation | Amazon FBA inventory observations. |
amazon_sp_api_merchant_inventory | Amazon Selling Partner | Observation | Amazon merchant inventory observations. |
amazon_sp_api_supply_sources | Amazon Selling Partner | Observation | Amazon supply source observations. |
amazon_sp_api_orders | Amazon Selling Partner | Observation | Amazon order observations. |
amazon_sp_api_order_items | Amazon Selling Partner | Observation | Amazon order item observations. |
amazon_sp_api_shipments | Amazon Selling Partner | Observation | Amazon shipment observations. |
amazon_sp_api_returns | Amazon Selling Partner | Observation | Amazon return observations. |
amazon_sp_api_financial_events | Amazon Selling Partner | Observation | Amazon financial event observations. |
amazon_sp_api_settlement_reports | Amazon Selling Partner | Observation | Amazon settlement report observations. |
amazon_sp_api_reports | Amazon Selling Partner | Observation | Amazon report job observations. |
amazon_sp_api_feeds | Amazon Selling Partner | Observation | Amazon feed job observations. |
amazon_sp_api_notifications | Amazon Selling Partner | Observation | Amazon notification observations. |
amazon_sp_api_a_plus_content | Amazon Selling Partner | Observation | Amazon A+ content observations. |
amazon_sp_agent_api_listing_updates | Amazon Selling Partner | Commitment workflow | Governed Amazon listing updates. |
amazon_sp_agent_api_price_updates | Amazon Selling Partner | Commitment workflow | Governed Amazon price updates. |
amazon_sp_agent_api_inventory_updates | Amazon Selling Partner | Commitment workflow | Governed Amazon inventory updates. |
amazon_sp_agent_api_fulfillment_updates | Amazon Selling Partner | Commitment workflow | Governed Amazon fulfillment updates. |
amazon_sp_agent_api_feed_submissions | Amazon Selling Partner | Commitment workflow | Governed Amazon feed submissions. |
amazon_sp_agent_api_a_plus_content_updates | Amazon Selling Partner | Commitment workflow | Governed Amazon A+ content updates. |
View 27 create_spec calls
amazon_sp_api_seller_accounts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "seller_account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller display name",
"name": "seller_name",
"tests": [],
"type": "string"
},
{
"description": "Region code",
"name": "region_code",
"tests": [],
"type": "string"
},
{
"description": "Account status",
"name": "account_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Seller account observations for marketplace participation, region, account status, and operational ownership.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API seller accounts",
"spec_name": "amazon_sp_api_seller_accounts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_marketplaces
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "marketplace_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Country code",
"name": "country_code",
"tests": [],
"type": "string"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Default language code",
"name": "default_language_code",
"tests": [],
"type": "string"
},
{
"description": "Participation status",
"name": "participation_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Marketplace observations for country, currency, language, and marketplace participation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API marketplaces",
"spec_name": "amazon_sp_api_marketplaces"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_catalog_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "asin",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Catalog title",
"name": "title",
"tests": [],
"type": "string"
},
{
"description": "Brand",
"name": "brand",
"tests": [],
"type": "string"
},
{
"description": "Product type",
"name": "product_type",
"tests": [],
"type": "string"
},
{
"description": "Browse node id",
"name": "browse_node_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Amazon catalog item observations for ASIN identity, brand, category, attributes, images, and browse classification.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API catalog items",
"spec_name": "amazon_sp_api_catalog_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_listings_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "listing_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Fulfillment channel",
"name": "fulfillment_channel",
"tests": [],
"type": "string"
},
{
"description": "Listing status",
"name": "listing_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Listing observations for seller SKU, ASIN, fulfillment channel, status, issue state, and listing attributes.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API listings items",
"spec_name": "amazon_sp_api_listings_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_listing_issues
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "listing_issue_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Issue type",
"name": "issue_type",
"tests": [],
"type": "string"
},
{
"description": "Issue severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Resolution status",
"name": "resolution_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Listing issue observations for suppressed, restricted, invalid, or policy-affected listings.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API listing issues",
"spec_name": "amazon_sp_api_listing_issues"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_listing_restrictions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "listing_restriction_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Condition type",
"name": "condition_type",
"tests": [],
"type": "string"
},
{
"description": "Restriction reason",
"name": "restriction_reason",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Listing restriction observations for product, marketplace, condition, approval, and selling eligibility review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API listing restrictions",
"spec_name": "amazon_sp_api_listing_restrictions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_offers_pricing
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "offer_pricing_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Landed price amount",
"name": "landed_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Listing price amount",
"name": "listing_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Buy Box winner flag",
"name": "buy_box_winner",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Offer and pricing observations for seller SKU, ASIN, buy-box context, landed price, sale price, and competitive price review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API offers pricing",
"spec_name": "amazon_sp_api_offers_pricing"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_product_fees_estimates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "fee_estimate_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Price amount",
"name": "price_amount",
"tests": [],
"type": "number"
},
{
"description": "Estimated fee amount",
"name": "estimated_fee_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product fee estimate observations for referral, fulfillment, variable closing, and total fee review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API product fees estimates",
"spec_name": "amazon_sp_api_product_fees_estimates"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_fba_inventory
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "fba_inventory_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Fulfillable quantity",
"name": "fulfillable_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Inbound quantity",
"name": "inbound_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Reserved quantity",
"name": "reserved_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Stranded quantity",
"name": "stranded_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "FBA inventory observations for SKU, ASIN, fulfillment center state, sellable, inbound, reserved, and stranded quantities.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API FBA inventory",
"spec_name": "amazon_sp_api_fba_inventory"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_merchant_inventory
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "merchant_inventory_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Supply source id",
"name": "supply_source_id",
"tests": [],
"type": "string"
},
{
"description": "Available quantity",
"name": "available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Handling time days",
"name": "handling_time_days",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Merchant-fulfilled inventory observations for supply source, SKU, availability, quantity, and handling time.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API merchant inventory",
"spec_name": "amazon_sp_api_merchant_inventory"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_supply_sources
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "supply_source_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Supply source name",
"name": "source_name",
"tests": [],
"type": "string"
},
{
"description": "Supply source type",
"name": "source_type",
"tests": [],
"type": "string"
},
{
"description": "Country code",
"name": "country_code",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Supply source observations for multi-location inventory, ship-from location, region, and fulfillment routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API supply sources",
"spec_name": "amazon_sp_api_supply_sources"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_orders
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "amazon_order_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed buyer reference",
"name": "buyer_hash",
"tests": [],
"type": "string"
},
{
"description": "Order status",
"name": "order_status",
"tests": [],
"type": "string"
},
{
"description": "Fulfillment channel",
"name": "fulfillment_channel",
"tests": [],
"type": "string"
},
{
"description": "Order total amount",
"name": "order_total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order observations for Amazon order lifecycle, marketplace, buyer-safe token, fulfillment channel, payment, totals, and shipment state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API orders",
"spec_name": "amazon_sp_api_orders"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_order_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "amazon_order_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Amazon order id",
"name": "amazon_order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Quantity ordered",
"name": "quantity_ordered",
"tests": [],
"type": "integer"
},
{
"description": "Item price amount",
"name": "item_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Order item observations for ASIN, SKU, quantity, item price, tax, promotions, and fulfillment review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API order items",
"spec_name": "amazon_sp_api_order_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_shipments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "shipment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Amazon order id",
"name": "amazon_order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Carrier code",
"name": "carrier_code",
"tests": [],
"type": "string"
},
{
"description": "Hashed tracking number",
"name": "tracking_number_hash",
"tests": [],
"type": "string"
},
{
"description": "Shipment status",
"name": "shipment_status",
"tests": [],
"type": "string"
},
{
"description": "Shipped timestamp",
"name": "shipped_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Shipment observations for merchant fulfillment, carrier, tracking, package state, and delivery review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API shipments",
"spec_name": "amazon_sp_api_shipments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_returns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "amazon_return_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Amazon order id",
"name": "amazon_order_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Return reason",
"name": "return_reason",
"tests": [],
"type": "string"
},
{
"description": "Return status",
"name": "return_status",
"tests": [],
"type": "string"
},
{
"description": "Requested timestamp",
"name": "requested_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Return observations for return requests, items, reasons, statuses, and reimbursement follow-up.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API returns",
"spec_name": "amazon_sp_api_returns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_financial_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "financial_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Amazon order id",
"name": "amazon_order_id",
"tests": [],
"type": "string"
},
{
"description": "Financial event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Event amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Financial event observations for shipments, refunds, fees, adjustments, service charges, and settlement detail.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API financial events",
"spec_name": "amazon_sp_api_financial_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_settlement_reports
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "settlement_report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Settlement id",
"name": "settlement_id",
"tests": [],
"type": "string"
},
{
"description": "Period start",
"name": "period_start",
"tests": [],
"type": "string"
},
{
"description": "Period end",
"name": "period_end",
"tests": [],
"type": "string"
},
{
"description": "Deposit amount",
"name": "deposit_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Settlement report observations for payout periods, deposit amount, fees, adjustments, and cash reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API settlement reports",
"spec_name": "amazon_sp_api_settlement_reports"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_reports
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "report_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report type",
"name": "report_type",
"tests": [],
"type": "string"
},
{
"description": "Processing status",
"name": "processing_status",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Completed timestamp",
"name": "completed_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Report job observations for report type, processing status, document availability, and freshness review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API reports",
"spec_name": "amazon_sp_api_reports"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_feeds
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "feed_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Feed type",
"name": "feed_type",
"tests": [],
"type": "string"
},
{
"description": "Processing status",
"name": "processing_status",
"tests": [],
"type": "string"
},
{
"description": "Submitted timestamp",
"name": "submitted_at",
"tests": [],
"type": "string"
},
{
"description": "Completed timestamp",
"name": "completed_at",
"tests": [],
"type": "string"
},
{
"description": "Result document id",
"name": "result_document_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Feed job observations for submitted listing, pricing, inventory, order, or fulfillment feeds and processing results.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API feeds",
"spec_name": "amazon_sp_api_feeds"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_notifications
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "notification_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Notification type",
"name": "notification_type",
"tests": [],
"type": "string"
},
{
"description": "Resource type",
"name": "resource_type",
"tests": [],
"type": "string"
},
{
"description": "Resource id",
"name": "resource_id",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Notification observations for Amazon seller events, changed objects, report completion, and replay handling.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API notifications",
"spec_name": "amazon_sp_api_notifications"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_api_a_plus_content
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "a_plus_content_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Content reference key",
"name": "content_reference_key",
"tests": [],
"type": "string"
},
{
"description": "Assigned ASIN count",
"name": "asin_count",
"tests": [],
"type": "integer"
},
{
"description": "Content status",
"name": "content_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "A+ content observations for content documents, ASIN assignments, review state, and product-detail-page enrichment.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP-API A+ content",
"spec_name": "amazon_sp_api_a_plus_content"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_agent_api_listing_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "listing_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "listing_item_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon listing content or attribute update proposals before outbound SP-API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP agent API listing updates",
"spec_name": "amazon_sp_agent_api_listing_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_agent_api_price_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "price_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "offer_pricing_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Current price amount",
"name": "current_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed price amount",
"name": "proposed_price_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon offer price update proposals before outbound SP-API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP agent API price updates",
"spec_name": "amazon_sp_agent_api_price_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_agent_api_inventory_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "inventory_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "merchant_inventory_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Supply source id",
"name": "supply_source_id",
"tests": [],
"type": "string"
},
{
"description": "Current available quantity",
"name": "current_available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Proposed available quantity",
"name": "proposed_available_quantity",
"tests": [],
"type": "integer"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon merchant inventory update proposals before outbound SP-API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP agent API inventory updates",
"spec_name": "amazon_sp_agent_api_inventory_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_agent_api_fulfillment_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "fulfillment_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "amazon_order_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Shipment id",
"name": "shipment_id",
"tests": [],
"type": "string"
},
{
"description": "Carrier code",
"name": "carrier_code",
"tests": [],
"type": "string"
},
{
"description": "Hashed tracking number",
"name": "tracking_number_hash",
"tests": [],
"type": "string"
},
{
"description": "Fulfillment action",
"name": "fulfillment_action",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon fulfillment or tracking update proposals before outbound SP-API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP agent API fulfillment updates",
"spec_name": "amazon_sp_agent_api_fulfillment_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_agent_api_feed_submissions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "feed_submission_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "feed_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Feed type",
"name": "feed_type",
"tests": [],
"type": "string"
},
{
"description": "Source commitment spec",
"name": "source_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Source commitment id",
"name": "source_commitment_id",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon feed submission packets for accepted listing, price, inventory, or fulfillment updates.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP agent API feed submissions",
"spec_name": "amazon_sp_agent_api_feed_submissions",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_sp_agent_api_a_plus_content_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "a_plus_content_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "a_plus_content_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Seller id",
"name": "seller_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Content reference key",
"name": "content_reference_key",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed content",
"name": "proposed_content_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon A+ content update proposals before outbound SP-API sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon SP agent API A+ content updates",
"spec_name": "amazon_sp_agent_api_a_plus_content_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_selling_partner_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_marketing_library
marketing commerce collection v1.0.0 Amazon Ads Ad platformsAmazon Ads specs for profiles, portfolios, Sponsored Products, Sponsored Brands, Sponsored Display, ad groups, product ads, keywords, targets, negative targets, creatives, stores, audiences, search terms, performance reporting, product performance, budget recommendations, DSP campaigns and ad groups, Marketing Stream events, and governed ad updates.
- Direct systems
- Amazon Ads; Ad platforms
- Coverage
- Core
- Coverage notes
- Covers common Amazon Ads resources used for campaign management, sponsored ads optimization, DSP campaign memory, retail-aware reporting, and approval-first outbound ad changes. It does not mirror every Amazon Marketing Cloud dataset, every DSP creative subtype, every advanced report, or every self-serve console bulk operation.
- Source docs
- Amazon Ads API overview; Amazon Ads API developers portal; Amazon DSP campaign and creative APIs
- Next objects
sponsored_tv;amazon_marketing_cloud_queries;brand_metrics;attribution_reports;creative_assets; recommendations;campaign_optimization_rules;bulk_operation_jobs- Omitted
- OAuth/token management; raw shopper identifiers; complete AMC query result datasets; every reporting dimension combination; restricted audience upload payloads
- Needs
- An Amazon Ads agent/operator role. The generated calls use
amazon_ads_agent. - Useful for
- Amazon advertising memory; Sponsored ads budget and bid review; Search-term mining; Retail product performance review; DSP campaign reporting; Governed budget, status, bid, keyword, target, and creative updates
- Extend with
- Links from Amazon Selling Partner offers and inventory into product performance review; Links from search terms into negative target proposals; Links from Shopify and website storefront observations into Amazon Store and creative review
- Links
- Budget proposals can cite Sponsored Products campaign observations; Budget proposals can cite budget recommendation observations; Campaign status proposals can cite Sponsored Brands campaign observations; Bid proposals can cite keyword observations; Bid proposals can cite target observations; Keyword or target proposals can cite search term observations; Negative target proposals can cite search term observations; Creative proposals cite current creative observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
amazon_ads_api_profiles | Amazon Ads, Ad platforms | Observation | Amazon Ads profile observations. |
amazon_ads_api_portfolios | Amazon Ads, Ad platforms | Observation | Amazon Ads portfolio observations. |
amazon_ads_api_sponsored_products_campaigns | Amazon Ads, Ad platforms | Observation | Sponsored Products campaign observations. |
amazon_ads_api_sponsored_brands_campaigns | Amazon Ads, Ad platforms | Observation | Sponsored Brands campaign observations. |
amazon_ads_api_sponsored_display_campaigns | Amazon Ads, Ad platforms | Observation | Sponsored Display campaign observations. |
amazon_ads_api_ad_groups | Amazon Ads, Ad platforms | Observation | Amazon Ads ad group observations. |
amazon_ads_api_product_ads | Amazon Ads, Ad platforms | Observation | Amazon product ad observations. |
amazon_ads_api_keywords | Amazon Ads, Ad platforms | Observation | Amazon Ads keyword observations. |
amazon_ads_api_targets | Amazon Ads, Ad platforms | Observation | Amazon Ads target observations. |
amazon_ads_api_negative_targets | Amazon Ads, Ad platforms | Observation | Amazon Ads negative target observations. |
amazon_ads_api_creatives | Amazon Ads, Ad platforms | Observation | Amazon Ads creative observations. |
amazon_ads_api_stores | Amazon Ads, Ad platforms | Observation | Amazon Store observations. |
amazon_ads_api_audiences | Amazon Ads, Ad platforms | Observation | Amazon Ads audience observations. |
amazon_ads_api_search_terms | Amazon Ads, Ad platforms | Observation | Amazon search term observations. |
amazon_ads_api_performance_metrics | Amazon Ads, Ad platforms | Observation | Amazon Ads performance observations. |
amazon_ads_api_product_performance | Amazon Ads, Ad platforms | Observation | Amazon Ads product performance observations. |
amazon_ads_api_budget_recommendations | Amazon Ads, Ad platforms | Observation | Amazon Ads budget recommendation observations. |
amazon_ads_api_dsp_campaigns | Amazon Ads, Ad platforms | Observation | Amazon DSP campaign observations. |
amazon_ads_api_dsp_ad_groups | Amazon Ads, Ad platforms | Observation | Amazon DSP ad group observations. |
amazon_ads_api_marketing_stream_events | Amazon Ads, Ad platforms | Observation | Amazon Marketing Stream event observations. |
amazon_ads_agent_api_campaign_budget_updates | Amazon Ads, Ad platforms | Commitment workflow | Governed Amazon Ads campaign budget updates. |
amazon_ads_agent_api_campaign_status_updates | Amazon Ads, Ad platforms | Commitment workflow | Governed Amazon Ads campaign status updates. |
amazon_ads_agent_api_bid_updates | Amazon Ads, Ad platforms | Commitment workflow | Governed Amazon Ads bid updates. |
amazon_ads_agent_api_keyword_target_updates | Amazon Ads, Ad platforms | Commitment workflow | Governed Amazon Ads keyword and target updates. |
amazon_ads_agent_api_negative_target_updates | Amazon Ads, Ad platforms | Commitment workflow | Governed Amazon Ads negative target updates. |
amazon_ads_agent_api_creative_updates | Amazon Ads, Ad platforms | Commitment workflow | Governed Amazon Ads creative updates. |
View 26 create_spec calls
amazon_ads_api_profiles
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "profile_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [],
"type": "string"
},
{
"description": "Account name",
"name": "account_name",
"tests": [],
"type": "string"
},
{
"description": "Account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Marketplace id",
"name": "marketplace_id",
"tests": [],
"type": "string"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Amazon Ads profile observations for advertiser identity, account type, marketplace, currency, and access context.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API profiles",
"spec_name": "amazon_ads_api_profiles"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_portfolios
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "portfolio_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Portfolio name",
"name": "portfolio_name",
"tests": [],
"type": "string"
},
{
"description": "Budget amount",
"name": "budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Budget policy",
"name": "budget_policy",
"tests": [],
"type": "string"
},
{
"description": "Portfolio status",
"name": "portfolio_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Portfolio observations for campaign grouping, budget governance, and account-level organization.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API portfolios",
"spec_name": "amazon_ads_api_portfolios"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_sponsored_products_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sp_campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Targeting type",
"name": "targeting_type",
"tests": [],
"type": "string"
},
{
"description": "Budget amount",
"name": "budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Bidding strategy",
"name": "bidding_strategy",
"tests": [],
"type": "string"
},
{
"description": "Campaign status",
"name": "campaign_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Sponsored Products campaign observations for targeting type, budget, bidding strategy, status, and marketplace.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API Sponsored Products campaigns",
"spec_name": "amazon_ads_api_sponsored_products_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_sponsored_brands_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sb_campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Budget amount",
"name": "budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Creative status",
"name": "creative_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign status",
"name": "campaign_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Sponsored Brands campaign observations for brand ads, budget, creative state, and serving status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API Sponsored Brands campaigns",
"spec_name": "amazon_ads_api_sponsored_brands_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_sponsored_display_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "sd_campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Campaign tactic",
"name": "tactic",
"tests": [],
"type": "string"
},
{
"description": "Budget amount",
"name": "budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Campaign status",
"name": "campaign_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Sponsored Display campaign observations for retail-aware display advertising, budget, tactic, and status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API Sponsored Display campaigns",
"spec_name": "amazon_ads_api_sponsored_display_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_ad_groups
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ad_group_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Campaign type",
"name": "campaign_type",
"tests": [],
"type": "string"
},
{
"description": "Ad group name",
"name": "ad_group_name",
"tests": [],
"type": "string"
},
{
"description": "Default bid amount",
"name": "default_bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Ad group status",
"name": "ad_group_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Ad group observations for sponsored ads targeting organization, bid defaults, and status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API ad groups",
"spec_name": "amazon_ads_api_ad_groups"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_product_ads
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "product_ad_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Ad status",
"name": "ad_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product ad observations for advertised ASIN/SKU, campaign/ad group linkage, approval state, and serving status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API product ads",
"spec_name": "amazon_ads_api_product_ads"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_keywords
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "keyword_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Keyword text",
"name": "keyword_text",
"tests": [],
"type": "string"
},
{
"description": "Match type",
"name": "match_type",
"tests": [],
"type": "string"
},
{
"description": "Bid amount",
"name": "bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Keyword status",
"name": "keyword_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Keyword observations for match type, bid, serving status, and keyword harvesting review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API keywords",
"spec_name": "amazon_ads_api_keywords"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_targets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "target_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Target type",
"name": "target_type",
"tests": [],
"type": "string"
},
{
"description": "Target expression summary",
"name": "expression_summary",
"tests": [],
"type": "string"
},
{
"description": "Bid amount",
"name": "bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Target status",
"name": "target_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Product or audience target observations for ASIN, category, auto, or other target expressions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API targets",
"spec_name": "amazon_ads_api_targets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_negative_targets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "negative_target_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Negative type",
"name": "negative_type",
"tests": [],
"type": "string"
},
{
"description": "Negative expression summary",
"name": "expression_summary",
"tests": [],
"type": "string"
},
{
"description": "Negative status",
"name": "negative_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Negative keyword or target observations for wasted-spend control and search-term review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API negative targets",
"spec_name": "amazon_ads_api_negative_targets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_creatives
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "creative_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Creative name",
"name": "creative_name",
"tests": [],
"type": "string"
},
{
"description": "Creative type",
"name": "creative_type",
"tests": [],
"type": "string"
},
{
"description": "Review status",
"name": "review_status",
"tests": [],
"type": "string"
},
{
"description": "Hashed landing page URL",
"name": "landing_page_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Creative observations for Sponsored Brands, Sponsored Display, DSP, and creative review status.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API creatives",
"spec_name": "amazon_ads_api_creatives"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_stores
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "store_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Brand entity id",
"name": "brand_entity_id",
"tests": [],
"type": "string"
},
{
"description": "Store name",
"name": "store_name",
"tests": [],
"type": "string"
},
{
"description": "Store status",
"name": "store_status",
"tests": [],
"type": "string"
},
{
"description": "Page count",
"name": "page_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Amazon Store observations for brand storefront pages, page tokens, and campaign landing review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API stores",
"spec_name": "amazon_ads_api_stores"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_audiences
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "audience_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Audience name",
"name": "audience_name",
"tests": [],
"type": "string"
},
{
"description": "Audience type",
"name": "audience_type",
"tests": [],
"type": "string"
},
{
"description": "Audience status",
"name": "audience_status",
"tests": [],
"type": "string"
},
{
"description": "Audience size",
"name": "audience_size",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Audience observations for Amazon Ads audience assets, status, size, and activation review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API audiences",
"spec_name": "amazon_ads_api_audiences"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_search_terms
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "search_term_observation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed search term",
"name": "search_term_hash",
"tests": [],
"type": "string"
},
{
"description": "Match type",
"name": "match_type",
"tests": [],
"type": "string"
},
{
"description": "Spend amount",
"name": "spend_amount",
"tests": [],
"type": "number"
},
{
"description": "Sales amount",
"name": "sales_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Search term observations for Sponsored Products/Brands query mining, spend, sales, and negative keyword proposals.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API search terms",
"spec_name": "amazon_ads_api_search_terms"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_performance_metrics
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "amazon_ads_performance_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Resource type",
"name": "resource_type",
"tests": [],
"type": "string"
},
{
"description": "Resource id",
"name": "resource_id",
"tests": [],
"type": "string"
},
{
"description": "Metric date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Impressions",
"name": "impressions",
"tests": [],
"type": "integer"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Spend amount",
"name": "spend_amount",
"tests": [],
"type": "number"
},
{
"description": "Sales amount",
"name": "sales_amount",
"tests": [],
"type": "number"
},
{
"description": "Advertising cost of sales",
"name": "acos",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Daily Amazon Ads performance observations for campaigns, ad groups, ads, keywords, targets, spend, clicks, sales, and ACOS.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API performance metrics",
"spec_name": "amazon_ads_api_performance_metrics"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_product_performance
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "amazon_ads_product_performance_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "ASIN",
"name": "asin",
"tests": [],
"type": "string"
},
{
"description": "Seller SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Metric date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Spend amount",
"name": "spend_amount",
"tests": [],
"type": "number"
},
{
"description": "Sales amount",
"name": "sales_amount",
"tests": [],
"type": "number"
},
{
"description": "Orders",
"name": "orders",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Advertised product performance observations for ASIN/SKU sales, spend, ROAS, and product-level campaign review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API product performance",
"spec_name": "amazon_ads_api_product_performance"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_budget_recommendations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "budget_recommendation_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Campaign type",
"name": "campaign_type",
"tests": [],
"type": "string"
},
{
"description": "Current budget amount",
"name": "current_budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Recommended budget amount",
"name": "recommended_budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Budget recommendation observations for campaigns with budget constraints and recommended budget changes.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API budget recommendations",
"spec_name": "amazon_ads_api_budget_recommendations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_dsp_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "dsp_campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Advertiser id",
"name": "advertiser_id",
"tests": [],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Budget amount",
"name": "budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Start date",
"name": "start_date",
"tests": [],
"type": "string"
},
{
"description": "End date",
"name": "end_date",
"tests": [],
"type": "string"
},
{
"description": "Campaign status",
"name": "campaign_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Amazon DSP campaign observations for campaign state, budget, dates, advertiser, and programmatic media review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API DSP campaigns",
"spec_name": "amazon_ads_api_dsp_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_dsp_ad_groups
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "dsp_ad_group_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "DSP campaign id",
"name": "dsp_campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group name",
"name": "ad_group_name",
"tests": [],
"type": "string"
},
{
"description": "Goal type",
"name": "goal_type",
"tests": [],
"type": "string"
},
{
"description": "Bid amount",
"name": "bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Ad group status",
"name": "ad_group_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Amazon DSP ad group observations for pacing, bids, goals, and activation state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API DSP ad groups",
"spec_name": "amazon_ads_api_dsp_ad_groups"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_api_marketing_stream_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "marketing_stream_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Resource type",
"name": "resource_type",
"tests": [],
"type": "string"
},
{
"description": "Resource id",
"name": "resource_id",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Amazon Marketing Stream event observations for near-real-time campaign budget, performance, and status changes.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads API marketing stream events",
"spec_name": "amazon_ads_api_marketing_stream_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_agent_api_campaign_budget_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "campaign_budget_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign type",
"name": "campaign_type",
"tests": [],
"type": "string"
},
{
"description": "Current budget amount",
"name": "current_budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed budget amount",
"name": "proposed_budget_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon Ads campaign budget update proposals before outbound Amazon Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads agent API campaign budget updates",
"spec_name": "amazon_ads_agent_api_campaign_budget_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_agent_api_campaign_status_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "campaign_status_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign type",
"name": "campaign_type",
"tests": [],
"type": "string"
},
{
"description": "Current status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon Ads campaign status update proposals before outbound Amazon Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads agent API campaign status updates",
"spec_name": "amazon_ads_agent_api_campaign_status_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_agent_api_bid_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "bid_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "bid_target_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Keyword, target, or ad group",
"name": "bid_target_type",
"tests": [],
"type": "string"
},
{
"description": "Current bid amount",
"name": "current_bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed bid amount",
"name": "proposed_bid_amount",
"tests": [],
"type": "number"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon Ads keyword, target, or ad group bid update proposals before outbound Amazon Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads agent API bid updates",
"spec_name": "amazon_ads_agent_api_bid_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_agent_api_keyword_target_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "keyword_target_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "keyword_or_target_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Keyword or target type",
"name": "target_type",
"tests": [],
"type": "string"
},
{
"description": "Keyword or target expression summary",
"name": "expression_summary",
"tests": [],
"type": "string"
},
{
"description": "Proposed status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon Ads keyword or target create/update proposals before outbound Amazon Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads agent API keyword target updates",
"spec_name": "amazon_ads_agent_api_keyword_target_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_agent_api_negative_target_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "negative_target_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "negative_target_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad group id",
"name": "ad_group_id",
"tests": [],
"type": "string"
},
{
"description": "Negative type",
"name": "negative_type",
"tests": [],
"type": "string"
},
{
"description": "Negative expression summary",
"name": "expression_summary",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon Ads negative keyword or target proposals before outbound Amazon Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads agent API negative target updates",
"spec_name": "amazon_ads_agent_api_negative_target_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
amazon_ads_agent_api_creative_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "creative_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "creative_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Profile id",
"name": "profile_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Creative type",
"name": "creative_type",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed Amazon Ads creative update proposals before outbound Amazon Ads sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Amazon Ads agent API creative updates",
"spec_name": "amazon_ads_agent_api_creative_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "amazon_ads_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_library
marketing crm collection v1.0.0 HubSpotHubSpot Marketing Hub specs for campaigns, campaign assets, campaign performance, marketing emails, email events, email performance, landing pages, CTAs, tracking URLs, workflows, workflow enrollments, social posts, ad campaigns, webhook events, and governed marketing updates.
- Direct systems
- HubSpot
- Coverage
- Core
- Coverage notes
- Covers common Marketing Hub assets and automation records agents use for campaign review, attribution, email performance, form and page follow-up, and approval-first outbound marketing changes. It does not mirror CMS themes, every report export, raw recipient PII, or every account-specific marketing property.
- Next objects
blog_posts;cms_pages;content_memberships;forms_v3_deep_fields;lead_scoring_rules;campaign_budget_plans;ads_audience_syncs;marketing_reports- Omitted
- OAuth/token management; raw email recipient details; full CMS theme/template source; every report dimension export; account-specific private properties
- Needs
- A HubSpot agent/operator role. The generated calls use
hubspot_agent. - Useful for
- Campaign memory; Email performance review; Workflow automation audit; Landing page and CTA follow-up; Cross-channel attribution review; Governed campaign, email, workflow, list, and asset updates
- Extend with
- Links from Google Ads/TikTok Ads/Amazon Ads campaigns into HubSpot campaign performance; Links from GA4 acquisition reports into campaign review; Links from HubSpot workflow observations into
ops_issuesfor automation drift - Links
- Campaign update proposals cite current campaign observations; Email update proposals cite current marketing email observations; Workflow update proposals cite current workflow observations; List update proposals cite current list observations from the CRM shelf; Campaign asset association proposals cite current campaign asset observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
hubspot_marketing_api_campaigns | HubSpot | Observation | Marketing campaign observations. |
hubspot_marketing_api_campaign_assets | HubSpot | Observation | Campaign asset observations. |
hubspot_marketing_api_campaign_performance | HubSpot | Observation | Campaign performance observations. |
hubspot_marketing_api_emails | HubSpot | Observation | Marketing email observations. |
hubspot_marketing_api_email_events | HubSpot | Observation | Marketing email event observations. |
hubspot_marketing_api_email_performance | HubSpot | Observation | Marketing email performance observations. |
hubspot_marketing_api_landing_pages | HubSpot | Observation | Landing page observations. |
hubspot_marketing_api_ctas | HubSpot | Observation | CTA observations. |
hubspot_marketing_api_tracking_urls | HubSpot | Observation | Tracking URL observations. |
hubspot_marketing_api_workflows | HubSpot | Observation | Workflow automation observations. |
hubspot_marketing_api_workflow_enrollments | HubSpot | Observation | Workflow enrollment observations. |
hubspot_marketing_api_social_posts | HubSpot | Observation | Social post observations. |
hubspot_marketing_api_ad_campaigns | HubSpot | Observation | HubSpot ad campaign observations. |
hubspot_marketing_api_webhook_events | HubSpot | Observation | Marketing webhook event observations. |
hubspot_marketing_agent_api_campaign_updates | HubSpot | Commitment workflow | Governed campaign updates. |
hubspot_marketing_agent_api_email_updates | HubSpot | Commitment workflow | Governed marketing email updates. |
hubspot_marketing_agent_api_workflow_updates | HubSpot | Commitment workflow | Governed workflow updates. |
hubspot_marketing_agent_api_list_updates | HubSpot | Commitment workflow | Governed list updates. |
hubspot_marketing_agent_api_asset_association_updates | HubSpot | Commitment workflow | Governed campaign asset association updates. |
View 19 create_spec calls
hubspot_marketing_api_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Campaign status",
"name": "campaign_status",
"tests": [],
"type": "string"
},
{
"description": "HubSpot owner id",
"name": "owner_id",
"tests": [],
"type": "string"
},
{
"description": "Start date",
"name": "start_date",
"tests": [],
"type": "string"
},
{
"description": "End date",
"name": "end_date",
"tests": [],
"type": "string"
},
{
"description": "Asset count",
"name": "asset_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign observations for marketing campaign identity, assets, owners, dates, status, and performance review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API campaigns",
"spec_name": "hubspot_marketing_api_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_campaign_assets
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_asset_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Asset type",
"name": "asset_type",
"tests": [],
"type": "string"
},
{
"description": "Asset id",
"name": "asset_id",
"tests": [],
"type": "string"
},
{
"description": "Asset name",
"name": "asset_name",
"tests": [],
"type": "string"
},
{
"description": "Asset status",
"name": "asset_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign asset observations linking campaigns to emails, forms, landing pages, CTAs, lists, ads, social posts, and other assets.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API campaign assets",
"spec_name": "hubspot_marketing_api_campaign_assets"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_campaign_performance
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "campaign_performance_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Metric scope",
"name": "metric_scope",
"tests": [],
"type": "string"
},
{
"description": "Views",
"name": "views",
"tests": [],
"type": "integer"
},
{
"description": "Submissions",
"name": "submissions",
"tests": [],
"type": "integer"
},
{
"description": "Opens",
"name": "opens",
"tests": [],
"type": "integer"
},
{
"description": "Clicks",
"name": "clicks",
"tests": [],
"type": "integer"
},
{
"description": "Influenced revenue",
"name": "influenced_revenue",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Campaign performance observations for views, submissions, opens, clicks, contacts, influenced revenue, and date windows.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API campaign performance",
"spec_name": "hubspot_marketing_api_campaign_performance"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_emails
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "marketing_email_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Email name",
"name": "email_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed subject",
"name": "subject_hash",
"tests": [],
"type": "string"
},
{
"description": "Email state",
"name": "email_state",
"tests": [],
"type": "string"
},
{
"description": "Email type",
"name": "email_type",
"tests": [],
"type": "string"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Marketing email observations for email assets, subject, sender, publish state, campaign linkage, and send settings.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API emails",
"spec_name": "hubspot_marketing_api_emails"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_email_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "email_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Marketing email id",
"name": "marketing_email_id",
"tests": [],
"type": "string"
},
{
"description": "Contact id",
"name": "contact_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed recipient reference",
"name": "recipient_hash",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Event timestamp",
"name": "event_timestamp",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Marketing email event observations for sends, deliveries, opens, clicks, bounces, unsubscribes, and spam reports.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API email events",
"spec_name": "hubspot_marketing_api_email_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_email_performance
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "email_performance_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Marketing email id",
"name": "marketing_email_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Report date",
"name": "date",
"tests": [],
"type": "string"
},
{
"description": "Sent count",
"name": "sent_count",
"tests": [],
"type": "integer"
},
{
"description": "Open count",
"name": "open_count",
"tests": [],
"type": "integer"
},
{
"description": "Click count",
"name": "click_count",
"tests": [],
"type": "integer"
},
{
"description": "Bounce count",
"name": "bounce_count",
"tests": [],
"type": "integer"
},
{
"description": "Unsubscribe count",
"name": "unsubscribe_count",
"tests": [],
"type": "integer"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Marketing email performance observations for aggregate send, open, click, bounce, unsubscribe, and conversion review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API email performance",
"spec_name": "hubspot_marketing_api_email_performance"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_landing_pages
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "landing_page_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Page name",
"name": "page_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed page URL",
"name": "page_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Publish status",
"name": "publish_status",
"tests": [],
"type": "string"
},
{
"description": "Embedded form id",
"name": "form_id",
"tests": [],
"type": "string"
},
{
"description": "Published timestamp",
"name": "published_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Landing page observations for campaign landing pages, URL tokens, publish status, forms, and conversion review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API landing pages",
"spec_name": "hubspot_marketing_api_landing_pages"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_ctas
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "cta_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "CTA name",
"name": "cta_name",
"tests": [],
"type": "string"
},
{
"description": "CTA type",
"name": "cta_type",
"tests": [],
"type": "string"
},
{
"description": "Hashed destination URL",
"name": "destination_url_hash",
"tests": [],
"type": "string"
},
{
"description": "CTA status",
"name": "cta_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "CTA observations for button/banner/pop-up assets, campaign linkage, destination, and conversion review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API CTAs",
"spec_name": "hubspot_marketing_api_ctas"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_tracking_urls
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "tracking_url_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Hashed destination URL",
"name": "destination_url_hash",
"tests": [],
"type": "string"
},
{
"description": "UTM source",
"name": "utm_source",
"tests": [],
"type": "string"
},
{
"description": "UTM medium",
"name": "utm_medium",
"tests": [],
"type": "string"
},
{
"description": "UTM campaign",
"name": "utm_campaign",
"tests": [],
"type": "string"
},
{
"description": "Hashed short URL",
"name": "short_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Tracking URL observations for UTM campaign/source/medium content and attribution review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API tracking URLs",
"spec_name": "hubspot_marketing_api_tracking_urls"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_workflows
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "workflow_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Workflow name",
"name": "workflow_name",
"tests": [],
"type": "string"
},
{
"description": "Workflow status",
"name": "workflow_status",
"tests": [],
"type": "string"
},
{
"description": "Enrollment object type",
"name": "object_type",
"tests": [],
"type": "string"
},
{
"description": "Trigger count",
"name": "trigger_count",
"tests": [],
"type": "integer"
},
{
"description": "Action count",
"name": "action_count",
"tests": [],
"type": "integer"
},
{
"description": "Last updated timestamp",
"name": "last_updated_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Workflow observations for automation status, enrollment object, trigger/action counts, and lifecycle automation review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API workflows",
"spec_name": "hubspot_marketing_api_workflows"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_workflow_enrollments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "workflow_enrollment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Workflow id",
"name": "workflow_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Object type",
"name": "object_type",
"tests": [],
"type": "string"
},
{
"description": "Object id",
"name": "object_id",
"tests": [],
"type": "string"
},
{
"description": "Enrollment timestamp",
"name": "enrolled_at",
"tests": [],
"type": "string"
},
{
"description": "Enrollment status",
"name": "enrollment_status",
"tests": [],
"type": "string"
},
{
"description": "Completed timestamp",
"name": "completed_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Workflow enrollment observations for enrolled objects, enrollment state, completion, suppression, and automation health.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API workflow enrollments",
"spec_name": "hubspot_marketing_api_workflow_enrollments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_social_posts
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "social_post_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Social network",
"name": "network",
"tests": [],
"type": "string"
},
{
"description": "Post status",
"name": "post_status",
"tests": [],
"type": "string"
},
{
"description": "Published timestamp",
"name": "published_at",
"tests": [],
"type": "string"
},
{
"description": "Hashed message text",
"name": "message_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed destination URL",
"name": "destination_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Social post observations for published or scheduled social content, network, campaign linkage, and engagement review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API social posts",
"spec_name": "hubspot_marketing_api_social_posts"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_ad_campaigns
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "hubspot_ad_campaign_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "HubSpot campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Ad network",
"name": "ad_network",
"tests": [],
"type": "string"
},
{
"description": "External campaign id",
"name": "external_campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Spend amount",
"name": "spend_amount",
"tests": [],
"type": "number"
},
{
"description": "Contacts count",
"name": "contacts_count",
"tests": [],
"type": "integer"
},
{
"description": "Revenue amount",
"name": "revenue_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "HubSpot ad campaign observations for connected ad accounts, campaign linkage, spend, contacts, and revenue review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API ad campaigns",
"spec_name": "hubspot_marketing_api_ad_campaigns"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_api_webhook_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "marketing_webhook_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Subscription type",
"name": "subscription_type",
"tests": [],
"type": "string"
},
{
"description": "Asset type",
"name": "asset_type",
"tests": [],
"type": "string"
},
{
"description": "Asset id",
"name": "asset_id",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Marketing webhook event observations for campaign, email, form, list, workflow, and asset changes.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing API webhook events",
"spec_name": "hubspot_marketing_api_webhook_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_agent_api_campaign_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "campaign_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign name",
"name": "campaign_name",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed current value",
"name": "current_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot campaign create/update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing agent API campaign updates",
"spec_name": "hubspot_marketing_agent_api_campaign_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_agent_api_email_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "email_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "marketing_email_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed current value",
"name": "current_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot marketing email update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing agent API email updates",
"spec_name": "hubspot_marketing_agent_api_email_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_agent_api_workflow_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "workflow_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "workflow_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Workflow name",
"name": "workflow_name",
"tests": [],
"type": "string"
},
{
"description": "Requested workflow update",
"name": "requested_update",
"tests": [],
"type": "string"
},
{
"description": "Current status",
"name": "current_status",
"tests": [],
"type": "string"
},
{
"description": "Proposed status",
"name": "proposed_status",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot workflow update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing agent API workflow updates",
"spec_name": "hubspot_marketing_agent_api_workflow_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_agent_api_list_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "list_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "list_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "List name",
"name": "list_name",
"tests": [],
"type": "string"
},
{
"description": "Object type",
"name": "object_type",
"tests": [],
"type": "string"
},
{
"description": "Requested list update",
"name": "requested_update",
"tests": [],
"type": "string"
},
{
"description": "Expected member count delta",
"name": "member_count_delta",
"tests": [],
"type": "integer"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot list update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing agent API list updates",
"spec_name": "hubspot_marketing_agent_api_list_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_marketing_agent_api_asset_association_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "asset_association_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "campaign_asset_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Campaign id",
"name": "campaign_id",
"tests": [],
"type": "string"
},
{
"description": "Asset type",
"name": "asset_type",
"tests": [],
"type": "string"
},
{
"description": "Asset id",
"name": "asset_id",
"tests": [],
"type": "string"
},
{
"description": "Association action",
"name": "association_action",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot campaign asset association proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Marketing agent API asset association updates",
"spec_name": "hubspot_marketing_agent_api_asset_association_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_library
billing finance crm collection v1.0.0 HubSpotHubSpot Commerce Hub specs for invoices, invoice line items, payments, payment links, subscriptions, subscription line items, payment schedules, discounts, fees, taxes, revenue events, webhook events, and governed commerce updates.
- Direct systems
- HubSpot
- Coverage
- Core
- Coverage notes
- Covers common Commerce Hub records used for invoice, payment, subscription, quote/deal revenue, and connected Stripe/HubSpot payment review. It does not replace payment processor settlement records, model raw payment details, or mirror every account-specific commerce property.
- Next objects
- orders;
payment_processing_fees; refunds;commerce_reports;tax_settings;buyer_checkout_sessions;subscription_invoice_runs;stripe_processor_links - Omitted
- OAuth/token management; raw card or bank details; processor credentials; complete Stripe settlement replacement; every account-specific commerce property
- Needs
- A HubSpot agent/operator role. The generated calls use
hubspot_agent. - Useful for
- Commerce Hub billing memory; Invoice and payment review; Subscription lifecycle review; Deal-to-invoice reconciliation; HubSpot/Stripe payment comparison; Governed invoice, subscription, payment link, and revenue updates
- Extend with
- Links from Stripe payment intents and invoices into HubSpot payments and invoices; Links from Shopify/Amazon/TikTok orders into HubSpot deals and invoices; Revenue recognition handoff into QuickBooks or NetSuite
- Links
- Invoice update proposals cite current invoice observations; Subscription update proposals cite current subscription observations; Payment link update proposals cite current payment link observations; Revenue record proposals cite current deal observations from the CRM shelf; Revenue record proposals can cite current payment observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
hubspot_commerce_api_invoices | HubSpot | Observation | Invoice observations. |
hubspot_commerce_api_invoice_line_items | HubSpot | Observation | Invoice line item observations. |
hubspot_commerce_api_payments | HubSpot | Observation | Payment observations. |
hubspot_commerce_api_payment_links | HubSpot | Observation | Payment link observations. |
hubspot_commerce_api_subscriptions | HubSpot | Observation | Subscription observations. |
hubspot_commerce_api_subscription_line_items | HubSpot | Observation | Subscription line item observations. |
hubspot_commerce_api_payment_schedules | HubSpot | Observation | Payment schedule observations. |
hubspot_commerce_api_discounts_fees_taxes | HubSpot | Observation | Discount, fee, and tax observations. |
hubspot_commerce_api_revenue_events | HubSpot | Observation | Revenue event observations. |
hubspot_commerce_api_webhook_events | HubSpot | Observation | Commerce webhook event observations. |
hubspot_commerce_agent_api_invoice_updates | HubSpot | Commitment workflow | Governed invoice updates. |
hubspot_commerce_agent_api_subscription_updates | HubSpot | Commitment workflow | Governed subscription updates. |
hubspot_commerce_agent_api_payment_link_updates | HubSpot | Commitment workflow | Governed payment link updates. |
hubspot_commerce_agent_api_revenue_record_updates | HubSpot | Commitment workflow | Governed revenue record updates. |
View 14 create_spec calls
hubspot_commerce_api_invoices
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "invoice_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Deal id",
"name": "deal_id",
"tests": [],
"type": "string"
},
{
"description": "Company id",
"name": "company_id",
"tests": [],
"type": "string"
},
{
"description": "Contact id",
"name": "contact_id",
"tests": [],
"type": "string"
},
{
"description": "Invoice number",
"name": "invoice_number",
"tests": [],
"type": "string"
},
{
"description": "Invoice status",
"name": "invoice_status",
"tests": [],
"type": "string"
},
{
"description": "Payment status",
"name": "payment_status",
"tests": [],
"type": "string"
},
{
"description": "Total amount",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Invoice observations for HubSpot Commerce Hub billing, invoice status, associated deals, payment status, and totals.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API invoices",
"spec_name": "hubspot_commerce_api_invoices"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_invoice_line_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "invoice_line_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Invoice id",
"name": "invoice_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Line item id",
"name": "line_item_id",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Quantity",
"name": "quantity",
"tests": [],
"type": "number"
},
{
"description": "Unit price",
"name": "unit_price",
"tests": [],
"type": "number"
},
{
"description": "Line amount",
"name": "line_amount",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Invoice line item observations for invoiced products, quantities, discounts, taxes, and revenue reconciliation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API invoice line items",
"spec_name": "hubspot_commerce_api_invoice_line_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_payments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Invoice id",
"name": "invoice_id",
"tests": [],
"type": "string"
},
{
"description": "Deal id",
"name": "deal_id",
"tests": [],
"type": "string"
},
{
"description": "Payment status",
"name": "payment_status",
"tests": [],
"type": "string"
},
{
"description": "Payment method type",
"name": "payment_method_type",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Fee amount",
"name": "fee_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment observations for HubSpot payments or connected Stripe payment processing, payment status, amount, fees, and associated records.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API payments",
"spec_name": "hubspot_commerce_api_payments"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_payment_links
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_link_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Payment link name",
"name": "payment_link_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed payment link URL",
"name": "payment_link_url_hash",
"tests": [],
"type": "string"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Line item count",
"name": "line_item_count",
"tests": [],
"type": "integer"
},
{
"description": "Created timestamp",
"name": "created_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment link observations for checkout links, associated products, active status, and buyer flow review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API payment links",
"spec_name": "hubspot_commerce_api_payment_links"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_subscriptions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "subscription_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Contact id",
"name": "contact_id",
"tests": [],
"type": "string"
},
{
"description": "Company id",
"name": "company_id",
"tests": [],
"type": "string"
},
{
"description": "Deal id",
"name": "deal_id",
"tests": [],
"type": "string"
},
{
"description": "Subscription status",
"name": "subscription_status",
"tests": [],
"type": "string"
},
{
"description": "Billing frequency",
"name": "billing_frequency",
"tests": [],
"type": "string"
},
{
"description": "Recurring amount",
"name": "recurring_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Subscription observations for recurring revenue lifecycle, billing cadence, amount, customer, and invoice creation.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API subscriptions",
"spec_name": "hubspot_commerce_api_subscriptions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_subscription_line_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "subscription_line_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Subscription id",
"name": "subscription_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Product id",
"name": "product_id",
"tests": [],
"type": "string"
},
{
"description": "Line item id",
"name": "line_item_id",
"tests": [],
"type": "string"
},
{
"description": "SKU",
"name": "sku",
"tests": [],
"type": "string"
},
{
"description": "Quantity",
"name": "quantity",
"tests": [],
"type": "number"
},
{
"description": "Recurring price",
"name": "recurring_price",
"tests": [],
"type": "number"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Subscription line item observations for recurring products, quantities, prices, and renewal review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API subscription line items",
"spec_name": "hubspot_commerce_api_subscription_line_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_payment_schedules
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "payment_schedule_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Invoice id",
"name": "invoice_id",
"tests": [],
"type": "string"
},
{
"description": "Subscription id",
"name": "subscription_id",
"tests": [],
"type": "string"
},
{
"description": "Schedule status",
"name": "schedule_status",
"tests": [],
"type": "string"
},
{
"description": "Due date",
"name": "due_date",
"tests": [],
"type": "string"
},
{
"description": "Scheduled amount",
"name": "scheduled_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Payment schedule observations for installments, due dates, amounts, and collection state.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API payment schedules",
"spec_name": "hubspot_commerce_api_payment_schedules"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_discounts_fees_taxes
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "commerce_adjustment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Parent object type",
"name": "parent_object_type",
"tests": [],
"type": "string"
},
{
"description": "Parent object id",
"name": "parent_object_id",
"tests": [],
"type": "string"
},
{
"description": "Discount, fee, or tax",
"name": "adjustment_type",
"tests": [],
"type": "string"
},
{
"description": "Adjustment name",
"name": "adjustment_name",
"tests": [],
"type": "string"
},
{
"description": "Adjustment amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Discount, fee, and tax observations for quotes, invoices, and line items.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API discounts fees taxes",
"spec_name": "hubspot_commerce_api_discounts_fees_taxes"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_revenue_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "revenue_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Event timestamp",
"name": "event_timestamp",
"tests": [],
"type": "string"
},
{
"description": "Deal id",
"name": "deal_id",
"tests": [],
"type": "string"
},
{
"description": "Invoice id",
"name": "invoice_id",
"tests": [],
"type": "string"
},
{
"description": "Payment id",
"name": "payment_id",
"tests": [],
"type": "string"
},
{
"description": "Event amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Revenue event observations for invoice, payment, subscription, quote, or deal revenue movement.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API revenue events",
"spec_name": "hubspot_commerce_api_revenue_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_api_webhook_events
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "commerce_webhook_event_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Subscription type",
"name": "subscription_type",
"tests": [],
"type": "string"
},
{
"description": "Object type",
"name": "object_type",
"tests": [],
"type": "string"
},
{
"description": "Object id",
"name": "object_id",
"tests": [],
"type": "string"
},
{
"description": "Event type",
"name": "event_type",
"tests": [],
"type": "string"
},
{
"description": "Occurred timestamp",
"name": "occurred_at",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Commerce webhook event observations for invoice, payment, subscription, payment link, quote, and line item changes.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce API webhook events",
"spec_name": "hubspot_commerce_api_webhook_events"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_agent_api_invoice_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "invoice_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "invoice_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Deal id",
"name": "deal_id",
"tests": [],
"type": "string"
},
{
"description": "Invoice number",
"name": "invoice_number",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Hashed current value",
"name": "current_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Hashed proposed value",
"name": "proposed_value_hash",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot invoice create/update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce agent API invoice updates",
"spec_name": "hubspot_commerce_agent_api_invoice_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_agent_api_subscription_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "subscription_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "subscription_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Deal id",
"name": "deal_id",
"tests": [],
"type": "string"
},
{
"description": "Subscription status",
"name": "subscription_status",
"tests": [],
"type": "string"
},
{
"description": "Requested subscription update",
"name": "requested_update",
"tests": [],
"type": "string"
},
{
"description": "Recurring amount",
"name": "recurring_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot subscription create/update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce agent API subscription updates",
"spec_name": "hubspot_commerce_agent_api_subscription_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_agent_api_payment_link_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "payment_link_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "payment_link_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Payment link name",
"name": "payment_link_name",
"tests": [],
"type": "string"
},
{
"description": "Requested payment link update",
"name": "requested_update",
"tests": [],
"type": "string"
},
{
"description": "Line item count",
"name": "line_item_count",
"tests": [],
"type": "integer"
},
{
"description": "Active flag",
"name": "active",
"tests": [],
"type": "boolean"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot payment link create/update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce agent API payment link updates",
"spec_name": "hubspot_commerce_agent_api_payment_link_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
hubspot_commerce_agent_api_revenue_record_updates
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "revenue_record_update_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "deal_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Invoice id",
"name": "invoice_id",
"tests": [],
"type": "string"
},
{
"description": "Payment id",
"name": "payment_id",
"tests": [],
"type": "string"
},
{
"description": "Field name",
"name": "field_name",
"tests": [],
"type": "string"
},
{
"description": "Current amount",
"name": "current_amount",
"tests": [],
"type": "number"
},
{
"description": "Proposed amount",
"name": "proposed_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency code",
"name": "currency_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed HubSpot commerce-to-CRM revenue update proposals before outbound HubSpot sync.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "HubSpot Commerce agent API revenue record updates",
"spec_name": "hubspot_commerce_agent_api_revenue_record_updates",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "hubspot_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
financial_institution_treasury_library
finance treasury reconciliation collection v1.0.0 Financial institutions TreasuryFinancial institution and treasury specs for bank account masters, cash balances, statement transactions, intraday activity, lockbox remittances, deposit advices, check clearing, positive pay, ACH payments, ACH returns and notices of change, wires, bank fees, cash forecasts, and bank reconciliation findings.
- Direct systems
- Financial institutions; Treasury
- Coverage
- Core
- Coverage notes
- Covers common treasury office file and portal outputs as CSV-ready observations plus approval-first outbound payment commitments. XML-only bank messages are intentionally omitted until Airlock supports XML ingestion.
- Source docs
- Nacha ACH File Overview; Goldman Sachs ACH Returns & NOC File; RBC Machine Readable Statements
- Next objects
- bank-admin entitlement exports; merchant deposit detail; debt schedules; investment balances; intercompany transfers; fraud decision files; bank confirmation letters
- Omitted
- XML-only statement and payment messages; bank credentials; raw account numbers; raw routing numbers; raw check images; unreviewed automatic payments
- Needs
- A financial institution or treasury agent/operator role. The generated calls use
financial_institution_agentandtreasury_agent. - Useful for
- Daily cash positioning; Bank-to-book reconciliation; Lockbox cash application; Positive-pay issue and void review; ACH return follow-up; Wire status review; Bank fee analysis; Cash forecasting
- Extend with
- Links from QuickBooks or NetSuite AP payments into bank payment commitments; Links from Stripe/Square/Shopify/Amazon payouts into bank deposits; Bank-specific file layout notes outside the spec; Expectations for daily balance and statement delivery
- Links
- Positive-pay commitments cite the bank account reference they target; Check clearing observations can be compared to issued positive-pay commitments; ACH returns and notices of change cite the original ACH payment commitment where available; Wire status observations cite the approved wire payment commitment where available; Cash forecasts can cite current bank balance observations; Cash forecasts can cite intraday transaction observations; Bank reconciliation findings cite bank transaction observations; Bank reconciliation findings cite bank balance observations; Bank reconciliation findings can cite QuickBooks deposit observations; Bank reconciliation findings can cite QuickBooks bill payment observations; Bank reconciliation findings can cite NetSuite deposit observations; Bank reconciliation findings can cite Stripe balance transaction observations; Bank reconciliation findings can cite Square payout observations
Specs
| Spec segment | Direct system | Domain | Purpose |
|---|---|---|---|
bank_account_master | Financial institutions, Treasury | Reference | Bank account reference memory. |
bank_cash_balances | Financial institutions, Treasury | Observation | Cash balance observations. |
bank_statement_transactions | Financial institutions, Treasury | Observation | Bank transaction observations. |
bank_intraday_transactions | Financial institutions, Treasury | Observation | Intraday cash movement observations. |
bank_lockbox_remittance_items | Financial institutions, Treasury | Observation | Lockbox remittance observations. |
bank_deposit_advices | Financial institutions, Treasury | Observation | Deposit batch observations. |
bank_check_clearing_observations | Financial institutions, Treasury | Observation | Check clearing observations. |
bank_positive_pay_issue_commitments | Financial institutions, Treasury | Commitment workflow | Positive-pay issue and void commitments. |
bank_ach_payment_commitments | Financial institutions, Treasury | Commitment workflow | ACH payment commitments. |
bank_ach_return_noc_observations | Financial institutions, Treasury | Observation | ACH return and notice-of-change observations. |
bank_wire_payment_commitments | Financial institutions, Treasury | Commitment workflow | Wire payment commitments. |
bank_wire_status_observations | Financial institutions, Treasury | Observation | Wire status observations. |
bank_account_analysis_fees | Financial institutions, Treasury | Observation | Bank fee observations. |
treasury_cash_forecast_snapshots | Treasury, Financial institutions | Planning | Cash forecast snapshots. |
treasury_bank_reconciliation_findings | Treasury, Financial institutions | Reconciliation | Bank-to-book reconciliation findings. |
View 15 create_spec calls
bank_account_master
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "bank_account_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Financial institution name",
"name": "bank_name",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Tokenized account reference",
"name": "account_token",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Internal account label",
"name": "account_name",
"tests": [],
"type": "string"
},
{
"description": "Operating, payroll, merchant, savings, loan, or other account type",
"name": "account_type",
"tests": [],
"type": "string"
},
{
"description": "Account currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Owning business unit",
"name": "business_unit",
"tests": [],
"type": "string"
},
{
"description": "Mapped general-ledger cash account",
"name": "gl_cash_account",
"tests": [],
"type": "string"
},
{
"description": "Role or team responsible for reconciliation",
"name": "reconciliation_owner",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Bank account reference observations for treasury account ownership, currency, status, and reconciliation routing.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank account master",
"spec_name": "bank_account_master"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_cash_balances
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "balance_snapshot_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Balance timestamp",
"name": "as_of_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Balance date",
"name": "balance_date",
"tests": [],
"type": "string"
},
{
"description": "Ledger balance",
"name": "ledger_balance",
"tests": [],
"type": "number"
},
{
"description": "Available balance",
"name": "available_balance",
"tests": [],
"type": "number"
},
{
"description": "Collected balance",
"name": "collected_balance",
"tests": [],
"type": "number"
},
{
"description": "Float or unavailable funds amount",
"name": "float_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Portal, bank file, API, TMS, or manual source",
"name": "balance_source",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Daily or intraday cash balance observations for ledger, available, collected, float, and credit-line views.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank cash balances",
"spec_name": "bank_cash_balances"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_statement_transactions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "bank_transaction_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Statement date",
"name": "statement_date",
"tests": [],
"type": "string"
},
{
"description": "Posting timestamp or date",
"name": "posted_at",
"tests": [],
"type": "string"
},
{
"description": "Value date",
"name": "value_date",
"tests": [],
"type": "string"
},
{
"description": "Bank transaction type or code",
"name": "transaction_type",
"tests": [],
"type": "string"
},
{
"description": "Debit or credit indicator",
"name": "debit_credit",
"tests": [],
"type": "string"
},
{
"description": "Transaction amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Bank reference number",
"name": "bank_reference",
"tests": [],
"type": "string"
},
{
"description": "Customer or originator reference",
"name": "customer_reference",
"tests": [],
"type": "string"
},
{
"description": "Bank-provided transaction description",
"name": "description",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized counterparty name",
"name": "counterparty_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Bank statement transaction observations from CSV exports, transformed BAI2, or other supported flat-file feeds.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank statement transactions",
"spec_name": "bank_statement_transactions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_intraday_transactions
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "intraday_transaction_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Bank report timestamp",
"name": "reported_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Expected posting date",
"name": "expected_post_date",
"tests": [],
"type": "string"
},
{
"description": "Bank transaction type or code",
"name": "transaction_type",
"tests": [],
"type": "string"
},
{
"description": "Debit or credit indicator",
"name": "debit_credit",
"tests": [],
"type": "string"
},
{
"description": "Transaction amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Bank reference number",
"name": "bank_reference",
"tests": [],
"type": "string"
},
{
"description": "Pending, available, held, reversed, or other status",
"name": "availability_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Intraday transaction observations used for near-real-time cash positioning before final statement posting.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank intraday transactions",
"spec_name": "bank_intraday_transactions"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_lockbox_remittance_items
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "remittance_item_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Lockbox identifier",
"name": "lockbox_id",
"tests": [],
"type": "string"
},
{
"description": "Deposit account id",
"name": "bank_account_id",
"tests": [],
"type": "string"
},
{
"description": "Bank deposit id",
"name": "deposit_id",
"tests": [],
"type": "string"
},
{
"description": "Deposit date",
"name": "deposit_date",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized payer name",
"name": "payer_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Customer reference from remittance detail",
"name": "customer_reference",
"tests": [],
"type": "string"
},
{
"description": "Invoice number from remittance detail",
"name": "invoice_number",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized check number",
"name": "check_number_hash",
"tests": [],
"type": "string"
},
{
"description": "Remittance amount",
"name": "remittance_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Cash application exception reason",
"name": "exception_reason",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Lockbox remittance item observations for customer payments, invoice references, deposits, and cash application review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank lockbox remittance items",
"spec_name": "bank_lockbox_remittance_items"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_deposit_advices
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "deposit_advice_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Bank deposit id",
"name": "deposit_id",
"tests": [],
"type": "string"
},
{
"description": "Deposit date",
"name": "deposit_date",
"tests": [],
"type": "string"
},
{
"description": "Lockbox, branch, remote deposit, merchant payout, cash, or other channel",
"name": "deposit_channel",
"tests": [],
"type": "string"
},
{
"description": "Number of deposit items",
"name": "item_count",
"tests": [],
"type": "integer"
},
{
"description": "Deposit total",
"name": "total_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Bank reference number",
"name": "bank_reference",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Deposit advice observations for deposit batches, item counts, channels, and bank-posted totals.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank deposit advices",
"spec_name": "bank_deposit_advices"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_check_clearing_observations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "check_clearing_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed or tokenized check number",
"name": "check_number_hash",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Paid or decision date",
"name": "paid_date",
"tests": [],
"type": "string"
},
{
"description": "Original issue date when provided",
"name": "issue_date",
"tests": [],
"type": "string"
},
{
"description": "Paid amount",
"name": "paid_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized payee name",
"name": "payee_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Paid, voided, stopped, exception, stale, or other status",
"name": "clearing_status",
"tests": [],
"type": "string"
},
{
"description": "Positive-pay or clearing exception reason",
"name": "exception_reason",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Paid, voided, stopped, stale, or exception check observations from bank clearing and positive-pay decision files.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank check clearing observations",
"spec_name": "bank_check_clearing_observations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_positive_pay_issue_commitments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "positive_pay_commitment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "bank_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed or tokenized check number",
"name": "check_number_hash",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Check issue date",
"name": "issue_date",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized payee name",
"name": "payee_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Check amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Whether the packet voids a previously issued check",
"name": "void_flag",
"tests": [],
"type": "boolean"
},
{
"description": "AP, payroll, or ERP source payment id",
"name": "source_payment_id",
"tests": [],
"type": "string"
},
{
"description": "Outbound file idempotency key",
"name": "idempotency_key",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed positive-pay issue, void, and stale-check packets before outbound bank file delivery.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank positive pay issue commitments",
"spec_name": "bank_positive_pay_issue_commitments",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_ach_payment_commitments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "ach_payment_commitment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "bank_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Payment batch id",
"name": "payment_batch_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "ACH standard entry class code",
"name": "entry_class_code",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized receiver name",
"name": "receiver_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Tokenized receiver account reference",
"name": "receiver_account_token",
"tests": [],
"type": "string"
},
{
"description": "Tokenized receiver routing reference",
"name": "receiver_routing_token",
"tests": [],
"type": "string"
},
{
"description": "Debit or credit indicator",
"name": "debit_credit",
"tests": [],
"type": "string"
},
{
"description": "Payment amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Requested effective entry date",
"name": "effective_entry_date",
"tests": [],
"type": "string"
},
{
"description": "Plain-language payment purpose",
"name": "payment_purpose",
"tests": [],
"type": "string"
},
{
"description": "Outbound file idempotency key",
"name": "idempotency_key",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed ACH payment batches before outbound bank file delivery.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank ACH payment commitments",
"spec_name": "bank_ach_payment_commitments",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_ach_return_noc_observations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "ach_return_noc_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Originating bank account id",
"name": "bank_account_id",
"tests": [],
"type": "string"
},
{
"description": "Original payment batch id",
"name": "payment_batch_id",
"tests": [],
"type": "string"
},
{
"description": "Original ACH trace number",
"name": "original_trace_number",
"tests": [],
"type": "string"
},
{
"description": "ACH return code",
"name": "return_code",
"tests": [],
"type": "string"
},
{
"description": "Notice of change code",
"name": "noc_code",
"tests": [],
"type": "string"
},
{
"description": "Bank receipt timestamp",
"name": "received_at",
"tests": [],
"type": "string"
},
{
"description": "Original effective entry date",
"name": "effective_entry_date",
"tests": [],
"type": "string"
},
{
"description": "Returned or corrected amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Hashed or tokenized receiver name",
"name": "receiver_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Summary of changed account, routing, name, or transaction detail",
"name": "correction_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "ACH return and notice-of-change observations for rejected, corrected, or changed ACH entries.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank ACH return and NOC observations",
"spec_name": "bank_ach_return_noc_observations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_wire_payment_commitments
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Airlock commitment id",
"name": "wire_payment_commitment_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the proposal was prepared",
"name": "prepared_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Person or agent that prepared the proposal",
"name": "prepared_by",
"tests": [],
"type": "string"
},
{
"description": "External system target record id",
"name": "bank_account_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Requested outbound action",
"name": "action_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Review status before outbound sync",
"name": "approval_status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Hashed or tokenized beneficiary name",
"name": "beneficiary_name_hash",
"tests": [],
"type": "string"
},
{
"description": "Tokenized beneficiary account reference",
"name": "beneficiary_account_token",
"tests": [],
"type": "string"
},
{
"description": "Tokenized beneficiary bank identifier",
"name": "beneficiary_bank_identifier_token",
"tests": [],
"type": "string"
},
{
"description": "Wire amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Requested execution date",
"name": "requested_execution_date",
"tests": [],
"type": "string"
},
{
"description": "Plain-language payment purpose",
"name": "payment_purpose",
"tests": [],
"type": "string"
},
{
"description": "AP, payroll, treasury, or ERP source payment id",
"name": "source_payment_id",
"tests": [],
"type": "string"
},
{
"description": "Outbound instruction idempotency key",
"name": "idempotency_key",
"tests": [],
"type": "string"
},
{
"description": "Plain-language summary of the intended change",
"name": "expected_effect_summary",
"tests": [],
"type": "string"
},
{
"description": "Observation or reconciliation evidence behind the proposal.",
"name": "source_evidence",
"tests": [],
"type": "variant"
},
{
"description": "Outbound provider API payload or payload fragment.",
"name": "api_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Governed wire payment packets before outbound bank portal, API, or file delivery.",
"file_workflow": true,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank wire payment commitments",
"spec_name": "bank_wire_payment_commitments",
"workflow_steps": [
{
"allow_delete": true,
"allow_overwrite": true,
"can_user_advance": true,
"can_user_elevate": false,
"description": "Draft proposal",
"is_initial": true,
"owner_can_manage_files": true,
"parent_step_name": null,
"require_comment": false,
"step_name": "Draft",
"step_order": 1,
"user_can_manage_files": true
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Submitted for review",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Draft",
"require_comment": true,
"step_name": "Submitted",
"step_order": 2,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Accepted for outbound sync",
"is_initial": false,
"owner_can_manage_files": true,
"parent_step_name": "Submitted",
"require_comment": true,
"step_name": "Accepted",
"step_order": 3,
"user_can_manage_files": false
},
{
"allow_delete": false,
"allow_overwrite": false,
"can_user_advance": false,
"can_user_elevate": false,
"description": "Sent to the external system",
"is_initial": false,
"owner_can_manage_files": false,
"parent_step_name": "Accepted",
"require_comment": true,
"step_name": "Sent",
"step_order": 4,
"user_can_manage_files": false
}
]
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_wire_status_observations
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "wire_status_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Airlock wire payment commitment id",
"name": "wire_payment_commitment_id",
"tests": [],
"type": "string"
},
{
"description": "Originating bank account id",
"name": "bank_account_id",
"tests": [],
"type": "string"
},
{
"description": "Customer wire reference",
"name": "wire_reference",
"tests": [],
"type": "string"
},
{
"description": "Bank wire reference",
"name": "bank_reference",
"tests": [],
"type": "string"
},
{
"description": "Wire status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Wire status timestamp",
"name": "status_at",
"tests": [],
"type": "string"
},
{
"description": "Wire amount",
"name": "amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Reject, repair, or cancellation reason code",
"name": "reason_code",
"tests": [],
"type": "string"
},
{
"description": "Plain-language reason summary",
"name": "reason_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Wire status observations for accepted, rejected, repaired, released, confirmed, or cancelled payments.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank wire status observations",
"spec_name": "bank_wire_status_observations"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
bank_account_analysis_fees
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "account_analysis_fee_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [],
"type": "string"
},
{
"description": "Fee statement month",
"name": "statement_month",
"tests": [],
"type": "string"
},
{
"description": "Bank service code",
"name": "service_code",
"tests": [],
"type": "string"
},
{
"description": "Bank service description",
"name": "service_description",
"tests": [],
"type": "string"
},
{
"description": "Service unit count",
"name": "unit_count",
"tests": [],
"type": "number"
},
{
"description": "Service unit price",
"name": "unit_price",
"tests": [],
"type": "number"
},
{
"description": "Fee amount",
"name": "fee_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Waived or offset amount",
"name": "waived_amount",
"tests": [],
"type": "number"
},
{
"description": "Fee review status",
"name": "review_status",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Account analysis fee observations for treasury service charges, volumes, earnings credits, and fee review.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Bank account analysis fees",
"spec_name": "bank_account_analysis_fees"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "financial_institution_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
treasury_cash_forecast_snapshots
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "External system record id",
"name": "cash_forecast_snapshot_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the observation was captured",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "External system update timestamp",
"name": "source_updated_at",
"tests": [],
"type": "string"
},
{
"description": "External system status",
"name": "source_status",
"tests": [],
"type": "string"
},
{
"description": "Forecast run id",
"name": "forecast_run_id",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Forecast date",
"name": "forecast_date",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [],
"type": "string"
},
{
"description": "Business unit",
"name": "business_unit",
"tests": [],
"type": "string"
},
{
"description": "Opening cash balance",
"name": "opening_cash",
"tests": [],
"type": "number"
},
{
"description": "Expected cash inflows",
"name": "expected_inflows",
"tests": [],
"type": "number"
},
{
"description": "Expected cash outflows",
"name": "expected_outflows",
"tests": [],
"type": "number"
},
{
"description": "Forecast closing cash",
"name": "closing_cash",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "High, medium, low, or other confidence label",
"name": "confidence",
"tests": [],
"type": "string"
},
{
"description": "Plain-language forecast assumption summary",
"name": "assumption_summary",
"tests": [],
"type": "string"
},
{
"description": "Selected provider payload fields retained for audit and future promotion.",
"name": "raw_payload",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Cash forecast snapshots built from bank balances, open AR/AP, payroll, debt, tax, and planned transfer assumptions.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Treasury cash forecast snapshots",
"spec_name": "treasury_cash_forecast_snapshots"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "treasury_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
treasury_bank_reconciliation_findings
CALL airlock.admin.create_spec(PARSE_JSON($${
"column_config": [
{
"description": "Reconciliation finding id",
"name": "bank_reconciliation_finding_id",
"tests": [
"not_null",
"unique"
],
"type": "string"
},
{
"description": "When the finding was produced",
"name": "observed_at",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared system",
"name": "left_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "First compared spec",
"name": "left_spec",
"tests": [],
"type": "string"
},
{
"description": "First compared record id",
"name": "left_record_id",
"tests": [],
"type": "string"
},
{
"description": "Second compared system",
"name": "right_system",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Second compared spec",
"name": "right_spec",
"tests": [],
"type": "string"
},
{
"description": "Second compared record id",
"name": "right_record_id",
"tests": [],
"type": "string"
},
{
"description": "Identifier used for matching, such as sku, email_hash, product_url_hash, or order_number",
"name": "match_key_type",
"tests": [],
"type": "string"
},
{
"description": "Matched identifier value or token",
"name": "match_key_value",
"tests": [],
"type": "string"
},
{
"description": "Mismatch type",
"name": "discrepancy_type",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Business severity",
"name": "severity",
"tests": [],
"type": "string"
},
{
"description": "Plain-language business impact",
"name": "business_impact",
"tests": [],
"type": "string"
},
{
"description": "Role or team that should review the finding",
"name": "recommended_owner",
"tests": [],
"type": "string"
},
{
"description": "Suggested next action",
"name": "recommended_action",
"tests": [],
"type": "string"
},
{
"description": "Suggested outbound commitment spec for an accepted fix",
"name": "suggested_commitment_spec",
"tests": [],
"type": "string"
},
{
"description": "Finding status",
"name": "status",
"tests": [
"not_null"
],
"type": "string"
},
{
"description": "Reconciliation run id",
"name": "run_id",
"tests": [],
"type": "string"
},
{
"description": "Bank account id",
"name": "bank_account_id",
"tests": [],
"type": "string"
},
{
"description": "Statement date",
"name": "statement_date",
"tests": [],
"type": "string"
},
{
"description": "ERP or accounting system compared to the bank",
"name": "gl_system",
"tests": [],
"type": "string"
},
{
"description": "Bank-side amount",
"name": "bank_amount",
"tests": [],
"type": "number"
},
{
"description": "Book-side amount",
"name": "book_amount",
"tests": [],
"type": "number"
},
{
"description": "Difference between bank and book amounts",
"name": "difference_amount",
"tests": [],
"type": "number"
},
{
"description": "Currency",
"name": "currency",
"tests": [],
"type": "string"
},
{
"description": "Aging bucket for unresolved difference",
"name": "aging_bucket",
"tests": [],
"type": "string"
},
{
"description": "Known reason the finding is still open",
"name": "unresolved_reason",
"tests": [],
"type": "string"
},
{
"description": "Compared values, source file references, and agent evidence for the finding.",
"name": "evidence",
"tests": [],
"type": "variant"
}
],
"core_config": {
"current_mode": "latest",
"description": "Treasury reconciliation findings comparing bank balances, bank transactions, ERP cash, processor payouts, and payment commitments.",
"file_workflow": false,
"is_archived": false,
"is_locked": false,
"is_published": true,
"materialize_as_table": true,
"owner_role": "app_admin",
"spec_alias": "Treasury bank reconciliation findings",
"spec_name": "treasury_bank_reconciliation_findings"
},
"file_rules": {
"file_format": {
"cell_range": null,
"encoding": "UTF8",
"escape_unenclosed_field": "\\",
"field_delimiter": ",",
"field_optionally_enclosed_by": "\"",
"file_type": "csv",
"parse_header": true,
"record_delimiter": "\n",
"save_header": true
},
"filename_rules": {
"enforce_filename_pattern": false,
"filename_pattern": null,
"sample_filenames": null
}
},
"guest_access": {
"enabled": true,
"guest_roles": [
{
"access_level": "full_access",
"role_name": "treasury_agent"
}
],
"isolated_access_level": "full_access",
"isolated_directories_enabled": true,
"isolated_directories_per_user": true,
"public_folder": {
"enabled": false,
"subfolders": {
"append_access": {
"enabled": false
},
"full_access": {
"enabled": false
},
"read_access": {
"enabled": false
}
}
}
},
"sample_data": {
"sample_data_acknowledged": true,
"sample_rows": []
}
}$$));
No specs match that search.