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 usUse Cases
Why integrate with AirOps
Common scenarios for SaaS companies building AirOps integrations for their customers.
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.
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.
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.
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.
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.
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.
Webhook-Triggered Content Refresh
Fire AirOps async executions when CMS events occur and return the generated draft to the editor for review.
Two-Way Memory Store Sync
Add and delete documents in AirOps memory stores as content is published, updated, or archived in your platform.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.