This page describes how to create an OpenAPI specification for a web service and then create a custom connector and a connection for this connector.
Before you create a custom connector, you must create an OpenAPI specification for the web service.
Create an OpenAPI specification for the web service
Custom connectors support OpenAPI 3.0. You can also manually create the specification. For information about the OpenAPI specifications, seeOpenAPI specifications.
You can also autogenerate the OpenAPI 2.0 specification using gin swagger middleware. For information, seeGin Swagger. You must convert the OpenAPI 2.0 specification to OpenAPI v3.0 specification by usingSwagger Converter.
Sample OpenAPI specification.
{"openapi":"3.0.0","info":{"title":"Go HTTPbin Proxy Service","description":"A simple Go service that proxies requests to httpbin.org, adding custom headers.","version":"1.0.0"},"servers":[{"url":"http://localhost:8080"}],"paths":{"/getData":{"get":{"summary":"Fetch data from httpbin.org/get","description":"Sends a GET request to httpbin.org/get, including any custom headers.","responses":{"200":{"description":"Successful response from httpbin.org","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/postData/{id}":{"post":{"summary":"Post data to httpbin.org/post","description":"Sends a POST request to httpbin.org/post with data, including any custom headers.","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"address":{"type":"string"},"gender":{"type":"string"}},"required":["name","address","gender"]}}}},"responses":{"200":{"description":"Successful response from httpbin.org","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request - Invalid request body"}}}}}}
Create a custom connector and validate the service
You must create a custom connector and then validate the web service by using it in a connection in Application Integration.
Before you begin
Set upPrivate Service Connect(PSC) for this virtual machine and then create an endpoint attachment.
Create a custom connector
In theConsole, go to
theApplication Integration>Custom connectorspage,
and then select or create a Google Cloud project.
ClickCreate newto open theCreate custom connectorpage.
In theConnector detailssection, specify the required fields, such asConnector nameandDisplay name.Also, enter the use cases for the connector in theDescriptionfield.
Configure connector destination for backend access: Enable this option. This shows the additional configuration sections in the page.
Service account: Select a service account that has the required roles.
Logo: Upload an image to a Cloud Storage bucket to use it as the connector logo.
In theConnector Specificationsection, either enter the public URL of your Open API specification or upload your specification file to a Cloud Storage bucket.
InConnector Destinationsection, add the IP address of the endpoint attachment and the port on which service is running.
InConnector Authenticationsection, selectNo Authentication. Authentication types are not supported for Marketplace connectors.
InBackend Variablessection, add the variables you want to take as input while creating the connection. These variables appear in the connection creation page and are sent on every API call made to the service. The values which will not change with APIs, such as third-party backend credentials must be added in this section.
Create the custom connector. Ensure that you have specified a logo and described the use cases for the custom connector.
Create a connection
After you create the custom connector, create the connection for this connector.
ClickCreate newto open theCreate connectionpage.
Select the custom connector that you created.
Add values for the connection fields that you had defined.
Create the connection.
Validate the service
To validate the service, create a new integration.
In the Google Cloud console, go to theApplication Integrationpage and then create an integration.
Add API trigger and the connector task.
Configure the connector task to use the connection created in the earlier step. Add Data Mapper if required.
Set up the connectorInputPayload for the connector as per the schema.
Run the integration to verify that the connection is working.
If the Integration runs successfully and returns expected response, the web service is validated.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis page guides users through creating a custom connector and connection for a web service within Application Integration.\u003c/p\u003e\n"],["\u003cp\u003eBefore creating a custom connector, an OpenAPI 3.0 specification for the web service must be defined, which can be done manually or by converting from OpenAPI 2.0 using available tools.\u003c/p\u003e\n"],["\u003cp\u003eThe process of making the custom connector requires you to configure connector details, destination, service account, upload a logo, as well as add connector specification, destination and backend variables.\u003c/p\u003e\n"],["\u003cp\u003eAfter the custom connector is created, you must create a connection, populate the required connection fields, and then validate the service by integrating and running the connection.\u003c/p\u003e\n"],["\u003cp\u003eThis product or feature is in Pre-GA, and as such it is available "as is" with potentially limited support, subject to Pre-GA Offering Terms.\u003c/p\u003e\n"]]],[],null,["# Create a custom connector and a connection\n\nSee the [supported connectors](/integration-connectors/docs/connector-reference-overview) for Application Integration.\n\nCreate a custom connector and a connection\n==========================================\n\n|\n| **Preview**\n|\n|\n| This product or feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA products and features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nThis page describes how to create an OpenAPI specification for a web service and then create a custom connector and a connection for this connector.\n\nBefore you create a custom connector, you must create an OpenAPI specification for the web service.\n\nCreate an OpenAPI specification for the web service\n---------------------------------------------------\n\nCustom connectors support OpenAPI 3.0. You can also manually create the specification. For information about the OpenAPI specifications, see [OpenAPI specifications](https://swagger.io/specification/).\n\nYou can also autogenerate the OpenAPI 2.0 specification using gin swagger middleware. For information, see [Gin Swagger](https://github.com/swaggo/gin-swagger). You must convert the OpenAPI 2.0 specification to OpenAPI v3.0 specification by using [Swagger Converter](https://converter.swagger.io/).\nSample OpenAPI specification. \n\n```bash\n{\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"title\": \"Go HTTPbin Proxy Service\",\n \"description\": \"A simple Go service that proxies requests to httpbin.org, adding custom headers.\",\n \"version\": \"1.0.0\"\n },\n \"servers\": [\n {\n \"url\": \"http://localhost:8080\"\n }\n ],\n \"paths\": {\n \"/getData\": {\n \"get\": {\n \"summary\": \"Fetch data from httpbin.org/get\",\n \"description\": \"Sends a GET request to httpbin.org/get, including any custom headers.\",\n \"responses\": {\n \"200\": {\n \"description\": \"Successful response from httpbin.org\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\"\n }\n }\n }\n }\n }\n }\n },\n \"/postData/{id}\": {\n \"post\": {\n \"summary\": \"Post data to httpbin.org/post\",\n \"description\": \"Sends a POST request to httpbin.org/post with data, including any custom headers.\",\n \"parameters\": [\n {\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\" \n\n },\n \"address\": {\n \"type\": \"string\"\n },\n \"gender\": {\n \"type\": \"string\" \n }\n },\n \"required\": [\n \"name\",\n \"address\",\n \"gender\"\n ]\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Successful response from httpbin.org\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"400\": {\n \"description\": \"Bad Request - Invalid request body\"\n }\n }\n }\n }\n }\n}\n```\n\nCreate a custom connector and validate the service\n--------------------------------------------------\n\nYou must create a custom connector and then validate the web service by using it in a connection in Application Integration.\n\n### Before you begin\n\nSet up [Private Service Connect](https://cloud.google.com/integration-connectors/docs/network-connectivity-private) (PSC) for this virtual machine and then create an endpoint attachment.\n\n### Create a custom connector\n\n1. In the [Console](https://console.cloud.google.com/), go to the **Application Integration \\\u003e Custom connectors** page, and then select or create a Google Cloud project.\n\n\n [Go to the Custom connectors page](https://console.cloud.google.com/integrations/custom-connectors)\n2. Click **Create new** to open the **Create custom connector** page.\n3. In the **Connector details** section, specify the required fields, such as **Connector name** and **Display name** .Also, enter the use cases for the connector in the **Description** field.\n4. **Configure connector destination for backend access**: Enable this option. This shows the additional configuration sections in the page.\n5. **Service account**: Select a service account that has the required roles.\n6. **Logo** : Upload an image to a Cloud Storage bucket to use it as the connector logo. **Note:** Ensure your Cloud Storage bucket has the [public access prevention](/storage/docs/using-public-access-prevention#console) disabled.\n7. In the **Connector Specification** section, either enter the public URL of your Open API specification or upload your specification file to a Cloud Storage bucket.\n8. In **Connector Destination** section, add the IP address of the endpoint attachment and the port on which service is running.\n9. In **Connector Authentication** section, select **No Authentication**. Authentication types are not supported for Marketplace connectors.\n10. In **Backend Variables** section, add the variables you want to take as input while creating the connection. These variables appear in the connection creation page and are sent on every API call made to the service. The values which will not change with APIs, such as third-party backend credentials must be added in this section.\n11. Create the custom connector. Ensure that you have specified a logo and described the use cases for the custom connector.\n\n### Create a connection\n\nAfter you create the custom connector, create the connection for this connector.\n\n1. Click **Create new** to open the **Create connection** page.\n2. Select the custom connector that you created.\n3. Add values for the connection fields that you had defined.\n4. Create the connection.\n\n### Validate the service\n\nTo validate the service, create a new integration.\n\n1. In the Google Cloud console, go to the **Application Integration** page and then create an integration.\n2. Add API trigger and the connector task.\n3. Configure the connector task to use the connection created in the earlier step. Add Data Mapper if required.\n4. Set up the connectorInputPayload for the connector as per the schema.\n5. Run the integration to verify that the connection is working.\n\nIf the Integration runs successfully and returns expected response, the web service is validated.\n\nWhat's next\n-----------\n\n- Learn how to [create a startup script for the web service](/integration-connectors/docs/marketplace/create-startup-script)."]]