Skip to content

Artificial Intelligence

AirOps
API integration

Ship Artificial Intelligence features without building the integration. Full AirOps API access via Proxy and 40+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
AirOps

Use Cases

Why integrate with AirOps

Common scenarios for SaaS companies building AirOps integrations for their customers.

01

Embed AI Search Visibility Analytics

Marketing analytics platforms can pull AirOps citation, answer, sentiment, and competitor data to give their users a native view of how their brand performs inside LLM-generated answers alongside traditional SEO metrics.

02

Trigger Content Refresh Workflows from a CMS

CMS and DXP platforms can offer an 'Auto-Refresh for AI Search' feature by triggering AirOps executions when pages hit a staleness threshold, then delivering the regenerated draft back to the editor.

03

Keep AirOps Memory Stores in Sync with Source-of-Truth Content

Documentation hubs, help desks, and knowledge platforms can auto-sync articles into AirOps memory stores so AI-generated marketing content always reflects the latest product reality.

04

Run Bulk AI Content Operations from Your Product

SaaS platforms managing large content inventories can use AirOps Grids to run bulk generation jobs (e.g., refreshing hundreds of product descriptions) and pull results back in as CSVs without building the orchestration layer themselves.

05

Ship an Embedded AI Agent Powered by Quill

Product teams can expose AirOps agent chat inside their own UI so users get brand-aware AI responses grounded in their own Brand Kit, without hosting or fine-tuning models.

What You Can Build

Ship these features with Truto + AirOps

Concrete product features your team can ship faster by leveraging Truto’s AirOps integration instead of building from scratch.

01

AI Search Share-of-Voice Dashboard

Render citation counts, sentiment, competitor mentions, and theme-level answer data from AirOps Brand Kits inside your analytics product.

02

Webhook-Triggered Content Refresh

Fire AirOps async executions when CMS events occur and return the generated draft to the editor for review.

03

Two-Way Memory Store Sync

Add and delete documents in AirOps memory stores as content is published, updated, or archived in your platform.

04

Bulk Content Generation via Grids

Kick off Grid CSV generation jobs, poll for completion, and download the resulting CSV to power large-scale content operations.

05

Embedded Brand-Aware AI Chat

Expose AirOps agent chat (sync or async) inside your app so end users can converse with an assistant grounded in their Brand Kit.

06

Execution Feedback Loop

Let users rate, retry, or cancel AirOps executions directly from your UI to close the loop on quality control.

SuperAI

AirOps AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_air_ops_apps

List all apps in the airops workspace. Returns each app with id, uuid, name, description, created_at, and updated_at.

get_single_air_ops_app_by_id

Get a single airops app by its uuid. Returns the app object including id, name, description, created_at, and updated_at. Required: id.

list_all_air_ops_executions

List executions for an Airops app. Returns execution records including id, status, uuid, inputs, output, runtime, credits_used, createdAt, and updatedAt. Required: airops_app_id.

air_ops_executions_execute

Execute a published Airops app synchronously and return the result. Returns the airops_app_execution object including id, status, inputs, output, and createdAt/updatedAt. Required: app_uuid, inputs. Fails if the app exceeds capacity or runs longer than 10 minutes.

air_ops_executions_execute_async

Execute a published Airops app asynchronously and return the queued execution. Returns the airops_app_execution object including id, status, inputs, output, and createdAt/updatedAt. Required: app_uuid, inputs.

air_ops_executions_execute_definition

Execute a published Airops workflow definition synchronously. Returns the airops_app_execution object including id, status, inputs, output, and createdAt/updatedAt. Required: app_uuid, inputs, inputs_schema, definition. Fails if the app exceeds capacity or runs longer than 10 minutes.

air_ops_executions_execute_definition_async

Execute a published Airops workflow definition asynchronously and return the queued execution. Returns the airops_app_execution object including id, status, inputs, output, and createdAt/updatedAt. Required: app_uuid, inputs, inputs_schema, definition.

air_ops_executions_webhook_async_execute

Execute a published airops app asynchronously via incoming webhook. Returns the airops_app_execution object with execution details including id, status, inputs, output, and runtime. Required: app_uuid, inputs.

air_ops_executions_cancel

Cancel a pending or running airops execution. Returns an empty 204 response on success. Required: execution_uuid.

air_ops_executions_rate

Rate a successful airops execution as positive, neutral, or negative. Returns an empty 204 response on success. Required: execution_uuid, feedback.

