---
title: "OpenAPI"
description: "9 posts about OpenAPI, summarised, each linking to the original."
---

# OpenAPI
> 9 posts about OpenAPI, summarised, each linking to the original.

## Articles

### [Turn your REST APIs into MCP tools with Google Cloud API Gateway](https://yomu.fyi/post/turn-your-rest-apis-into-mcp-tools-with-google-cloud-api-gateway.md)
- Company: [Google](https://yomu.fyi/company/google.md)
- Author: Sanjay Pujare, Paul Howell
- Published: Sep 24, 2026
- Type: Announcement

Most enterprise REST APIs are invisible to AI agents, forcing teams to run separate MCP servers that duplicate their existing gateway logic. Google Cloud API Gateway in Public Preview solves this by acting as a remote MCP server — annotate the OpenAPI 3.0.x/3.1.x spec with x-google-api-management.mcp and deploy it with no extra infrastructure. The gateway accepts MCP JSON-RPC requests on a single /mcp endpoint, transcodes tools/call into the corresponding REST call, runs it through existing policies, and returns the response as an MCP result. Authentication via JWT or API key works unchanged for REST operations; tools/list is unauthenticated by default and requires JWT in production for security. With no separate server to operate, teams in Public Preview can expose up to 1,000 tools per gateway that support existing authentication and quota, and the MCP server is automatically discoverable via API hub and Agent Registry.


### [Why client SDK generation belongs in the open](https://yomu.fyi/post/why-client-sdk-generation-belongs-in-the-open.md)
- Company: [Google](https://yomu.fyi/company/google.md)
- Author: Amir Hardon, Philipp Schmid
- Published: Sep 17, 2026
- Type: Announcement

Google describes partnering with Speakeasy to open-source the OpenAPI code-generation suite used for new SDKs for its Interactions, Agents, and Webhooks APIs. The change follows the May 2026 shutdown of a proprietary SDK-generation provider, which exposed platform risk while Google was preparing the Interactions API for general availability; migration prioritized avoiding breaking changes and preserving type definitions, strict error hierarchies, and streaming behavior. The AGPLv3 suite generates statically typed libraries for Python, TypeScript, Go, Java, C#, PHP, and Ruby, plus standalone agent-native CLI binaries and documentation MCP servers built from OpenAPI specifications and Markdown. Google says a deterministic generator paired with Antigravity AI agents now supports its pipeline across six targets, including three released SDKs, with roughly one engineer maintaining it, while generated code can remain under a chosen license such as MIT or Apache 2.0.


### [Model routing with Google Cloud API Gateway](https://yomu.fyi/post/model-routing-with-google-cloud-api-gateway.md)
- Company: [Google](https://yomu.fyi/company/google.md)
- Author: Mak Ahmad, Sanjay Pujare
- Published: Aug 4, 2026
- Type: Tutorial

Google Cloud API Gateway adds model routing in Public Preview for AI applications that need to direct traffic among models without hardcoded endpoints or open-source proxies. The serverless ingress layer accepts OpenAI-compatible requests and uses routing rules in an OpenAPI 3.x specification, where x-google-api-management defines backends and routers map virtual model names to targets such as Gemini, Claude, or OpenAI OSS-GPT. After deployment, clients call a stable endpoint; the Gateway transcodes the request to the backend’s native schema, adds an Agent Platform authentication token, and forwards it, separating client authentication from provider credentials. The guide also notes that every backend in one router must share a host, and shows standalone routing alongside possible Agent Gateway integration for security governance.


### [AppLink Fundamentals III: Building with AppLink – Development Flow and Language Choices](https://yomu.fyi/post/applink-fundamentals-iii-building-with-applink-development-flow-and-la.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Ken W. Alger
- Published: Jul 31, 2025
- Type: Tutorial

AppLink Fundamentals III describes how to build Salesforce extensions on Heroku, covering local testing, OpenAPI contract management, deployment workflows, and programming-language selection. For applications that receive Salesforce requests, the supplied invoke.sh script simulates production headers using Salesforce CLI data, can activate session-based permission sets, and accepts JSON payloads for testing; Pattern 1 applications that call Salesforce APIs do not require this special setup. The OpenAPI specification serves as the shared contract for endpoints and Salesforce consumers, with publish-time validation intended to catch misalignment. AppLink also supports Agentforce actions through x-sfdc agent extensions, enabling topics, publishing, input and display settings, privacy controls, and outputs such as generated PDFs in the automotive finance example. The comparison positions Apex for transaction-critical record updates and AppLink languages such as Node.js, Python, and Java for external integrations, intensive computation, elastic scaling, and reuse of existing code.


### [AppLink Fundamentals II: Advanced AppLink Integrations – Automation & AI](https://yomu.fyi/post/applink-fundamentals-ii-advanced-applink-integrations-automation-ai.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Ken W. Alger
- Published: Jul 30, 2025
- Type: Explainer

Heroku AppLink lets connected Heroku applications extend Salesforce through Data Cloud, Flow, Apex, and Agentforce, bringing external logic, real-time data processing, and automation into Salesforce orgs. It uses an OpenAPI YAML or JSON specification, including x-sfdc metadata for authentication and permissions, to generate strongly typed Apex classes, Flow External Service definitions, Agent Actions, and related Connected App and Permission Set configurations. Developers can invoke services synchronously or asynchronously from Apex, use operations as no-code Flow actions, and configure Agentforce to call endpoints for specialized processing; callbacks support longer-running work. AppLink uses User Mode authentication by default, while administrator-controlled Permission Sets can temporarily elevate access during execution without changing a user’s permanent permissions.


### [AppLink Fundamentals I: AppLink Integration Patterns – Connecting Salesforce to Heroku Applications](https://yomu.fyi/post/applink-fundamentals-i-applink-integration-patterns-connecting-salesfo.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Ken W. Alger
- Published: Jul 29, 2025
- Type: Tutorial

AppLink Fundamentals I describes four integration patterns for connecting Salesforce orgs with Heroku applications, focusing on API access and Salesforce extension. Pattern 1 uses run-as-user authentication for automated or customer-facing applications, with the AppLink add-on, CLI plugin, optional SDK, named authorizations, and SOQL queries through the Data API; the SDK manages authentication, session management, and connection pooling for single- or multi-org access. Pattern 2 lets Salesforce users invoke published Heroku services through Flow, Apex, or Agentforce, using User Mode or elevated “user mode plus” permissions controlled by Permission Sets, an OpenAPI description, and a service-mesh buildpack that blocks external access. The post also positions batch processing and real-time eventing as extensions of these patterns, and describes Data Cloud querying and Data Action Targets for applications to receive Data Cloud events.


### [How to Create an AI Agent With Heroku and Agentforce](https://yomu.fyi/post/how-to-create-an-ai-agent-with-heroku-and-agentforce.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Andrew Fawcett
- Published: Oct 17, 2024
- Type: Tutorial

The post shows how to extend Salesforce Agentforce with a Heroku-hosted custom action when customer information remains in older, unstructured cloud archives and requires scalable, real-time processing. It explains that Agentforce selects discrete actions, while Heroku exposes code through External Services using an OpenAPI description of the request and response. The sample uses Java and Spring Boot, an H2 in-memory database, springdoc.org for OpenAPI generation, and Spring AI to convert natural-language questions into SQL before returning results for an Agentforce response. The integration is identified as pilot-only and not intended for production, while the post also points to Heroku Postgres, Heroku Connect, Data Cloud, and pgvector as extensions for other agent use cases.


### [Build Well-Documented and Authenticated APIs in Node.js with Fastify](https://yomu.fyi/post/build-well-documented-and-authenticated-apis-in-node-js-with-fastify.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Julián Duque
- Published: Apr 29, 2024
- Type: Tutorial

This walkthrough builds and deploys a Node.js API with Fastify, covering a public directory endpoint and a JWT-protected profile endpoint backed by Heroku Postgres. It uses Fastify’s plugin architecture, including a custom database plugin that reads DATABASE\_URL, creates a PostgreSQL pool, and decorates the server with db.query; @fastify/autoload registers plugins from the plugins directory. Authentication uses a JWT signed with an RSA256 private key, while the public key validates requests, and Fastify Swagger plugins generate an OpenAPI specification and UI that Postman can import as an API client. After local testing, the project seeds 50 database records, configures the RSA public key, and deploys through Heroku CLI commands, where the /directory endpoint returns usernames and the deployed API is shown running.


### [Extend Flows with Heroku Compute: An Event-Driven Pattern](https://yomu.fyi/post/extend-flows-with-heroku-compute-an-event-driven-pattern.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Chris Marino
- Published: Dec 11, 2020
- Type: Tutorial

The post presents an event-driven pattern for extending Salesforce Flow with custom business logic deployed as a Heroku app and exposed as an external service. It uses an OpenAPI specification to define the interface, generates a Node.js application stub, adapts it for Heroku with a Procfile and port configuration, and registers the API in Salesforce. Flow accesses the service through a Named Credential using basic HTTP authentication, while the Heroku app authorizes Salesforce access with a JWT account token and API token. The example begins with product retrieval and then adds a Get Inventory method that can read inventory and update the Salesforce Product object. A Platform Event can trigger a flow that calls this method, while programmers and low-code builders iterate against the shared API contract before completing their work independently.
