Skip to main content
Glama

Create an ad-network integration

create_integration

Store encrypted network credentials and choose which event source AttriKit forwards per family, so subscriptions and installs reach Meta, Google, or TikTok.

Instructions

Store encrypted network credentials and choose, for each of the eight event families (install, session, trial, subscription, purchase, refund, paywall, business), which source's copy AttriKit forwards to the network. AttriKit always does the sending; the owner only picks the copy. attrkit = the events your app reports through the AttriKit SDK (the RevenueCat copy of that family is dropped). revenuecat = the events AttriKit received from your RevenueCat webhook (the SDK copy is dropped); RevenueCat itself sends nothing to the network. customer = events your own servers post to AttriKit. If your app reports subscriptions only through RevenueCat, set trial, subscription, purchase and refund to revenuecat, or none of them reach the network. For Meta and TikTok, delivery_scope and renewal_event are optional; left out, the integration sends every install's events and renewals as Purchase.

Input Schema

NameRequiredDescriptionDefault
enableNo
ownersYesFor each event family, whose copy is forwarded: attrkit, revenuecat or customer (see the tool description). Enabling a destination requires ALL eight families to be present, or the API rejects the call.
networkYes
credentialYes
account_refYes
renewal_eventNoHow a renewal reaches Meta website and TikTok web events. purchase (the API's default): as Purchase with its price and currency. custom: as the custom event subscription_renewed with its price and currency, so Purchase counts one-time purchases only. App events are unchanged. A Google integration refuses custom.
delivery_scopeNoWhich events a Meta or TikTok integration sends. all (the API's default): the events of every install with measurement consent, organic ones included. attributed: send only events of installs AttriKit attributes to this connection's network (click ID, link token, or device match at or above the delivery floor); others are suppressed with attributed_only_suppressed. Meta and TikTok only: a Google integration refuses attributed.
idempotency_keyNoStable retry key for this exact mutation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (mutating, open-world, non-idempotent, non-destructive), and the description adds real behavioral context: AttriKit always sends, source selection silently drops the other copy, renewal_event and delivery_scope defaults, and that Google rejects 'custom'/'attributed'. It does not explain idempotency-key/retry behavior or failure modes (invalid credentials, all-eight requirement is only in the schema), leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and then unpacks the tricky event-routing semantics; dense but nearly every sentence informs configuration. Slightly long, but the length is justified by genuinely ambiguous routing behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter mutating tool with a nested object and no output schema, the description is thorough on the hardest decisions (source selection, defaults, network-specific rejections). It omits credential format, the all-eight-families requirement (only in schema), and idempotency behavior, but is otherwise sufficient to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 50% schema coverage, the description carries much of the load, thoroughly defining the attrkit/revenuecat/customer source semantics, the per-family drop rules, and the default behavior of delivery_scope and renewal_event. It leaves network, account_ref, credential, enable and idempotency_key unexplained, so it doesn't fully compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — store encrypted network credentials and choose, per event family, which source's copy is forwarded. It clearly distinguishes this act (creating/seeding an integration's routing) from siblings like update_integration, delete_integration and configure_revenuecat by explaining AttriKit does the sending while the owner only picks the copy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives strong conditional guidance, e.g. 'If your app reports subscriptions only through RevenueCat, set trial, subscription, purchase and refund to revenuecat, or none of them reach the network,' and notes Meta/TikTok optionality. It does not, however, explicitly route an agent to update_integration for modifying an existing integration or state prerequisites/alternatives among siblings, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.