application-integration-basics
Explains Google Cloud Application Integration concepts, region provisioning, IAM roles, run-as service accounts, interface choices (REST, Python discovery client, Terraform, ADK), and platform limits
Install / Use
npx skills add google/skills --skill application-integration-basicsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
OperationsSupported Platforms
Our assessment of application-integration-basics
application-integration-basics scores 98/100 on our quality scale, 29th of 756 Operations skills we index (top 4%).
Its SKILL.md is 23 KB long, well organised into 17 sections with 4 code examples: a thorough specification that gives an agent plenty to work with.
With 20,340 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 39 days ago, so application-integration-basics is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit β read the skill file before letting an agent act on it.
application-integration-basics compared with similar skills
All 4 of these similar skills score higher than application-integration-basics; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| application-integration-basics (this skill)by google | 98 | 20.3k | 39d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 107.6k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.5k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 91.7k | today | MCP Server |
| crawl4aiby unclecode | 100 | 86.7k | today | MCP Server |
Frequently asked questions
- How do I install application-integration-basics?
- Run
npx skills add google/skills --skill application-integration-basics. The install tabs above show the steps for each supported agent. - Which AI agents does application-integration-basics work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is application-integration-basics safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is application-integration-basics still maintained?
- The repository was last updated 39 days ago, so application-integration-basics is actively maintained.
Skill content
View source on GitHubname: application-integration-basics metadata: version: "1.0.2" category: ApplicationDevelopment description: >- Explains Google Cloud Application Integration concepts, region provisioning, IAM roles, run-as service accounts, interface choices (REST, Python discovery client, Terraform, ADK), and platform limits. Use when setting up Application Integration in a Google Cloud project, enabling required APIs, provisioning a region, configuring IAM or run-as service accounts, choosing between Application Integration and custom code, or checking quotas and timeouts. Do not use for building, publishing, or invoking integrations (use application-integration-authoring) or diagnosing failed or stuck runs and logs (use application-integration-troubleshooting).
Application Integration Basics
Application Integration is Google Cloud's serverless, auto-scaling Integration-Platform-as-a-Service (iPaaS) for connecting Google Cloud services and third-party SaaS applications. It runs event-driven workflows made of triggers, tasks, data mappings, and Integration Connectors connections without requiring you to manage servers. Use this skill to decide whether Application Integration fits a workload, set up a project and region, configure IAM and run-as service accounts, choose the right API or tool interface, and design around platform limits.
Attribution
MUST READ: Before executing any gcloud command, REST API call, or Python
discovery-client call, you MUST read
Usage Attribution. For commands executed directly
in the terminal (never in generated scripts, Terraform, ADK agents, or user
code), prefix gcloud with
CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:application-integration-basics)"
and add agent-skills/1.0 (skill:application-integration-basics) to the
User-Agent header of curl requests.
When to Use Application Integration vs. Custom Glue Code
| Choose Application Integration when... | Choose custom code (Cloud Run / Cloud Functions) when... |
| :--- | :--- |
| Connecting SaaS apps (CRM, ERP, databases, Google Cloud services) via prebuilt Integration Connectors. | You need sub-second latency or custom binary protocols. |
| Orchestrating event-driven workflows from API, Pub/Sub, Cloud Scheduler, Salesforce, or Connector Event triggers. | Total workflow data exceeds 30 MB (or 8 MB for API trigger inputs and Connector payloads). |
| Transforming JSON/array data visually with Data Mapping or Jsonnet without deploying containers. | Synchronous runs take longer than 2 minutes or asynchronous runs take longer than 10 minutes. |
| Pausing workflows for human review (Approval or Suspend tasks up to 31 days). | You must call VPC-only HTTP endpoints directly without Private Service Connect connectors (Call REST Endpoint reaches the public internet only). |
| Exposing enterprise workflows or connectors as tools to AI agents via ADK ApplicationIntegrationToolset. | You need arbitrary language packages or heavy in-memory compute beyond JavaScript (V8) or Jsonnet tasks. |
Safety and Confirmation Rules
- Read-only checks run freely: You may run
gcloud services list,gcloud projects get-iam-policy, and HTTPGETcalls tohttps://integrations.googleapis.com/v1/...orhttps://connectors.googleapis.com/v1/...without asking first. - Require explicit user confirmation before any state change: Always show the exact command or request payload and wait for user approval before:
- Enabling APIs (
gcloud services enable). - Provisioning a region (
clients:provisionorterraform applyongoogle_integrations_client), especially with Customer-Managed Encryption Keys (CMEK), because enabling CMEK for a region cannot be undone. - Modifying IAM policies (
gcloud projects add-iam-policy-bindingorgcloud iam service-accounts add-iam-policy-binding). - Creating, uploading, publishing, unpublishing, executing, testing, or deleting any integration, version, auth profile, or connection.
- Enabling APIs (
- Never bundle destructive scripts that delete integrations, versions, auth profiles, or connections unattended.
- Host changes require approval. Before installing packages (
pip install) or changing global gcloud or credential state (gcloud config set ...such asauth/impersonate_service_account,gcloud auth application-default login/set-quota-project), show the exact command and wait for the user's approval.
Choosing the Interface
Application Integration has no gcloud integrations command group (and no gcloud connectors command group), and no Google-managed remote MCP server. The REST API is the primary control and execution interface.
| Interface | What it covers | Authentication |
| :--- | :--- | :--- |
| REST API (curl) | Full v1 surface: region provisioning, integrations, versions, download/upload, publish, execute, schedule, executions, suspensions, authConfigs, templates. | Authorization: Bearer $(gcloud auth print-access-token) |
| Python discovery client | Full v1 surface via googleapiclient.discovery.build("integrations", "v1") (and v2 via build("integrations", "v2"); no dedicated Cloud Client Library exists). Install with pip install "google-api-python-client>=2.100.0,<3" "google-auth>=2.20.0,<3" (changes host or credential state; get the user's approval first). | Application Default Credentials (gcloud auth application-default login) (changes host or credential state; get the user's approval first) |
| Terraform (hashicorp/google) | Infrastructure only: google_integrations_client (region setup), google_integrations_auth_config, and google_integration_connectors_*. Does not manage integration workflow versions. | ADC or Terraform provider credentials |
| ADK (ApplicationIntegrationToolset) | Exposes published API-trigger integrations or Integration Connectors actions/entities as tools for ADK agents (Python v0.1.0+, Java v0.3.0+). | ADC (gcloud auth application-default login) (changes host or credential state; get the user's approval first) or service account JSON |
| Cloud console | Visual drag-and-drop editor, Quick/Advanced region setup, Approval task resolution, OAuth 2.0 authorization code consent flow. | Browser Google Cloud sign-in |
- Use
gcloudonly for generic Google Cloud tasks: enabling APIs (gcloud services enable), printing access tokens (gcloud auth print-access-token), managing IAM, and reading Cloud Logging (gcloud logging read). - Integration Connectors includes an outbound MCP connector (
MCP v1andv2) that lets a workflow call an external MCP server as a connector target; this is an outbound connector, not a Google-managed MCP server for controlling Application Integration. - Always use the global endpoint
https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/...consistently for REST calls. - Note on draft testing (
integrations:test): AlthoughPOST .../integrations/INTEGRATION_NAME:testexists in the v1 REST API, its requiredTestIntegrationsRequest.clientIdvalue is not publicly documented, so do not invent one; test integrations by publishing to a non-production project and calling:execute. - See references/api-access.md for authentication setup,
curlcommands, Python discovery client patterns, and ADKApplicationIntegrationToolsetconfiguration.
Step-by-Step Region Setup Workflow
Application Integration is regional: confirm the target region is supported on Application Integration locations and use us-central1 as a well-supported default when the user has no preference. The region is the LOCATION in every REST path; no gcloud default-region setting applies to Application Integration. Provisioning is per region. Provisioning us-central1 does not provision europe-west1; repeat region provisioning for every LOCATION you use in PROJECT_ID. Ensure an active billing account is attached to PROJECT_ID before setupβan active billing account is required even when usage stays within the monthly free tier (see the Application Integration pricing page).
1. Check and enable required APIs
First check which APIs are already enabled (read-only):
gcloud services list --enabled --project=PROJECT_ID \
--filter="config.name:(integrations.googleapis.com OR connectors.googleapis.com OR secretmanager.googleapis.com OR cloudkms.googleapis.com)"
After getting user confirmation, enable the required APIs (add cloudkms.googleapis.com only if configuring CMEK):
gcloud services enable \
integrations.googleapis.com \
connectors.googleapis.com \
secretmanager.googleapis.com \
--project=PROJECT_ID
2. Verify setup IAM roles on the caller
Setting up Application Integration requires roles/integrations.integrationAdmin, roles/connectors.admin, and roles/editor (plus roles/cloudkms.admin for CMEK). Check current bindings (read-only):
gcloud projects get-iam-policy PROJECT_ID --format=json
3. Provision the region (LOCATION)
Choose one of the three supported paths after getting user confirmation:
-
Option A: REST (
clients:provision)curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clients:provision"The response is
{}when provisioning succeeds (clients:provisiondoes not applyrunAsServiceAccount; set the run-as identity on each integration version viaIntegrationVersion.runAsServiceAccount).{}is also returned when the region is already provisioned; the call does not change an existing region's settings. Change HTTP calls or encryption on an existing region from the console's Regions page (when the region is alreadyACTIVE,cloudKmsConfig,enableHttpCall, andenableManagedAiFeaturesonclients:provisionare not applied). IfPROJECT_IDwas already registered through Apigee Integration, provisioning fails. -
Option B: Cloud console Open
https://console.cloud.google.com/integrations, selectLOCATION, and click Quick setup (enables the APIs, creates the default service account, and uses Google-managed encryption) or Advanced setup (to configure CMEK, HTTP calls, AI features, governance, or variable masking). To add another region later, go to Regions > Provision new region. -
Option C: Terraform (
google_integrations_client) Use thegoogle_integrations_clientresource inhashicorp/google. Do not setrun_as_service_accountongoogle_integrations_clientβthat argument was removed in provider v8.0.0 (August 26, 2026), and it mapped to theclients:provisionrunAsServiceAccountfield, which is likewise not applied; set the run-as identity on each integration version (IntegrationVersion.runAsServiceAccount) instead.
4. Sanity-check region access
Run a read-only list call against the region; a successful 200 OK response is a good sign that the API is reachable in LOCATION:
curl -sS -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations"
See references/provisioning-and-terraform.md for all ProvisionClientRequest fields, CMEK and governance options, and complete Terraform examples.
Core Concepts at a Glance
- Integrations and Triggers: An integration is a workflow started by one or more triggers. Synchronous runs (
SYNC) wait for completion and return output (integrations.execute, console test, syncCall Integration). Asynchronous runs (ASYNC) are fir
Truncated for display β read the full file on GitHub.
Related Skills
Agent-Reach
107.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu β one CLI, zero API fees.
headroom
78.5kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Scrapling
91.7kπ·οΈ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
86.7kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key. Join our Discord https://discord.gg/VuxzM8mtf
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit β see the Safety scan above for what the skill file itself contains.
