Generated banner for Application Integration Basics
Generated logo for Application Integration Basics

Application Integration Basics

GoogleOfficialPublished by Google

  • Skill
  • Tool integration
  • Cloud and DevOps
  • Apache-2.0
  • Low risk

From the author

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).
— the description by Google

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

Application Integration is a serverless iPaaS for connecting Google Cloud and third-party services. This skill provides the foundational knowledge required to set up and manage these environments, including API enablement, regional provisioning, IAM configuration, and understanding platform limits. It covers the necessary interfaces for interaction, such as the REST API, Terraform, and Python discovery client, while emphasizing safety rules for state-changing operations.

What it does

  • Explains core concepts like triggers, tasks, and integration versions.
  • Guides users through enabling required APIs and provisioning regions.
  • Details IAM roles and mandatory run-as service account configurations.
  • Provides best practices for choosing between Application Integration and custom code.
  • Outlines platform quotas, timeouts, and data size limitations.
  • Defines the correct interfaces for interacting with the platform.

When to use it

  • When setting up a new Application Integration project or region.
  • When configuring IAM permissions or run-as service accounts for integrations.
  • When evaluating if Application Integration is the right tool for a specific workload.
  • When checking platform quotas, timeouts, or data limits.
  • When determining the appropriate interface (REST, Terraform, etc.) for management tasks.

Advantages

  • Centralizes essential setup and configuration knowledge.
  • Provides clear guidance on mandatory security and identity requirements.
  • Helps prevent common pitfalls related to region provisioning and service account usage.
  • Clarifies the distinction between platform management and integration authoring.

Usage examples

“How do I provision a new region for Application Integration in my project?”
The agent will guide you through enabling the necessary APIs, verifying IAM roles, and executing the REST API call to provision the specific region.
“What are the limitations on execution time for synchronous integrations?”
The agent will explain the 2-minute timeout for synchronous runs and suggest using asynchronous triggers for longer workflows.
“Do I need a run-as service account for my integration?”
The agent will clarify the mandatory run-as service account rules, explaining when they are required based on trigger types and project governance.
“How can I manage my integration infrastructure using Terraform?”
The agent will provide guidance on using the google_integrations_client resource and explain which parts of the integration lifecycle are managed via Terraform.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/google/application-integration-basics/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip application-integration-basics.zip -d .agents/skills

Documentation by Google

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 HTTP GET calls to https://integrations.googleapis.com/v1/... or https://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:provision or terraform apply on google_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-binding or gcloud iam service-accounts add-iam-policy-binding).

    • Creating, uploading, publishing, unpublishing, executing, testing, or deleting any integration, version, auth profile, or connection.

  • 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 as auth/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.

