Google Vertex AI
Google Vertex AI is a machine learning platform that simplifies the process of building, deploying, and scaling ML models.
Google Vertex AI is a comprehensive AI platform that enables the development and deployment of machine learning models at scale. This connector allows Swimlane Turbine users to leverage Google Vertex AI's advanced capabilities for interacting with AI models, engaging in conversations, and querying reasoning engines. By integrating with Google Vertex AI, Swimlane Turbine users can enhance their security automation workflows with powerful AI-driven insights and actions, enabling more efficient threat detection and response.
Limitations
- None to date.
Supported Versions
- This Google Vertex AI connector uses the v1 API.
Additional Documents
- Documentation Google Vertex AI
Configuration
Prerequisites
Before you can use the Google Vertex AI connector for Turbine, you'll need access to the Google Vertex AI API. This requires the following:
- OAuth2.0 authentication using the following parameters:
- Service Account Info: JSON key file for service account authentication.
- URL: Endpoint URL for accessing Google Vertex AI services.
- Scopes: Permissions required for accessing specific Google Cloud resources.
Authentication Methods
- Service Account Info: Base64-encoded JSON key file for service account authentication.
- URL: Endpoint URL for accessing Google Vertex AI services.
- Scopes: Permissions required for accessing specific resources within Google Vertex AI.
Setup instructions
- In Google Cloud, enable the Vertex AI API for your project.
- Create or select a service account that can invoke Vertex AI reasoning engine endpoints.
- Generate a JSON key for that service account.
- Base64 encode the full JSON key file and use that value for Service Account Info.
- Example: base64 -i service-account.json | tr -d '\n'
- Set URL to your Vertex AI base endpoint, for example:
- https://us-central1-aiplatform.googleapis.com
- Set Scopes with at least:
- https://www.googleapis.com/auth/cloud-platform
If authentication fails, verify the service account roles, decoded JSON validity, endpoint region, and scope list.
Capabilities
This Connector provides the following capabilities:
- Ask Vertex
- Chat with Claude using Vertex AI
- Reasoning Engines Query
- Reasoning Engines Stream Query
Reasoning Engines Query
- Queries using a reasoning engine Click Here
Reasoning Engines Stream Query
- Streams queries using a reasoning engine Click Here.
Ask Vertex
- Ask Vertex is a tool that allows you to ask questions to a model Click Here.
Configurations
Google Vertex AI
OAuth2.0 authentication for Google Vertex AI.
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
b64_service_info | Base64-encoded bk_credentials JSON authentication file contents. | string | Required |
url | Server API Address. | string | Required |
scopes | Scope to be used for authentication. | array | Required |
verify_ssl | Verify SSL certificate | boolean | Optional |
http_proxy | A proxy to route requests through. | string | Optional |
Actions
Ask Vertex
Interact with a Google Vertex AI model by asking questions. Requires project, location, and model as path parameters, and contents in the JSON body.
Endpoint
- URL: v1/projects/{{project}}/locations/{{location}}/publishers/google/models/{{model}}:generateContent
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.project | string | Required | The project ID of the project to use. |
path_parameters.location | string | Required | The location of the project to use. |
path_parameters.model | string | Required | The model to use. |
contents | array | Optional | Response content |
contents.role | string | Optional | Response content |
contents.parts | array | Optional | Response content |
contents.parts.text | string | Optional | Response content |
cachedContent | string | Optional | Response content |
tools | array | Optional | Parameter for Ask Vertex |
tools.functionDeclarations | object | Optional | Parameter for Ask Vertex |
tools.functionDeclarations.name | string | Optional | Name of the resource |
tools.functionDeclarations.description | string | Optional | Parameter for Ask Vertex |
toolConfig | object | Optional | Parameter for Ask Vertex |
toolConfig.functionCallingConfig | object | Optional | Parameter for Ask Vertex |
toolConfig.retrievalConfig | object | Optional | Parameter for Ask Vertex |
labels | object | Optional | Parameter for Ask Vertex |
labels.key | string | Optional | Parameter for Ask Vertex |
safetySettings | array | Optional | Parameter for Ask Vertex |
safetySettings.category | string | Optional | Parameter for Ask Vertex |
safetySettings.method | string | Optional | HTTP method to use |
safetySettings.threshold | string | Optional | Parameter for Ask Vertex |
modelArmorConfig | object | Optional | Parameter for Ask Vertex |
modelArmorConfig.promptTemplateName | string | Optional | Name of the resource |
modelArmorConfig.responseTemplateName | string | Optional | Name of the resource |
generationConfig | object | Optional | Parameter for Ask Vertex |
Input Example
{"json_body":{"contents":[{"role":"user","parts":[{"text":"What is the capital of France?"}]}],"cachedContent":"projects/{project}/locations/{location}/cachedContents/{cachedContent}","tools":[{"functionDeclarations":{"name":"get_current_weather","description":"Get the current weather for a given location"}}],"toolConfig":{"functionCallingConfig":{},"retrievalConfig":{}},"labels":{"key":"value"},"safetySettings":[{"category":"HARM_CATEGORY_HATE_SPEECH","method":"HARM_BLOCK_METHOD_UNSPECIFIED","threshold":"HARM_BLOCK_THRESHOLD_UNSPECIFIED"}],"modelArmorConfig":{"promptTemplateName":"","responseTemplateName":""},"generationConfig":{"temperature":0.7,"maxOutputTokens":1024},"systemInstruction":{}},"path_parameters":{"project":"project-8bb1fbea-bfe5-4ef6-a06","location":"us-central1","model":"gemini-2.5-flash"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
candidates | array | Unique identifier |
candidates.content | object | Unique identifier |
candidates.content.role | string | Unique identifier |
candidates.content.parts | array | Unique identifier |
candidates.content.parts.text | string | Unique identifier |
candidates.finishReason | string | Unique identifier |
candidates.avgLogprobs | number | Unique identifier |
usageMetadata | object | Response data |
usageMetadata.promptTokenCount | number | Response data |
usageMetadata.candidatesTokenCount | number | Response data |
usageMetadata.totalTokenCount | number | Response data |
usageMetadata.trafficType | string | Response data |
usageMetadata.promptTokensDetails | array | Response data |
usageMetadata.promptTokensDetails.modality | string | Response data |
usageMetadata.promptTokensDetails.tokenCount | number | Response data |
usageMetadata.candidatesTokensDetails | array | Response data |
usageMetadata.candidatesTokensDetails.modality | string | Response data |
usageMetadata.candidatesTokensDetails.tokenCount | number | Response data |
usageMetadata.thoughtsTokenCount | number | Response data |
modelVersion | string | Output field: modelVersion |
createTime | string | Time value |
responseId | string | Unique identifier |
Output Example
{"status_code":200,"response_headers":{"Content-Type":"application/json; charset=UTF-8","Vary":"Origin, X-Origin, Referer","Content-Encoding":"gzip","Date":"Wed, 29 Apr 2026 07:09:08 GMT","Server":"scaffolding on HTTPServer2","X-XSS-Protection":"0","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","Alt-Svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"candidates":[{}],"usageMetadata":{"promptTokenCount":7,"candida...
Chat with Claude using Vertex AI
Engage in a conversation with Claude using Google Vertex AI. Requires project, location, and model as path parameters, and anthropic_version, messages, and max_tokens in the JSON body.
Endpoint
- URL: v1/projects/{{project}}/locations/{{location}}/publishers/anthropic/models/{{model}}:rawPredict
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.project | string | Required | The project ID of the project to use. |
path_parameters.location | string | Required | The location of the project to use. |
path_parameters.model | string | Required | The model to use. |
anthropic_version | string | Optional | The version of the Anthropic API to use. |
messages | array | Optional | The messages to send to the model. |
messages.role | string | Required | The role of the message. |
messages.content | string | Required | The content of the message. |
max_tokens | number | Optional | The maximum number of tokens to generate. |
temperature | number | Optional | The temperature to use for the generation. |
Input Example
{"json_body":{"anthropic_version":"vertex-2023-10-16","messages":[{"role":"user","content":"Hello, how are you?"}],"max_tokens":1024,"temperature":0.7},"path_parameters":{"project":"project-8bb1fbea-bfe5-4ef6-a06","location":"global","model":"claude-sonnet-4-6"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"Content-Type":"application/json; charset=UTF-8","Vary":"Origin, X-Origin, Referer","Content-Encoding":"gzip","Date":"Tue, 28 Apr 2026 07:43:52 GMT","Server":"scaffolding on HTTPServer2","X-XSS-Protection":"0","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","Alt-Svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{}}
Reasoning Engines Query
Query a reasoning engine in Google Vertex AI using specified project, location, and reasoning engine path parameters.
Endpoint
- URL: v1/projects/{{project}}/locations/{{location}}/reasoningEngines/{{reasoningEngine}}:query
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.project | string | Required | The project ID. |
path_parameters.location | string | Required | The location of the project. |
path_parameters.reasoningEngine | string | Required | The reasoning engine ID. |
classMethod | string | Optional | The method to call on the class. |
input | object | Optional | Input data for the action |
input.input | object | Optional | Input data for the action |
input.input.text | string | Optional | The text to query. |
Input Example
{"path_parameters":{"project":"project-8bb1fbea-bfe5-4ef6-a06","location":"us-central1","reasoningEngine":"8068625892701634560"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
output | object | Output field: output |
output.result | number | Result of the operation |
Output Example
{"status_code":200,"response_headers":{"Content-Type":"application/json; charset=UTF-8","Vary":"Origin, X-Origin, Referer","Content-Encoding":"gzip","Date":"Tue, 28 Apr 2026 07:43:52 GMT","Server":"scaffolding on HTTPServer2","X-XSS-Protection":"0","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","Alt-Svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"output":{"result":12}}}
Reasoning Engines Stream Query
Stream queries using a reasoning engine in Google Vertex AI. Requires path parameters: project, location, and reasoningEngine.
Endpoint
- URL: v1/projects/{{project}}/locations/{{location}}/reasoningEngines/{{reasoningEngine}}:streamQuery
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.project | string | Required | The project ID. |
path_parameters.location | string | Required | The location of the project. |
path_parameters.reasoningEngine | string | Required | The reasoning engine ID. |
classMethod | string | Optional | The method to call on the class. |
input | object | Optional | Input data for the action |
input.input | object | Optional | The input to the method. |
input.input.text | string | Optional | The text to query. |
Input Example
{"path_parameters":{"project":"project-8bb1fbea-bfe5-4ef6-a06","location":"us-central1","reasoningEngine":"2751000632683921408"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
output | object | Output field: output |
output.result | number | Result of the operation |
Output Example
{"status_code":200,"response_headers":{"Content-Type":"application/json; charset=UTF-8","Vary":"Origin, X-Origin, Referer","Content-Encoding":"gzip","Date":"Tue, 28 Apr 2026 07:43:52 GMT","Server":"scaffolding on HTTPServer2","X-XSS-Protection":"0","X-Frame-Options":"SAMEORIGIN","X-Content-Type-Options":"nosniff","Alt-Svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","Transfer-Encoding":"chunked"},"reason":"OK","json_body":{"output":{"result":12}}}
Response Headers
Header | Description | Example |
|---|---|---|
Alt-Svc | HTTP response header: Alt-Svc | h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 |
Content-Encoding | HTTP response header: Content-Encoding | gzip |
Content-Type | The media type of the resource | application/json; charset=UTF-8 |
Date | The date and time at which the message was originated | Wed, 29 Apr 2026 07:09:08 GMT |
Server | Information about the software used by the origin server | scaffolding on HTTPServer2 |
Transfer-Encoding | HTTP response header: Transfer-Encoding | chunked |
Vary | HTTP response header: Vary | Origin, X-Origin, Referer |
X-Content-Type-Options | HTTP response header: X-Content-Type-Options | nosniff |
X-Frame-Options | HTTP response header: X-Frame-Options | SAMEORIGIN |
X-XSS-Protection | HTTP response header: X-XSS-Protection | 0 |