From 7eb91188bb0c9975c101c67cda886b469a124538 Mon Sep 17 00:00:00 2001
From: Mark Farkas <119574841+markfarkas-camunda@users.noreply.github.com>
Date: Mon, 9 Dec 2024 12:26:11 +0100
Subject: [PATCH 1/7] fix(template-generator): remove saas only badge (#4725)
---
.../custom-built-connectors/connector-template-generator.md | 2 --
1 file changed, 2 deletions(-)
diff --git a/docs/components/connectors/custom-built-connectors/connector-template-generator.md b/docs/components/connectors/custom-built-connectors/connector-template-generator.md
index d0d919499ea..09eeaf978fe 100644
--- a/docs/components/connectors/custom-built-connectors/connector-template-generator.md
+++ b/docs/components/connectors/custom-built-connectors/connector-template-generator.md
@@ -4,8 +4,6 @@ title: Generate a Connector template
description: Learn how to generate Connector templates for easier custom Connector creation.
---
-Camunda 8 SaaS only
-
You can configure and automatically generate a custom [Connector template](/components/connectors/custom-built-connectors/connector-templates.md) in Web Modeler.
You can start from a blank template or import an existing API definition such as an [OpenAPI specification](https://swagger.io/resources/open-api/), [Swagger specification](https://swagger.io/resources/open-api/), or a [Postman collection](https://www.postman.com/collection/). For example, download a Postman collection as a YAML file, import this into the generator, and choose which methods to include in the generated template.
From 0691fddb3fdb08ec2397432653278ac720daf516 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=20=E9=8A=8D?=
Date: Mon, 9 Dec 2024 21:47:39 +0800
Subject: [PATCH 2/7] feat(feel): Add new built-in function (#4713)
Add new built-in function of the FEEL engine to the FEEL documentation.
---
.../feel-built-in-functions-list.md | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/docs/components/modeler/feel/builtin-functions/feel-built-in-functions-list.md b/docs/components/modeler/feel/builtin-functions/feel-built-in-functions-list.md
index 9f6b2358e5a..63e8c984897 100644
--- a/docs/components/modeler/feel/builtin-functions/feel-built-in-functions-list.md
+++ b/docs/components/modeler/feel/builtin-functions/feel-built-in-functions-list.md
@@ -621,3 +621,30 @@ is empty([])
is empty([1,2,3])
// false
```
+
+## partition(list, size)
+
+
+
+Returns consecutive sublists of a list, each of the same size (the final list may be smaller).
+
+If `size` is less than `0`, it returns `null`.
+
+**Function signature**
+
+```feel
+partition(list: list, size: number): list
+```
+
+**Examples**
+
+```feel
+partition([1,2,3,4,5], 2)
+// [[1,2], [3,4], [5]]
+
+partition([], 2)
+// []
+
+partition([1,2], 0)
+// null
+```
From d1b1dc0148558eb159b89b95c1a455aa5d0350fe Mon Sep 17 00:00:00 2001
From: Mark Sellings
Date: Mon, 9 Dec 2024 14:20:11 +0000
Subject: [PATCH 3/7] Remove compensation event note (#4728)
---
docs/components/concepts/workflow-patterns.md | 4 ----
.../version-8.5/components/concepts/workflow-patterns.md | 4 ----
.../version-8.6/components/concepts/workflow-patterns.md | 4 ----
3 files changed, 12 deletions(-)
diff --git a/docs/components/concepts/workflow-patterns.md b/docs/components/concepts/workflow-patterns.md
index ace1b2cbd69..8d148ee15e5 100644
--- a/docs/components/concepts/workflow-patterns.md
+++ b/docs/components/concepts/workflow-patterns.md
@@ -276,10 +276,6 @@ An important problem to solve is how to roll back a business transaction in case
In BPMN, you can use [compensation events](/components/modeler/bpmn/bpmn-coverage.md) to easily implement compensations in your processes.
-:::note
-The compensation event is supported in Camunda 7, but not yet in Camunda 8. It is on the roadmap and will eventually be available in Camunda 8.
-:::
-
1
diff --git a/versioned_docs/version-8.5/components/concepts/workflow-patterns.md b/versioned_docs/version-8.5/components/concepts/workflow-patterns.md
index ace1b2cbd69..8d148ee15e5 100644
--- a/versioned_docs/version-8.5/components/concepts/workflow-patterns.md
+++ b/versioned_docs/version-8.5/components/concepts/workflow-patterns.md
@@ -276,10 +276,6 @@ An important problem to solve is how to roll back a business transaction in case
In BPMN, you can use [compensation events](/components/modeler/bpmn/bpmn-coverage.md) to easily implement compensations in your processes.
-:::note
-The compensation event is supported in Camunda 7, but not yet in Camunda 8. It is on the roadmap and will eventually be available in Camunda 8.
-:::
-
1
diff --git a/versioned_docs/version-8.6/components/concepts/workflow-patterns.md b/versioned_docs/version-8.6/components/concepts/workflow-patterns.md
index ace1b2cbd69..8d148ee15e5 100644
--- a/versioned_docs/version-8.6/components/concepts/workflow-patterns.md
+++ b/versioned_docs/version-8.6/components/concepts/workflow-patterns.md
@@ -276,10 +276,6 @@ An important problem to solve is how to roll back a business transaction in case
In BPMN, you can use [compensation events](/components/modeler/bpmn/bpmn-coverage.md) to easily implement compensations in your processes.
-:::note
-The compensation event is supported in Camunda 7, but not yet in Camunda 8. It is on the roadmap and will eventually be available in Camunda 8.
-:::
-
1
From 8bd7afbeaf13065fa2378890444071ab31db9161 Mon Sep 17 00:00:00 2001
From: Amara Graham
Date: Mon, 9 Dec 2024 08:24:54 -0600
Subject: [PATCH 4/7] add URI (#4724)
---
docs/apis-tools/java-client/index.md | 4 ++--
versioned_docs/version-8.6/apis-tools/java-client/index.md | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/apis-tools/java-client/index.md b/docs/apis-tools/java-client/index.md
index 0768a607df7..30212b1bdc8 100644
--- a/docs/apis-tools/java-client/index.md
+++ b/docs/apis-tools/java-client/index.md
@@ -52,8 +52,8 @@ In Java code, instantiate the client as follows:
.build();
try (ZeebeClient client = ZeebeClient.newClientBuilder()
- .grpcAddress(zeebeGrpc)
- .restAddress(zeebeRest)
+ .grpcAddress(URI.create(zeebeGrpc))
+ .restAddress(URI.create(zeebeRest))
.credentialsProvider(credentialsProvider)
.build()) {
client.newTopologyRequest().send().join();
diff --git a/versioned_docs/version-8.6/apis-tools/java-client/index.md b/versioned_docs/version-8.6/apis-tools/java-client/index.md
index 0768a607df7..30212b1bdc8 100644
--- a/versioned_docs/version-8.6/apis-tools/java-client/index.md
+++ b/versioned_docs/version-8.6/apis-tools/java-client/index.md
@@ -52,8 +52,8 @@ In Java code, instantiate the client as follows:
.build();
try (ZeebeClient client = ZeebeClient.newClientBuilder()
- .grpcAddress(zeebeGrpc)
- .restAddress(zeebeRest)
+ .grpcAddress(URI.create(zeebeGrpc))
+ .restAddress(URI.create(zeebeRest))
.credentialsProvider(credentialsProvider)
.build()) {
client.newTopologyRequest().send().join();
From 256f7bb6809b17d1d3f3fe06fc095b7ad8332371 Mon Sep 17 00:00:00 2001
From: Amara Graham
Date: Mon, 9 Dec 2024 09:00:27 -0600
Subject: [PATCH 5/7] add note (#4719)
---
docs/components/modeler/web-modeler/camunda-marketplace.md | 4 ++++
.../components/modeler/web-modeler/camunda-marketplace.md | 4 ++++
.../components/modeler/web-modeler/camunda-marketplace.md | 4 ++++
.../components/modeler/web-modeler/camunda-marketplace.md | 4 ++++
.../components/modeler/web-modeler/camunda-marketplace.md | 4 ++++
5 files changed, 20 insertions(+)
diff --git a/docs/components/modeler/web-modeler/camunda-marketplace.md b/docs/components/modeler/web-modeler/camunda-marketplace.md
index 1e366d34ebb..0842066baee 100644
--- a/docs/components/modeler/web-modeler/camunda-marketplace.md
+++ b/docs/components/modeler/web-modeler/camunda-marketplace.md
@@ -12,6 +12,10 @@ If you are a **[Web Modeler Self-Managed](/self-managed/modeler/web-modeler/inst
## Browse Marketplace Connectors
+:::note
+Connectors created by partners or the community are not part of the commercial Camunda product. Camunda does not support these Connectors as part of its commercial services to enterprise customers. Please evaluate each client to make sure it meets your requirements before using.
+:::
+
To navigate to the Camunda Marketplace, take the following steps:
1. Log in to your Camunda account.
diff --git a/versioned_docs/version-8.3/components/modeler/web-modeler/camunda-marketplace.md b/versioned_docs/version-8.3/components/modeler/web-modeler/camunda-marketplace.md
index 9b026b9d57a..5fee9c721d8 100644
--- a/versioned_docs/version-8.3/components/modeler/web-modeler/camunda-marketplace.md
+++ b/versioned_docs/version-8.3/components/modeler/web-modeler/camunda-marketplace.md
@@ -14,6 +14,10 @@ The Camunda Marketplace can be accessed via your [browser](https://marketplace.c
## Visit the Camunda Marketplace
+:::note
+Connectors created by partners or the community are not part of the commercial Camunda product. Camunda does not support these Connectors as part of its commercial services to enterprise customers. Please evaluate each client to make sure it meets your requirements before using.
+:::
+
To navigate to the Camunda Marketplace, take the following steps:
1. Log in to your Camunda account, and navigate to Web Modeler using the **Camunda components** icon in the top left corner of your console. Click **Modeler**.
diff --git a/versioned_docs/version-8.4/components/modeler/web-modeler/camunda-marketplace.md b/versioned_docs/version-8.4/components/modeler/web-modeler/camunda-marketplace.md
index 9b026b9d57a..5fee9c721d8 100644
--- a/versioned_docs/version-8.4/components/modeler/web-modeler/camunda-marketplace.md
+++ b/versioned_docs/version-8.4/components/modeler/web-modeler/camunda-marketplace.md
@@ -14,6 +14,10 @@ The Camunda Marketplace can be accessed via your [browser](https://marketplace.c
## Visit the Camunda Marketplace
+:::note
+Connectors created by partners or the community are not part of the commercial Camunda product. Camunda does not support these Connectors as part of its commercial services to enterprise customers. Please evaluate each client to make sure it meets your requirements before using.
+:::
+
To navigate to the Camunda Marketplace, take the following steps:
1. Log in to your Camunda account, and navigate to Web Modeler using the **Camunda components** icon in the top left corner of your console. Click **Modeler**.
diff --git a/versioned_docs/version-8.5/components/modeler/web-modeler/camunda-marketplace.md b/versioned_docs/version-8.5/components/modeler/web-modeler/camunda-marketplace.md
index aeaf0878b65..464df80d09c 100644
--- a/versioned_docs/version-8.5/components/modeler/web-modeler/camunda-marketplace.md
+++ b/versioned_docs/version-8.5/components/modeler/web-modeler/camunda-marketplace.md
@@ -14,6 +14,10 @@ The Camunda Marketplace can be accessed via your [browser](https://marketplace.c
## Visit the Camunda Marketplace
+:::note
+Connectors created by partners or the community are not part of the commercial Camunda product. Camunda does not support these Connectors as part of its commercial services to enterprise customers. Please evaluate each client to make sure it meets your requirements before using.
+:::
+
To navigate to the Camunda Marketplace, take the following steps:
1. Log in to your Camunda account, and navigate to Web Modeler using the **Camunda components** icon in the top left corner of your console. Click **Modeler**.
diff --git a/versioned_docs/version-8.6/components/modeler/web-modeler/camunda-marketplace.md b/versioned_docs/version-8.6/components/modeler/web-modeler/camunda-marketplace.md
index 1e366d34ebb..0842066baee 100644
--- a/versioned_docs/version-8.6/components/modeler/web-modeler/camunda-marketplace.md
+++ b/versioned_docs/version-8.6/components/modeler/web-modeler/camunda-marketplace.md
@@ -12,6 +12,10 @@ If you are a **[Web Modeler Self-Managed](/self-managed/modeler/web-modeler/inst
## Browse Marketplace Connectors
+:::note
+Connectors created by partners or the community are not part of the commercial Camunda product. Camunda does not support these Connectors as part of its commercial services to enterprise customers. Please evaluate each client to make sure it meets your requirements before using.
+:::
+
To navigate to the Camunda Marketplace, take the following steps:
1. Log in to your Camunda account.
From a700c3619a995d9e4614b7b17bf4ea40a3f96e66 Mon Sep 17 00:00:00 2001
From: Aleksander Dytko <102789122+aleksander-dytko@users.noreply.github.com>
Date: Mon, 9 Dec 2024 16:42:06 +0100
Subject: [PATCH 6/7] Update bpmn-coverage.md (#4155)
* Update bpmn-coverage.md
We support Data Object and Data Store in Modeler + for execution. This needs to be reflected in bpmn-coverage
* add admonition
* backport
* revert backport
---------
Co-authored-by: Christina Ausley
Co-authored-by: christinaausley <84338309+christinaausley@users.noreply.github.com>
---
docs/components/modeler/bpmn/bpmn-coverage.md | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/docs/components/modeler/bpmn/bpmn-coverage.md b/docs/components/modeler/bpmn/bpmn-coverage.md
index c96e34cd921..d0e298d1938 100644
--- a/docs/components/modeler/bpmn/bpmn-coverage.md
+++ b/docs/components/modeler/bpmn/bpmn-coverage.md
@@ -140,15 +140,19 @@ import CompensationSvg from './assets/bpmn-symbols/compensation.svg'
## Data
+:::note
+`DataObject` and `DataStore`, like other BPMN standard IO mappings, are supported by Camunda for modeling purposes only.
+:::
+
import DataObjectSvg from './assets/bpmn-symbols/data-object.svg'
import DataStoreSvg from './assets/bpmn-symbols/data-store.svg'
From f2a4047122fcb918cb74df948c3b62480323010f Mon Sep 17 00:00:00 2001
From: DenovVasil
Date: Mon, 9 Dec 2024 18:34:43 +0200
Subject: [PATCH 7/7] add gemini documentation (#4676)
* add gemini documentation
* TW review edits
---------
Co-authored-by: mesellings
---
.../available-connectors-overview.md | 1 +
.../google-gemini.md | 233 ++++++++++++++++++
optimize_sidebars.js | 4 +
sidebars.js | 1 +
4 files changed, 239 insertions(+)
create mode 100644 docs/components/connectors/out-of-the-box-connectors/google-gemini.md
diff --git a/docs/components/connectors/out-of-the-box-connectors/available-connectors-overview.md b/docs/components/connectors/out-of-the-box-connectors/available-connectors-overview.md
index 93782940b3e..2f97f2ab95b 100644
--- a/docs/components/connectors/out-of-the-box-connectors/available-connectors-overview.md
+++ b/docs/components/connectors/out-of-the-box-connectors/available-connectors-overview.md
@@ -47,6 +47,7 @@ import TabItem from "@theme/TabItem";
- [Google Drive Connector](/components/connectors/out-of-the-box-connectors/googledrive.md) - Create folders or files from a [Google Drive](https://www.google.com/drive/) template from your BPMN process.
- [Google Maps Platform Connector](/components/connectors/out-of-the-box-connectors/google-maps-platform.md) - Validate addresses, retrieve postal addresses, and calculate distances with [Google Maps Platform Service](https://mapsplatform.google.com/) from your BPMN process
- [Google Sheets Connector](/components/connectors/out-of-the-box-connectors/google-sheets.md) - Allows you to work with an existing or new empty spreadsheet on [Google Drive](https://drive.google.com/) from your BPMN process.
+- [Google Gemini Connector](/components/connectors/out-of-the-box-connectors/google-gemini.md) - Allows you to work with an existing or new empty spreadsheet on [Google Drive](https://drive.google.com/) from your BPMN process.
- [Hugging Face Connector](/components/connectors/out-of-the-box-connectors/hugging-face.md) - Interact with [Hugging Face](https://huggingface.co/) models from your BPMN process.
- [Kafka Producer Connector](/components/connectors/out-of-the-box-connectors/kafka.md) - Produce messages to [Kafka](https://kafka.apache.org/) from your BPMN process.
- [Microsoft Teams Connector](/components/connectors/out-of-the-box-connectors/microsoft-teams.md) - Interactions with [Microsoft Teams](https://www.microsoft.com/microsoft-teams/) from your BPMN process.
diff --git a/docs/components/connectors/out-of-the-box-connectors/google-gemini.md b/docs/components/connectors/out-of-the-box-connectors/google-gemini.md
new file mode 100644
index 00000000000..3823a456b0c
--- /dev/null
+++ b/docs/components/connectors/out-of-the-box-connectors/google-gemini.md
@@ -0,0 +1,233 @@
+---
+id: google-gemini
+title: Google Gemini Connector
+sidebar_label: Google Gemini Connector
+description: The Gemini large language models (LLMs) that are used by Gemini for Google Cloud are trained on datasets of publicly available code, Google Cloud-specific material, and other relevant technical information in addition to the datasets used to train the Gemini [foundation models](https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf).
+---
+
+:::info
+The **Google Gemini Connector** is available for `8.7.0` or later.
+:::
+
+The **Google Gemini Connector** is an outbound Connector that allows you to access Gemini multimodal models from Google. It is capable of understanding virtually any input, and can combine different types of information in a BPMN process.
+
+## Create a Google Gemini Connector task
+
+import ConnectorTask from '../../../components/react-components/connector-task.md'
+
+
+
+## Make your Google Gemini Connector executable
+
+To execute this Connector, ensure all mandatory fields are correctly filled.
+
+:::note
+All the mandatory and non-mandatory fields and required settings depending on the operation selection you choose are covered in the upcoming sections.
+:::
+
+## Authentication
+
+Choose an authentication type from the **Type** dropdown. For details on authentication types, see [Google authentication types](#google-authentication-types).
+
+## Project ID
+
+Enter your google cloud project identifier.
+
+## Region
+
+Enter the region where your project is located. For example, `us-central1 (lowa)`, `us-west1 (Oregon)`.
+
+## Model
+
+Select a model from the dropdown. The following models are currently supported:
+
+- gemini-1.5-flash-001
+- gemini-1.5-flash-002
+- gemini-1.5-pro-001
+- gemini-1.5-pro-002
+- gemini-1.0-pro-001
+- gemini-1.0-pro-002
+- gemini-1.0-pro-vision-001
+
+## Prompt
+
+Enter a prompt as a FEEL expression, providing text and media.
+
+- To provide text to Gemini, your expression should contain key _"text"_ and text data. For example, _"text"_ : _"your text"_
+- To provide media to Gemini, your expression should contain key _"mime"_ and mime type text, and key _"uri"_ and media URI. For example, _"mime"_: _"mime type"_, _"uri"_: _"your URI"_.
+
+For example:
+
+```feel
+= [{"text": "who is this video about"},
+{"mime": "video/*", "uri": "https://youtu.be/..."}]
+```
+
+## System instructions
+
+Enter system instructions as a string, to determine how the model should respond.
+
+To learn more about system instructions, refer to [Google system instructions](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions?hl=en).
+
+## Grounding
+
+Grounding connects the model output to the verifiable sources of information.
+
+- This is useful in situations where accuracy and reliability are important.
+- To use grounding, select the _Grounding_ checkbox and input the path to the data store.
+
+To learn more about grounding, refer to [Google grounding overview](https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/overview?hl=en).
+
+## Safety Filter Settings
+
+You can adjust the likelihood of receiving a model response which might contain harmful content.
+
+- Content is blocked based on the probability that it is harmful.
+- To use safety filter settings, select the _Safety Filter Settings_ checkbox and select the desired level from dropdown.
+- By default, all filters are set to OFF.
+
+To learn more about safety filters, refer to [Google responsible AI safety filters and settings](https://cloud.google.com/vertex-ai/docs/generative-ai/learn/responsible-ai?hl=en#safety_filters_and_attributes).
+
+## Add stop sequence
+
+A stop sequence is a series of characters (including spaces) that stops response generation if encountered by the model.
+
+The stop sequence should be inserted as a string list.
+
+For example:
+
+```feel
+= ["text 1", "text 2"]
+```
+
+## Temperature
+
+The **Temperature** controls the randomness in token selection.
+
+- A lower temperature is good when you expect a true or correct response. A temperature of `0` means the highest probability token is usually selected.
+- A higher temperature can lead to diverse or unexpected results. Some models have a higher temperature max to encourage more random responses.
+
+## Output token limit
+
+The **Output token limit** Determines the maximum amount of text output from a single prompt. A token is approximately four characters.
+
+## Seed
+
+Setting a **Seed** value is useful if you make repeated requests and want the same model response.
+
+Deterministic outcome isn’t guaranteed. Changing the model or other settings can cause variations in the response even when you use the same seed value.
+
+## Top-K
+
+The **Top-K** specifies the number of candidate tokens when the model is selecting an output token.
+
+- Use a lower value for less random responses and a higher value for more random responses.
+- Only the _gemini-1.0-pro-vision-001_ model supports Top-K.
+
+## Top-P
+
+The **Top-P** changes how the model selects tokens for output.
+
+- Tokens are selected from the most probable to the least probable, until the sum of their probabilities equals the top-p value.
+- For example, if tokens A, B, and C have a probability of .3, .2, and .1 and the top-p value is .5, then the model will select either A or B as the next token (using temperature).
+- For the least variable results, set top-P to 0.
+
+## Functional call description
+
+**Function calling** is a feature of Gemini models that makes it easier to get structured data outputs from generative models.
+
+- The **Functional call description** must be provided in fell format.
+- It is important that all types must be registered with capslock.
+
+To learn more about function calling, refer to [Google function calling](https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling).
+
+For example:
+
+```fell
+[
+ {
+ "name": "get_exchange_rate",
+ "description":"Get the exchange rate for currencies between countries",
+ "parameters": {
+ "type": "OBJECT",
+ "properties": {
+ "currency_date": {
+ "type": "STRING",
+ "description": "A date that must always be in YYYY-MM-DD format or the value 'latest' if a time period is not specified"
+ },
+ "currency_from": {
+ "type": "STRING",
+ "description": "The currency to convert from in ISO 4217 format"
+ },
+ "currency_to": {
+ "type": "STRING",
+ "description": "The currency to convert to in ISO 4217 format"
+ }
+ },
+ "required":[
+ "currency_date",
+ "currency_from",
+ "currency_to"
+ ]
+ }
+ }
+]
+```
+
+### Google authentication types
+
+The **Google Gemini Connector** currently supports two methods for authentication and authorization:
+
+- Based on a short-lived JWT bearer token.
+- Based on a refresh token.
+
+Google supports multiple ways to obtain both types of token. Refer to the [official Google OAuth documentation](https://developers.google.com/identity/protocols/oauth2) for current instructions, or see the examples below.
+
+#### Example 1: Obtain JWT bearer token with a service account
+
+:::warning
+The following code snippet is for demonstration purposes only and must not be used for real production systems due to security concerns.
+For production usage, follow the [official Google guidelines](https://developers.google.com/identity/protocols/oauth2/service-account).
+:::
+
+Assuming you have created a service account and downloaded a JSON file with keys, run the following Python 3 snippet to print the JWT token in the terminal:
+
+```python
+import google.auth
+import google.auth.transport.requests
+from google.oauth2 import service_account
+# Scopes required to execute 'create' endpoind with Google Drive API
+SCOPES = ['https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/drive.file', 'https://www.googleapis.com/auth/drive.appdata']
+# File with keys
+SERVICE_ACCOUNT_FILE = 'google-service-account-creds.json'
+credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
+auth_req = google.auth.transport.requests.Request()
+credentials.refresh(auth_req)
+# Print token
+print(credentials.token)
+```
+
+#### Example 2: Obtain bearer and refresh token with OAuth client
+
+:::warning
+The following code snippet is for demonstration purposes only and must not be used for real production systems due to security concerns.
+For production usage, follow the [official Google guidelines](https://developers.google.com/identity/protocols/oauth2/web-server).
+:::
+
+Assuming you have created an OAuth client, you can download key files from the Google [Console](https://console.cloud.google.com/apis/credentials). Run the following Python 3 snippet to print the refresh token in the terminal:
+
+```python
+from google_auth_oauthlib.flow import InstalledAppFlow
+import pprint
+
+SCOPES = ['https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/documents']
+OAUTH_KEYS = './oauth-keys.json' # path to your file with OAuth credentials
+
+def main():
+ flow = InstalledAppFlow.from_client_secrets_file(OAUTH_KEYS, SCOPES)
+ creds = flow.run_local_server(port=54948)
+ pprint.pprint(vars(creds))
+
+if __name__ == "__main__":
+ main()
+```
diff --git a/optimize_sidebars.js b/optimize_sidebars.js
index 7a7b5a97f81..da4c8161e46 100644
--- a/optimize_sidebars.js
+++ b/optimize_sidebars.js
@@ -964,6 +964,10 @@ module.exports = {
"Google Sheets Connector",
"components/connectors/out-of-the-box-connectors/google-sheets/"
),
+ docsLink(
+ "Google Gemini Connector",
+ "components/connectors/out-of-the-box-connectors/google-gemini/"
+ ),
],
},
diff --git a/sidebars.js b/sidebars.js
index c49653ca7d8..14ac338fc90 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -339,6 +339,7 @@ module.exports = {
"components/connectors/out-of-the-box-connectors/googledrive",
"components/connectors/out-of-the-box-connectors/google-maps-platform",
"components/connectors/out-of-the-box-connectors/google-sheets",
+ "components/connectors/out-of-the-box-connectors/google-gemini",
],
},
"components/connectors/out-of-the-box-connectors/hugging-face",