air_ops_executions_retry

Retry an airops execution that is in error status from the last failed step. Returns an empty 204 response on success. Required: execution_uuid.

air_ops_agent_apps_chat

Send a synchronous chat message to an AirOps Agent app. Returns the agent result object and the airops_app_execution record. Required: app_uuid, message.

air_ops_agent_apps_chat_async

Send a chat message to an AirOps Agent app asynchronously, without waiting for the response. Returns the session_id and the airops_app_execution record. Required: app_uuid, message.

air_ops_files_upload

Upload a file to an airops workspace. Returns: id, created_at, updated_at, openapi, info, paths, components, servers. Required: file.

air_ops_grids_generate_csv

Start an async CSV generation job for a sheet in airops. Returns: job_id, id, openapi, info, paths, components, servers. Required: grid_id, sheet_id.

air_ops_grids_download_csv

Check the status of a CSV generation job and get the download URL in airops. Returns: status, download_url, download_link, openapi, info, paths, components, servers. Required: grid_id, sheet_id, job_id.

air_ops_grids_download_latest_csv

Download the latest generated CSV for a sheet in airops. Returns an empty 302 redirect response on success. Required: grid_id, sheet_id.

air_ops_memory_stores_add_document

Add a document to an airops memory store. Returns the created document with id, name, document_type, status, and sync_progress_percentage. Required: memory_store_id, name, text.

air_ops_memory_stores_delete_document

Delete a document from an airops memory store. Returns an empty 204 response on success. Required: memory_store_id, document_id.

list_all_air_ops_search_memory_stores

Search an airops memory store by query string. Returns a matches array of search results, each with id, score, content, document_name, and metadata. Required: memory_store_id, query.

list_all_air_ops_brand_kits

List airops brand kits. Returns: data, meta. The request body supports workspace_id, filters, includes, fields, and sort.

get_single_air_ops_brand_kit_by_id

Get a single airops brand kit by id. Returns: id, countries, created_at, updated_at, openapi, info, tags, servers, security, components, paths. Required: id.

list_all_air_ops_brand_kits_analytics

Query analytics data for a Brand Kit in airops. Returns data and meta. Required: brand_kit_id, metrics. Max 3 dimensions; limit 1-1000.

list_all_air_ops_brand_kits_prompts

List prompts for an airops Brand Kit. Returns prompt records with id, text, keyword, brand_mentioned, prompt_volume, topic_id, created_at, updated_at, mention_rate, citation_rate, mention_rate_trend, citation_rate_trend, query_fanouts, countries, persona_ids, platforms, est_answers_mo, topic, and tags. Required: brand_kit_id.

get_single_air_ops_brand_kits_prompt_by_id

Get a single prompt for an airops Brand Kit by id. Returns the prompt record including id, text, keyword, brand_mentioned, prompt_volume, topic_id, created_at, updated_at, mention_rate, citation_rate, mention_rate_trend, citation_rate_trend, query_fanouts, countries, persona_ids, platforms, est_answers_mo, topic, and tags. Required: brand_kit_id, id.

list_all_air_ops_brand_kits_topics

List topics for a Brand Kit in airops. Returns a `data` array of topics with id, name, and color, plus pagination `meta`. Required: brand_kit_id.

get_single_air_ops_brand_kits_topic_by_id

Get a single topic for a Brand Kit in airops by id. Returns the topic under `data` with id, name, and color. Required: brand_kit_id, id.

list_all_air_ops_brand_kits_tags

List tags in an AirOps Brand Kit. Returns: id, name, color, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id. Max 100 per page.

get_single_air_ops_brand_kits_tag_by_id

Get a single AirOps Brand Kit tag by id. Returns: id, name, color, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, id.

list_all_air_ops_brand_kits_personas

List personas in an airops Brand Kit. Returns: id, title, description, created_at, updated_at, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id.

get_single_air_ops_brand_kits_persona_by_id

Get a single airops Brand Kit persona by id. Returns: id, title, description, created_at, updated_at, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, id.

list_all_air_ops_brand_kits_citations

List citations for an Airops brand kit. Returns: url, domain, domain_name, domain_category, logo_url, citation_count, citation_count_trend, citation_share, citation_share_trend, citation_rate, citation_rate_trend, influence_score, influence_score_breakdown, page_type, brand_mentioned, brand_sentiment, mentioned_competitor_domains, domain_authority. Required: brand_kit_id.

get_single_air_ops_brand_kits_citation_by_id