InterfaceWhat it coversAuthentication
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 clientFull 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 consoleVisual drag-and-drop editor, Quick/Advanced region setup, Approval task resolution, OAuth 2.0 authorization code consent flow.Browser Google Cloud sign-in
  • Use gcloud only 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 v1 and v2) 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): Although POST .../integrations/INTEGRATION_NAME:test exists in the v1 REST API, its required TestIntegrationsRequest.clientId value 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, curl commands, Python discovery client patterns, and ADK ApplicationIntegrationToolset configuration.

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:provision does not apply runAsServiceAccount; set the run-as identity on each integration version via IntegrationVersion.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 already ACTIVE, cloudKmsConfig, enableHttpCall, and enableManagedAiFeatures on clients:provision are not applied). If PROJECT_ID was already registered through Apigee Integration, provisioning fails.

  • Option B: Cloud console Open https://console.cloud.google.com/integrations, select LOCATION, 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 the google_integrations_client resource in hashicorp/google. Do not set run_as_service_account on google_integrations_client—that argument was removed in provider v8.0.0 (August 26, 2026), and it mapped to the clients:provision runAsServiceAccount field, 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, sync Call Integration). Asynchronous runs (ASYNC) are fire-and-forget (integrations.schedule, Schedule, Cloud Scheduler, Cloud Pub/Sub, Salesforce triggers, and runs resumed after a suspension or approval).

  • Tasks: Units of work chained after a trigger (such as Data Mapping, Call REST Endpoint, Connectors, JavaScript on V8, Cloud Function, Approval, Suspend, Timer, loops, and Call Integration).

  • Versions and Edit Locks: Only a DRAFT version can be edited (locked to its author for 15 minutes after the last update). Only an ACTIVE (published) version runs from triggers. Publishing a version automatically unpublishes the prior active version and cancels any suspended executions of that prior version. Unpublishing moves an active version to SNAPSHOT (PREVIOUSLY_PUBLISHED). Calling versions.delete soft-deletes a version into ARCHIVED (listed as DELETED on the Integration versions documentation page).

  • Variables:

    • Integration variables: Explicit inputs (IN), outputs (OUT), IN_OUT, or internal variables with IN_OUT_TYPE_UNSPECIFIED ($varName$).

    • Task variables: Auto-generated task outputs named `Task_<taskId>_<variableName>` where taskId is the bare task number in taskConfigs[].taskId (for example, taskId "1" -> $`Task_1_responseBody`$).

    • System variables: keys are backtick-wrapped (`ExecutionId`, `ExecutionMode`, `ErrorInfo` [message, code], `IntegrationName`, `Region`, `ProjectId`); reference them as $`ExecutionId`$ (a bare $ExecutionId$ names a nonexistent integration variable and fails).

    • Config variables (Preview): Environment-specific values defined in integrationConfigParameters (with defaults in parameter.defaultValue; a top-level value on a draft is discarded) and supplied per environment in configParameters at publish time (named `CONFIG_<NAME>`; keys in configParameters must exactly match a key in integrationConfigParameters, backticks included, such as "`CONFIG_target_url`", because unknown keys are silently ignored—publish returns 200 and the default stays). Never store secrets in config variables—they are exported in plain text. Use an authentication profile (authConfigs) or the Secret Manager task instead.

  • Suspensions: Suspend tasks pause up to 31 days and are resumed via the Suspensions API (suspensions:lift, with an optional suspensionResult, requiring integrations.suspensions.lift). Approval tasks email approvers and can be approved or rejected in the Cloud console UI or via suspensions:resolve (state: "LIFTED" or "REJECTED", requiring integrations.suspensions.resolve). Listing suspensions (suspensions.list) requires integrations.suspensions.list. All three permissions are included in roles/integrations.suspensionResolver (and roles/integrations.integrationAdmin), and resuming also requires roles/iam.serviceAccountUser on the integration's run-as service account; always confirm with the user before lifting or resolving. Timer tasks resume automatically.

  • Authentication Profiles (authConfigs): Reusable regional credential records (projects/PROJECT_ID/locations/LOCATION/authConfigs/AUTH_CONFIG_ID). They are not included when downloading an integration version.

See references/core-concepts.md for full details on version states, trigger types, task categories, variables, suspensions, and authentication profiles.

IAM and the Run-As Service Account Requirement

Key IAM roles and service agents
  • Developer & operator roles: roles/integrations.integrationAdmin (full CRUD + delete auth profiles), roles/integrations.integrationEditor (create/upload/edit/test/invoke/cancel/replay/publish, including integrations.integrationVersions.create and integrations.integrationVersions.deploy), roles/integrations.integrationDeployer (publish/unpublish via integrations.integrationVersions.deploy; holds list/get/deploy but not create, so it can publish an existing version but cannot upload), roles/integrations.integrationInvoker (invoke/cancel/replay), roles/integrations.integrationViewer (view integrations and logs), and roles/integrations.suspensionResolver (list, lift, and resolve suspensions: integrations.suspensions.list, integrations.suspensions.lift, integrations.suspensions.resolve; suspensionResolver alone cannot read execution records, so also grant roles/integrations.integrationViewer to inspect taskExecutionDetails or run :troubleshoot, or use the approval email link, which carries the execution and task IDs).

  • Service agents:

    • Application Integration service agent: service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com (granted roles/integrations.serviceAgent).

    • Integration Connectors service agent: [email protected] (granted roles/connectors.serviceAgent).

Mandatory run-as service account rules (effective October 15, 2026)
  1. Explicit identity required: For integrations created on or after October 15, 2026 (and for existing integrations at a later date), every run needs an explicit identity—either the triggering caller or a user-managed run-as service account set per integration version via IntegrationVersion.runAsServiceAccount (region provisioning via clients:provision does not apply runAsServiceAccount).

  2. Triggers other than API or Private require a run-as service account: Integrations created on or after October 15, 2026 with any trigger other than an API or Private trigger (for example Schedule, Cloud Scheduler, Cloud Pub/Sub, Eventarc, Salesforce, or Connector Event) cannot be tested or published unless runAsServiceAccount is set. Private triggers are exempt like API triggers, so a sub-integration whose only trigger is Private can be published without runAsServiceAccount.

  3. Region governance: If governance is enabled on the region, a run-as service account is mandatory for every new integration and version, including API-trigger integrations.

  4. Service Account User (roles/iam.serviceAccountUser): Whenever runAsServiceAccount is set on a version, the user (or principal) publishing or testing the version must hold roles/iam.serviceAccountUser on that service account (or its owning project). At runtime, the invoking caller or trigger service account—and anyone resolving or lifting a suspension—must also hold roles/iam.serviceAccountUser on it.

  5. Best practice: Create one dedicated, minimally scoped user-managed service account per integration. When runAsServiceAccount is set and no task-level auth profile is set, it mints tokens for Connector, Call REST Endpoint, and Cloud Function tasks (an OAuth 2.0 or OIDC auth profile on a task takes precedence over runAsServiceAccount).