Get a single citation for an Airops brand kit. Returns the citation record including url, domain, citation_count, citation_rate, influence_score, brand_mentioned, and brand_sentiment. Required: brand_kit_id, id.

list_all_air_ops_brand_kits_answers

List AI answers for a brand kit in airops. Returns answer records including id, date, text, prompt, provider, country, citations, mentions, and brand_mentioned. Required: brand_kit_id.

get_single_air_ops_brand_kits_answer_by_id

Get a single AI answer for a brand kit in airops. Returns the answer record including id, date, text, prompt, provider, country, citations, mentions, and brand_mentioned. Required: brand_kit_id, id.

list_all_air_ops_brand_kits_competitors

List competitors for an Airops brand kit. Returns: id, aeo_domain_id, name, domain_url, created_at, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id.

get_single_air_ops_brand_kits_competitor_by_id

Get a single competitor for an Airops brand kit by id. Returns: id, aeo_domain_id, name, domain_url, created_at, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, id.

list_all_air_ops_brand_kits_content_updates

List content updates for a Brand Kit in airops. Returns a collection of content updates with id, url, type, source, brand_kit_id, workspace_id, created_at, updated_at, change_detection, metadata_entries. Required: brand_kit_id.

create_a_air_ops_brand_kits_content_update

Create a content update for a Brand Kit in airops. Returns: id, url, type, source, brand_kit_id, workspace_id, created_at, updated_at, change_detection, metadata_entries, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, url, type.

get_single_air_ops_brand_kits_content_update_by_id

Get a single content update for a Brand Kit in airops by id. Returns: id, url, type, source, brand_kit_id, workspace_id, created_at, updated_at, change_detection, metadata_entries, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, id.

delete_a_air_ops_brand_kits_content_update_by_id

Delete a content update for a Brand Kit in airops. Returns an empty 204 response on success. Required: brand_kit_id, id.

list_all_air_ops_brand_kits_web_pages

List web page metrics for an Airops brand kit. Returns id, url, citations_count, clicks, impressions, traffic, and configured GA4/Amplitude events. Required: brand_kit_id.

list_all_air_ops_brand_kits_sentiment_theme_answers

Get individual AI answers with sentiment details for a specific theme in an AirOps brand kit. Returns: answers, pagination, error, openapi, info, tags, servers, security, components, paths. Required: brand_kit_id, sentiment_theme_id.

Why Truto

Why use Truto’s MCP server for AirOps

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 550+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with AirOps in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s AirOps account

Use Truto’s frontend SDK to connect your customer’s AirOps account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call AirOps

Truto’s Proxy API is a 1-to-1 mapping of the AirOps API. You call us, we call AirOps, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate AirOps’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about AirOps on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users connect their AirOps account through our product?

Truto handles the AirOps authentication flow, credential storage, and token lifecycle for you. Your users authenticate once via Truto's connect flow, and your app calls AirOps tools through Truto without ever touching raw API keys.

Can we run AirOps workflows asynchronously for long-running jobs?

Yes. AirOps exposes async execution tools including air_ops_executions_execute_async, air_ops_executions_execute_definition_async, and air_ops_executions_webhook_async_execute, so you can trigger workflows and receive results via webhook or polling instead of blocking on long generations.

What AEO analytics data can we pull from AirOps?

Through Brand Kits you can list and retrieve citations, answers, competitors, personas, topics, tags, prompts, web pages, sentiment theme answers, content updates, and top-level analytics — enough to build a full AI search visibility dashboard.

How do we handle bulk content operations?

Use the Grids tools: air_ops_grids_generate_csv to kick off a bulk run, and air_ops_grids_download_csv or air_ops_grids_download_latest_csv to retrieve results. This is the recommended path for high-volume operations rather than looping single executions.

Can we keep AirOps memory stores in sync with content in our platform?

Yes. air_ops_memory_stores_add_document and air_ops_memory_stores_delete_document let you programmatically manage documents in a user's memory store, and list_all_air_ops_search_memory_stores lets you discover which stores exist for a connected account.

Can users manage execution quality from within our product?

Yes. AirOps supports air_ops_executions_rate, air_ops_executions_retry, and air_ops_executions_cancel, so you can surface feedback, retry, and cancellation controls natively in your UI and pass them through to AirOps.

AirOps

Get AirOps integrated into your app

Our team understands what it takes to make a AirOps integration successful. A short, crisp 30 minute call with folks who understand the problem.