See references/iam-and-service-accounts.md for the complete IAM role tables, service agent permissions, credential precedence rules, and gcloud IAM commands.

Key Quotas and Limits to Design Around

LimitValueDesign impact
SYNC execution timeout2 minutesUse async triggers or integrations.schedule for workflows exceeding 2 minutes; timed-out sync runs become CANCELLED.
ASYNC execution timeout10 minutesSplit heavy work into sub-integrations or external jobs if a single async run exceeds 10 minutes.
Max execution lifetime31 daysIncludes time paused in Approval or Suspend tasks (max 44,640 minutes).
Total integration data30 MBShared across input/output variables and private-trigger sub-integrations. Above 10 MB, local logging is disabled, retries stop working, and monitoring skips the run.
API trigger input size8 MBCumulative size across all input variables; larger payloads fail before the workflow starts.
Connectors data & timeout8 MB in/out; 3 min timeoutApplication Integration quotas cap cumulative data sent to/from connections at 8 MB and connector response at 20 MB (Integration Connectors quotas cap the Connectors task payload at 10 MB); custom queries cap at 180 seconds and 50,000 rows.
Concurrent executions50 per project per region; 10 per integration (defaults)Both concurrency caps are adjustable; a burst on a single integration hits the 10-per-integration cap, not 50. The execution request rate quota is shown on the project's Cloud Quotas page and can be adjusted there.
Integrations / tasks / versions1,000 / 100 / 100Up to 1,000 integrations per project, 100 tasks per integration, and 100 versions per integration.
Publish propagationUp to 10 minutesEventual consistency: an older version can keep running for up to 10 minutes after publishing a new version.

See references/limits.md for all task-specific payload caps, loop iteration limits, Integration Connectors node limits, and pricing details.

Sibling Skills

  • application-integration-basics (this skill): Concepts, API enablement, region provisioning, IAM roles and run-as service accounts, interface choices (REST, Python client, Terraform, ADK), and quotas/limits.

  • application-integration-authoring: Building, uploading, versioning, config variables, publishing, executing, and testing integrations via the REST API; trigger IDs; task gotchas; and CI/CD promotion across projects with download/upload.

  • application-integration-troubleshooting: Diagnosing failed or stuck executions, checking execution and task states and ErrorInfo, listing and filtering executions, Cloud Logging and Cloud Monitoring, suspensions and approvals, Integration Connectors connection health, and IAM / run-as / quota errors.

Reference Files

  • references/attribution.md: Usage attribution for gcloud CLI commands, direct curl REST calls, and Python discovery-client snippets run in the terminal.

  • references/core-concepts.md: Triggers, execution modes, task types, version lifecycle, edit locks, variables, suspensions, and authentication profiles.

  • references/iam-and-service-accounts.md: Predefined IAM roles for Application Integration and Integration Connectors, service agents, run-as service account rules, and IAM commands.

  • references/provisioning-and-terraform.md: Per-region provisioning via REST clients:provision, Cloud console Quick/Advanced setup, CMEK caveats, and Terraform google_integrations_* / google_integration_connectors_* resources.

  • references/api-access.md: Endpoints, authentication, curl examples, Python google-api-python-client discovery patterns, ADK ApplicationIntegrationToolset, and MCP connector clarification.

  • references/limits.md: Timeouts, payload caps, concurrency quotas, loop/task limits, Integration Connectors limits, and pricing tiers.

Files

LICENSE


                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs an MCP server, Needs a command-line tool, Needs Python, Needs Node.js

Security

What our scanner noticed· Low risk

  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Google
Publisher
Google (Official)
Source
google/skills · skills/cloud/application-integration-basics · commit 2194d3b
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Google.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download application-integration-basics.zip