@n8n-as-code/skills 1.7.1-next.7 → 1.8.0-next.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  {
2
- "generatedAt": "2026-04-07T11:58:18.910Z",
2
+ "generatedAt": "2026-04-07T21:26:26.421Z",
3
3
  "version": "1.0.0",
4
4
  "sourceUrl": "https://docs.n8n.io/llms.txt",
5
- "totalPages": 1261,
5
+ "totalPages": 1262,
6
6
  "statistics": {
7
7
  "byCategory": {
8
8
  "other": 517,
@@ -12,7 +12,7 @@
12
12
  "code": 20,
13
13
  "data": 38,
14
14
  "flow-logic": 8,
15
- "hosting": 79,
15
+ "hosting": 80,
16
16
  "integrations": 306,
17
17
  "cluster-nodes": 101,
18
18
  "trigger-nodes": 107,
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "withNodeNames": 471,
23
23
  "withUseCases": 39,
24
- "withCodeExamples": 179
24
+ "withCodeExamples": 180
25
25
  },
26
26
  "categories": {
27
27
  "other": {
@@ -710,7 +710,7 @@
710
710
  },
711
711
  "hosting": {
712
712
  "description": "Self-hosting, deployment, and infrastructure",
713
- "totalPages": 79,
713
+ "totalPages": 80,
714
714
  "pages": [
715
715
  "page-0150",
716
716
  "page-0151",
@@ -767,6 +767,7 @@
767
767
  "page-0202",
768
768
  "page-0203",
769
769
  "page-0204",
770
+ "page-0205",
770
771
  "page-0206",
771
772
  "page-0207",
772
773
  "page-0208",
@@ -17272,13 +17273,13 @@
17272
17273
  "nodeName": null,
17273
17274
  "nodeType": null,
17274
17275
  "content": {
17275
- "markdown": "# Hosting n8n on Google Kubernetes Engine\n\nGoogle Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes).\n\nThis guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/).\n\nMost of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps.\n\n## Prerequisites\n\n- The [gcloud command line tool](https://cloud.google.com/sdk/gcloud/)\n- The [gke-gcloud-auth-plugin](https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke) (install the gcloud CLI first)\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.15.0 Current `beta`: 2.16.0\n\n## Create project\n\nGCP encourages you to create projects to logically organize resources and configuration. Create a new project for your n8n deployment from your Google Cloud Console: select the project dropdown menu and then the **NEW PROJECT** button. Then select the newly created project. As you follow the other steps in this guide, make sure you have the correct project selected.\n\n## Enable the Kubernetes Engine API\n\nGKE isn't enabled by default. Search for \"Kubernetes\" in the top search bar and select \"Kubernetes Engine\" from the results.\n\nSelect **ENABLE** to enable the Kubernetes Engine API for this project.\n\n## Create a cluster\n\nFrom the [GKE service page](https://console.cloud.google.com/kubernetes/list/overview), select **Clusters** > **CREATE**. Make sure you select the \"Standard\" cluster option, n8n doesn't work with an \"Autopilot\" cluster. You can leave the cluster configuration on defaults unless there's anything specifically you need to change, such as location.\n\n## Set Kubectl context\n\nThe rest of the steps in this guide require you to set the GCP instance as the Kubectl context. You can find the connection details for a cluster instance by opening its details page and selecting **CONNECT**. The displayed code snippet shows a connection string for the gcloud CLI tool. Paste and run the code snippet in the gcloud CLI to change your local Kubernetes settings to use the new gcloud cluster.\n\n## Clone configuration repository\n\nKubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-hosting) locally. The following steps explain the file configuration and how to add your information.\n\nClone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nAnd change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## Configure Postgres\n\nFor larger scale n8n deployments, Postgres provides a more robust database backend than SQLite.\n\n### Create a volume for persistent storage\n\nTo maintain data between pod restarts, the Postgres deployment needs a persistent volume. Running Postgres on GCP requires a specific Kubernetes Storage Class. You can read [this guide](https://cloud.google.com/architecture/deploying-highly-available-postgresql-with-gke) for specifics, but the `storage.yaml` manifest creates it for you. You may want to change the regions to create the storage in under the `allowedTopologies` > `matchedLabelExpressions` > `values` key. By default, they're set to `us-central`.\n\n```\n…\nallowedTopologies:\n - matchLabelExpressions:\n - key: failure-domain.beta.kubernetes.io/zone\n values:\n - us-central1-b\n - us-central1-c\n```\n\n### Postgres environment variables\n\nPostgres needs some environment variables set to pass to the application running in the containers.\n\nThe example `postgres-secret.yaml` file contains placeholders you need to replace with your own values. Postgres will use these details when creating the database..\n\nThe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## Configure n8n\n\n### Create a volume for file storage\n\nWhile not essential for running n8n, using persistent volumes is required for:\n\n- Using nodes that interact with files, such as the binary data node.\n- If you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts. This saves a file containing the key into file storage during startup.\n\nThe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentVolumeClaim:\n claimName: n8n-claim0\n…\n```\n\n### Pod resources\n\n[Kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` and `postgres-deployment.yaml` files:\n\n```\n…\nresources:\n requests:\n memory: \"250Mi\"\n limits:\n memory: \"500Mi\"\n…\n```\n\nThis defines a minimum of 250mb per container, a maximum of 500mb, and lets Kubernetes handle CPU. You can change these values to match your own needs. As a guide, here are the resources values for the n8n cloud offerings:\n\n- **Start**: 320mb RAM, 10 millicore CPU burstable\n- **Pro (10k executions)**: 640mb RAM, 20 millicore CPU burstable\n- **Pro (50k executions)**: 1280mb RAM, 80 millicore CPU burstable\n\n### Optional: Environment variables\n\nYou can configure n8n settings and behaviors using environment variables.\n\nCreate an `n8n-secret.yaml` file. Refer to [Environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## Deployments\n\nThe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and Postgres applications to Kubernetes.\n\nThe manifests define the following:\n\n- Send the environment variables defined to each application pod\n- Define the container image to use\n- Set resource consumption limits with the `resources` object\n- The `volumes` defined earlier and `volumeMounts` to define the path in the container to mount volumes.\n- Scaling and restart policies. The example manifests define one instance of each pod. You should change this to meet your needs.\n\n## Services\n\nThe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the Kubernetes load balancer using ports 5432 and 5678 respectively.\n\n## Send to Kubernetes cluster\n\nSend all the manifests to the cluster with the following command:\n\n```\nkubectl apply -f .\n```\n\nNamespace error\n\nYou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. You can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## Set up DNS\n\nn8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to the IP address of the n8n service. Find the IP address of the n8n service from the **Services & Ingress** menu item of the cluster you want to use under the **Endpoints** column.\n\nGKE and IP addresses\n\n[Read this GKE tutorial](https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#configuring_your_domain_name_records) for more details on how reserved IP addresses work with GKE and Kubernetes resources.\n\n## Delete resources\n\nRemove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\nated \\\n --port=5678 \\\n --memory=2Gi \\\n --no-cpu-throttling \\\n --set-env-vars=\"N8N_PORT=5678,N8N_PROTOCOL=https,N8N_ENDPOINT_HEALTH=health,DB_TYPE=postgresdb,DB_POSTGRESDB_DATABASE=n8n,DB_POSTGRESDB_USER=n8n-user,DB_POSTGRESDB_HOST=/cloudsql/$PROJECT_ID:$REGION:n8n-db,DB_POSTGRESDB_PORT=5432,DB_POSTGRESDB_SCHEMA=public,GENERIC_TIMEZONE=UTC,QUEUE_HEALTH_CHECK_ACTIVE=true\" \\\n --set-secrets=\"DB_POSTGRESDB_PASSWORD=n8n-db-password:latest,N8N_ENCRYPTION_KEY=n8n-encryption-key:latest\" \\\n --add-cloudsql-instances=$PROJECT_ID:$REGION:n8n-db \\\n --service-account=n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\n```\n\nOnce the deployment finishes, open another tab to navigate to the Service URL. You should see the n8n login screen.\n\n## Troubleshooting\n\nIf you see a \"Cannot GET /\" screen this usually indicates that n8n is still starting up. You can refresh the page and it should eventually load.\n\n## (Optional) Enabling Google Workspace services as n8n tools\n\nIf you want to use Google Workspace services (Gmail, Calendar, Drive, etc.) as tools in n8n, it's recommended to setup OAuth to access these services.\n\nFirst ensure the respective APIs you want are enabled:\n\n```\n## Enable whichever APIs you need\n## Note: If you want Sheets/Docs, it's not enough to just enable Drive; these services each have their own API\ngcloud services enable gmail.googleapis.com\ngcloud services enable drive.googleapis.com\ngcloud services enable sheets.googleapis.com\ngcloud services enable docs.googleapis.com\ngcloud services enable calendar-json.googleapis.com\n```\n\nRe-deploy n8n on Cloud Run with the necessary OAuth callback URLs as environment variables:\n\n```\nexport SERVICE_URL=\"your-n8n-service-URL\"\n## e.g. https://n8n-12345678.us-west1.run.app\n\ngcloud run services update n8n \\\n --region=$REGION \\\n --update-env-vars=\"N8N_HOST=$(echo $SERVICE_URL | sed 's/https:\\/\\///'),WEBHOOK_URL=$SERVICE_URL,N8N_EDITOR_BASE_URL=$SERVICE_URL\"\n```\n\nLastly, you must setup OAuth for these services. Visit `https://console.cloud.google.com/auth` and follow these steps:\n\n1. Click \"Get Started\" if this button shows (when you have not yet setup OAuth in this Cloud project).\n1. For \"App Information\", enter whichever \"App Name\" and \"User Support Email\" you prefer.\n1. For \"Audience\", select \"Internal\" if you intend to only enable access to your user(s) within this same Google Workspace. Otherwise, you can select \"External\".\n1. Enter \"Contact Information\".\n1. If you selected \"External\", then click \"Audience\" and add any test users you need to grant access.\n1. Click \"Clients\" > \"Create client\", select \"Web application\" for \"Application type\", enter your n8n service URL into \"Authorized JavaScript origins\", and \"/rest/oauth2-credential/callback\" into \"Authorized redirect URIs\" where your YOUR-N8N-URL is also the n8n service URL (e.g. `https://n8n-12345678.us-west1.run.app/rest/oauth2-credential/callback`). Make sure you download the created client's JSON file since it contains the client secret which you will not be able to see later in the Console.\n1. Click \"Data Access\" and add the scopes you want n8n to have access for (e.g. to access Google Sheets, you need `https://googleapis.com/auth/drive.file` and `https://googleapis.com/auth/spreadsheets`)\n1. Now you should be able to use these workspace services. You can test if it works by logging into n8n, add a Tool for the respective service and add its credentials using the information in the OAuth client JSON file from step 6.\n",
17276
- "excerpt": "# Hosting n8n on Google Kubernetes Engine Google Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes). This guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/). Most of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command...",
17276
+ "markdown": "# Hosting n8n on Google Cloud Run\n\nThis hosting guide shows you how to self-host n8n on Google Cloud Run, a serverless container runtime. If you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. Otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down.\n\nYou can also enable access via OAuth to Google Workspace, such as Gmail and Drive, to use these services as n8n workflow tools. Instructions for granting n8n access to these services are at the end of of this documentation.\n\nIf you want to deploy to Google Kubernetes Engine (GKE) instead, you can refer to [these instructions](../google-kubernetes-engine/).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.15.0 Current `beta`: 2.16.0\n\n## Before you begin: get a Google Cloud project\n\nIf you have not yet created a Google Cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your Cloud Run service runs for free you must have billing activated to deploy). Otherwise, navigate to the project where you want to deploy n8n.\n\n## Easy mode\n\nThis is the fastest way to deploy n8n on Cloud Run. For this deployment, n8n's data is in-memory so this is only recommended for demo purposes. **Anytime this Cloud Run service scales to zero or is redeployed, the n8n data will be lost.** Refer to the durable mode instructions below if you need a production-grade deployment.\n\nIf you have not yet created a Google Cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your Cloud Run service will run for free you must have billing enabled to activated to deploy). Otherwise, navigate to the project where you want to deploy n8n.\n\nOpen the Cloud Shell Terminal (on the Google Cloud console, either type \"G\" then \"S\" or click on the terminal icon on the upper right).\n\nOnce your session is open, you may need to run this command first to login (and follow the steps it asks you to complete):\n\n```\ngcloud auth login\n```\n\nYou can also explicitly enable the Cloud Run API (even if you don't do this, it will ask if you want this enabled when you deploy):\n\n```\ngcloud services enable run.googleapis.com\n```\n\nRequired: Custom health check endpoint\n\nGoogle Cloud Run reserves `/healthz` for its own health checks. Since n8n uses this path by default, it can conflict and cause connection issues in the workflow canvas. To fix this, set the `N8N_ENDPOINT_HEALTH` environment variable to a custom path (included in the deployment commands below).\n\nTo deploy n8n:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2Gi \\\n --set-env-vars=\"N8N_ENDPOINT_HEALTH=health\"\n```\n\n(you can specify whichever region you prefer, instead of \"us-west1\")\n\nOnce the deployment finishes, open another tab to navigate to the Service URL. n8n may still be loading and you will see a \"n8n is starting up. Please wait\" message, but shortly thereafter you should see the n8n login screen.\n\nOptional: If you want to keep this n8n service running for as long as possible to avoid data loss, you can also set manual scale to 1 to prevent it from autoscaling to 0.\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2Gi \\\n --scaling=1 \\\n --set-env-vars=\"N8N_ENDPOINT_HEALTH=health\"\n```\n\nThis does not prevent data loss completely, such as whenever the Cloud Run service is re-deployed/updated. If you want truly persistant data, you should refer to the instructions below for how to attach a database.\n\n## Durable mode\n\nThe following instructions are intended for a more durable, production-grade deployment of n8n on Cloud Run. It includes resources such as a database for persistance and secret manager for sensitive data.\n\nIf you want to deploy the following setup via Terraform, refer to this [example](https://github.com/ryanpei/n8n-hosting/tree/main/google-cloud-run) which deploys the same setup as the following (without the OAuth setup for Google Workspace tools).\n\n## Enable APIs and set env vars\n\nOpen the Cloud Shell Terminal (on the Google Cloud console, either type \"G\" then \"S\" or click on the terminal icon on the upper right) and run these commands in the terminal session:\n\n```\n## You may need to login first\ngcloud auth login\n\ngcloud services enable run.googleapis.com\ngcloud services enable sqladmin.googleapis.com\ngcloud services enable secretmanager.googleapis.com\n```\n\nYou'll also want to set some environment variables for the remainder of these instructions:\n\n```\nexport PROJECT_ID=your-project\nexport REGION=region-where-you-want-this-deployed\n```\n\n## Setup your Postgres database\n\nRun this command to create the Postgres DB instance (it will take a few minutes to complete; also ensure you update the root-password field with your own desired password):\n\n```\ngcloud sql instances create n8n-db \\\n --database-version=POSTGRES_13 \\\n --tier=db-f1-micro \\\n --region=$REGION \\\n --root-password=\"change-this-password\" \\\n --storage-size=10GB \\\n --availability-type=ZONAL \\\n --no-backup \\\n --storage-type=HDD\n```\n\nOnce complete, you can add the database that n8n will use:\n\n```\ngcloud sql databases create n8n --instance=n8n-db\n```\n\nCreate the DB user for n8n (change the password value, of course):\n\n```\ngcloud sql users create n8n-user \\\n --instance=n8n-db \\\n --password=\"change-this-password\"\n```\n\nYou can save the password you set for this n8n-user to a file for the next step of saving the password in Secret Manager. Be sure to delete this file later.\n\n## Store sensitive data in Secret Manager\n\nWhile not required, it's absolutely recommended to store your sensitive data in Secrets Manager.\n\nCreate a secret for the database password (replace \"/your/password/file\" with the file you created above for the n8n-user password):\n\n```\ngcloud secrets create n8n-db-password \\\n --data-file=/your/password/file \\\n --replication-policy=\"automatic\"\n```\n\nCreate an encryption key (you can use your own, this example generates a random one):\n\n```\nopenssl rand -base64 -out my-encryption-key 42\n```\n\nCreate a secret for this encryption key (replace \"my-encryption-key\" if you are supplying your own):\n\n```\ngcloud secrets create n8n-encryption-key \\\n --data-file=my-encryption-key \\\n --replication-policy=\"automatic\"\n```\n\nNow you can delete my-encryption-key and the database password files you created. These values are now securely stored in Secret Manager.\n\n## Create a service account for Cloud Run\n\nYou want this Cloud Run service to be restricted to access only the resources it needs. The following commands create the service account and adds the permissions necessary to access secrets and the database:\n\n```\ngcloud iam service-accounts create n8n-service-account \\\n --display-name=\"n8n Service Account\"\n\ngcloud secrets add-iam-policy-binding n8n-db-password \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretAccessor\"\n\ngcloud secrets add-iam-policy-binding n8n-encryption-key \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretAccessor\"\n\ngcloud projects add-iam-policy-binding $PROJECT_ID \\\n --member=\"serviceAccount:n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\" \\\n --role=\"roles/cloudsql.client\"\n```\n\n## Deploy the Cloud Run service\n\nNow you can deploy your n8n service:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n:latest \\\n --command=\"/bin/sh\" \\\n --args=\"-c,sleep 5;n8n start\" \\\n --region=$REGION \\\n --allow-unauthenticated \\\n --port=5678 \\\n --memory=2Gi \\\n --no-cpu-throttling \\\n --set-env-vars=\"N8N_PORT=5678,N8N_PROTOCOL=https,N8N_ENDPOINT_HEALTH=health,DB_TYPE=postgresdb,DB_POSTGRESDB_DATABASE=n8n,DB_POSTGRESDB_USER=n8n-user,DB_POSTGRESDB_HOST=/cloudsql/$PROJECT_ID:$REGION:n8n-db,DB_POSTGRESDB_PORT=5432,DB_POSTGRESDB_SCHEMA=public,GENERIC_TIMEZONE=UTC,QUEUE_HEALTH_CHECK_ACTIVE=true\" \\\n --set-secrets=\"DB_POSTGRESDB_PASSWORD=n8n-db-password:latest,N8N_ENCRYPTION_KEY=n8n-encryption-key:latest\" \\\n --add-cloudsql-instances=$PROJECT_ID:$REGION:n8n-db \\\n --service-account=n8n-service-account@$PROJECT_ID.iam.gserviceaccount.com\n```\n\nOnce the deployment finishes, open another tab to navigate to the Service URL. You should see the n8n login screen.\n\n## Troubleshooting\n\nIf you see a \"Cannot GET /\" screen this usually indicates that n8n is still starting up. You can refresh the page and it should eventually load.\n\n## (Optional) Enabling Google Workspace services as n8n tools\n\nIf you want to use Google Workspace services (Gmail, Calendar, Drive, etc.) as tools in n8n, it's recommended to setup OAuth to access these services.\n\nFirst ensure the respective APIs you want are enabled:\n\n```\n## Enable whichever APIs you need\n## Note: If you want Sheets/Docs, it's not enough to just enable Drive; these services each have their own API\ngcloud services enable gmail.googleapis.com\ngcloud services enable drive.googleapis.com\ngcloud services enable sheets.googleapis.com\ngcloud services enable docs.googleapis.com\ngcloud services enable calendar-json.googleapis.com\n```\n\nRe-deploy n8n on Cloud Run with the necessary OAuth callback URLs as environment variables:\n\n```\nexport SERVICE_URL=\"your-n8n-service-URL\"\n## e.g. https://n8n-12345678.us-west1.run.app\n\ngcloud run services update n8n \\\n --region=$REGION \\\n --update-env-vars=\"N8N_HOST=$(echo $SERVICE_URL | sed 's/https:\\/\\///'),WEBHOOK_URL=$SERVICE_URL,N8N_EDITOR_BASE_URL=$SERVICE_URL\"\n```\n\nLastly, you must setup OAuth for these services. Visit `https://console.cloud.google.com/auth` and follow these steps:\n\n1. Click \"Get Started\" if this button shows (when you have not yet setup OAuth in this Cloud project).\n1. For \"App Information\", enter whichever \"App Name\" and \"User Support Email\" you prefer.\n1. For \"Audience\", select \"Internal\" if you intend to only enable access to your user(s) within this same Google Workspace. Otherwise, you can select \"External\".\n1. Enter \"Contact Information\".\n1. If you selected \"External\", then click \"Audience\" and add any test users you need to grant access.\n1. Click \"Clients\" > \"Create client\", select \"Web application\" for \"Application type\", enter your n8n service URL into \"Authorized JavaScript origins\", and \"/rest/oauth2-credential/callback\" into \"Authorized redirect URIs\" where your YOUR-N8N-URL is also the n8n service URL (e.g. `https://n8n-12345678.us-west1.run.app/rest/oauth2-credential/callback`). Make sure you download the created client's JSON file since it contains the client secret which you will not be able to see later in the Console.\n1. Click \"Data Access\" and add the scopes you want n8n to have access for (e.g. to access Google Sheets, you need `https://googleapis.com/auth/drive.file` and `https://googleapis.com/auth/spreadsheets`)\n1. Now you should be able to use these workspace services. You can test if it works by logging into n8n, add a Tool for the respective service and add its credentials using the information in the OAuth client JSON file from step 6.\n",
17277
+ "excerpt": "# Hosting n8n on Google Cloud Run This hosting guide shows you how to self-host n8n on Google Cloud Run, a serverless container runtime. If you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. Otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down. You can also enable access via OAuth to Google Workspace, such as Gmail and Drive, to use these s...",
17277
17278
  "sections": [
17278
17279
  {
17279
- "title": "Hosting n8n on Google Kubernetes Engine",
17280
+ "title": "Hosting n8n on Google Cloud Run",
17280
17281
  "level": 1,
17281
- "content": "Google Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes).\n\nThis guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/).\n\nMost of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps."
17282
+ "content": "This hosting guide shows you how to self-host n8n on Google Cloud Run, a serverless container runtime. If you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. Otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down.\n\nYou can also enable access via OAuth to Google Workspace, such as Gmail and Drive, to use these services as n8n workflow tools. Instructions for granting n8n access to these services are at the end of of this documentation.\n\nIf you want to deploy to Google Kubernetes Engine (GKE) instead, you can refer to [these instructions](../google-kubernetes-engine/).\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hos"
17282
17283
  }
17283
17284
  ]
17284
17285
  },
@@ -17336,65 +17337,182 @@
17336
17337
  ],
17337
17338
  "useCases": [],
17338
17339
  "operations": [],
17339
- "codeExamples": 10,
17340
+ "codeExamples": 16,
17340
17341
  "complexity": "intermediate",
17341
- "readingTime": "8 min",
17342
- "contentLength": 12158,
17342
+ "readingTime": "9 min",
17343
+ "contentLength": 12168,
17343
17344
  "relatedPages": []
17344
17345
  },
17345
17346
  "searchIndex": {
17346
- "fullText": "google cloud run # hosting n8n on google kubernetes engine\n\ngoogle cloud offers several options suitable for hosting n8n, including cloud run (optimized for running containers), compute engine (vms), and kubernetes engine (containers running with kubernetes).\n\nthis guide uses the google kubernetes engine (gke) as the hosting option. if you want to use cloud run, refer to [these instructions](../google-cloud-run/).\n\nmost of the steps in this guide use the google cloud ui, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps.\n\n## prerequisites\n\n- the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/)\n- the [gke-gcloud-auth-plugin](https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke) (install the gcloud cli first)\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.15.0 current `beta`: 2.16.0\n\n## create project\n\ngcp encourages you to create projects to logically organize resources and configuration. create a new project for your n8n deployment from your google cloud console: select the project dropdown menu and then the **new project** button. then select the newly created project. as you follow the other steps in this guide, make sure you have the correct project selected.\n\n## enable the kubernetes engine api\n\ngke isn't enabled by default. search for \"kubernetes\" in the top search bar and select \"kubernetes engine\" from the results.\n\nselect **enable** to enable the kubernetes engine api for this project.\n\n## create a cluster\n\nfrom the [gke service page](https://console.cloud.google.com/kubernetes/list/overview), select **clusters** > **create**. make sure you select the \"standard\" cluster option, n8n doesn't work with an \"autopilot\" cluster. you can leave the cluster configuration on defaults unless there's anything specifically you need to change, such as location.\n\n## set kubectl context\n\nthe rest of the steps in this guide require you to set the gcp instance as the kubectl context. you can find the connection details for a cluster instance by opening its details page and selecting **connect**. the displayed code snippet shows a connection string for the gcloud cli tool. paste and run the code snippet in the gcloud cli to change your local kubernetes settings to use the new gcloud cluster.\n\n## clone configuration repository\n\nkubernetes and n8n require a series of configuration files. you can clone these from [this repository](https://github.com/n8n-io/n8n-hosting) locally. the following steps explain the file configuration and how to add your information.\n\nclone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nand change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## configure postgres\n\nfor larger scale n8n deployments, postgres provides a more robust database backend than sqlite.\n\n### create a volume for persistent storage\n\nto maintain data between pod restarts, the postgres deployment needs a persistent volume. running postgres on gcp requires a specific kubernetes storage class. you can read [this guide](https://cloud.google.com/architecture/deploying-highly-available-postgresql-with-gke) for specifics, but the `storage.yaml` manifest creates it for you. you may want to change the regions to create the storage in under the `allowedtopologies` > `matchedlabelexpressions` > `values` key. by default, they're set to `us-central`.\n\n```\n…\nallowedtopologies:\n - matchlabelexpressions:\n - key: failure-domain.beta.kubernetes.io/zone\n values:\n - us-central1-b\n - us-central1-c\n```\n\n### postgres environment variables\n\npostgres needs some environment variables set to pass to the application running in the containers.\n\nthe example `postgres-secret.yaml` file contains placeholders you need to replace with your own values. postgres will use these details when creating the database..\n\nthe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## configure n8n\n\n### create a volume for file storage\n\nwhile not essential for running n8n, using persistent volumes is required for:\n\n- using nodes that interact with files, such as the binary data node.\n- if you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts. this saves a file containing the key into file storage during startup.\n\nthe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentvolumeclaim:\n claimname: n8n-claim0\n…\n```\n\n### pod resources\n\n[kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. the example yaml files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` and `postgres-deployment.yaml` files:\n\n```\n…\nresources:\n requests:\n memory: \"250mi\"\n limits:\n memory: \"500mi\"\n…\n```\n\nthis defines a minimum of 250mb per container, a maximum of 500mb, and lets kubernetes handle cpu. you can change these values to match your own needs. as a guide, here are the resources values for the n8n cloud offerings:\n\n- **start**: 320mb ram, 10 millicore cpu burstable\n- **pro (10k executions)**: 640mb ram, 20 millicore cpu burstable\n- **pro (50k executions)**: 1280mb ram, 80 millicore cpu burstable\n\n### optional: environment variables\n\nyou can configure n8n settings and behaviors using environment variables.\n\ncreate an `n8n-secret.yaml` file. refer to [environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## deployments\n\nthe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and postgres applications to kubernetes.\n\nthe manifests define the following:\n\n- send the environment variables defined to each application pod\n- define the container image to use\n- set resource consumption limits with the `resources` object\n- the `volumes` defined earlier and `volumemounts` to define the path in the container to mount volumes.\n- scaling and restart policies. the example manifests define one instance of each pod. you should change this to meet your needs.\n\n## services\n\nthe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the kubernetes load balancer using ports 5432 and 5678 respectively.\n\n## send to kubernetes cluster\n\nsend all the manifests to the cluster with the following command:\n\n```\nkubectl apply -f .\n```\n\nnamespace error\n\nyou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. you can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## set up dns\n\nn8n typically operates on a subdomain. create a dns record with your provider for the subdomain and point it to the ip address of the n8n service. find the ip address of the n8n service from the **services & ingress** menu item of the cluster you want to use under the **endpoints** column.\n\ngke and ip addresses\n\n[read this gke tutorial](https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#configuring_your_domain_name_records) for more details on how reserved ip addresses work with gke and kubernetes resources.\n\n## delete resources\n\nremove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\nated \\\n --port=5678 \\\n --memory=2gi \\\n --no-cpu-throttling \\\n --set-env-vars=\"n8n_port=5678,n8n_protocol=https,n8n_endpoint_health=health,db_type=postgresdb,db_postgresdb_database=n8n,db_postgresdb_user=n8n-user,db_postgresdb_host=/cloudsql/$project_id:$region:n8n-db,db_postgresdb_port=5432,db_postgresdb_schema=public,generic_timezone=utc,queue_health_check_active=true\" \\\n --set-secrets=\"db_postgresdb_password=n8n-db-password:latest,n8n_encryption_key=n8n-encryption-key:latest\" \\\n --add-cloudsql-instances=$project_id:$region:n8n-db \\\n --service-account=n8n-service-account@$project_id.iam.gserviceaccount.com\n```\n\nonce the deployment finishes, open another tab to navigate to the service url. you should see the n8n login screen.\n\n## troubleshooting\n\nif you see a \"cannot get /\" screen this usually indicates that n8n is still starting up. you can refresh the page and it should eventually load.\n\n## (optional) enabling google workspace services as n8n tools\n\nif you want to use google workspace services (gmail, calendar, drive, etc.) as tools in n8n, it's recommended to setup oauth to access these services.\n\nfirst ensure the respective apis you want are enabled:\n\n```\n## enable whichever apis you need\n## note: if you want sheets/docs, it's not enough to just enable drive; these services each have",
17347
+ "fullText": "google cloud run # hosting n8n on google cloud run\n\nthis hosting guide shows you how to self-host n8n on google cloud run, a serverless container runtime. if you're just getting started with n8n and don't need a production-grade deployment, you can go with the \"easy mode\" option below for deployment. otherwise, if you intend to use this n8n deployment at-scale, refer to the \"durable mode\" instructions further down.\n\nyou can also enable access via oauth to google workspace, such as gmail and drive, to use these services as n8n workflow tools. instructions for granting n8n access to these services are at the end of of this documentation.\n\nif you want to deploy to google kubernetes engine (gke) instead, you can refer to [these instructions](../google-kubernetes-engine/).\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.15.0 current `beta`: 2.16.0\n\n## before you begin: get a google cloud project\n\nif you have not yet created a google cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your cloud run service runs for free you must have billing activated to deploy). otherwise, navigate to the project where you want to deploy n8n.\n\n## easy mode\n\nthis is the fastest way to deploy n8n on cloud run. for this deployment, n8n's data is in-memory so this is only recommended for demo purposes. **anytime this cloud run service scales to zero or is redeployed, the n8n data will be lost.** refer to the durable mode instructions below if you need a production-grade deployment.\n\nif you have not yet created a google cloud project, [do this first](https://developers.google.com/workspace/guides/create-project) (and ensure you have billing enabled on the project; even if your cloud run service will run for free you must have billing enabled to activated to deploy). otherwise, navigate to the project where you want to deploy n8n.\n\nopen the cloud shell terminal (on the google cloud console, either type \"g\" then \"s\" or click on the terminal icon on the upper right).\n\nonce your session is open, you may need to run this command first to login (and follow the steps it asks you to complete):\n\n```\ngcloud auth login\n```\n\nyou can also explicitly enable the cloud run api (even if you don't do this, it will ask if you want this enabled when you deploy):\n\n```\ngcloud services enable run.googleapis.com\n```\n\nrequired: custom health check endpoint\n\ngoogle cloud run reserves `/healthz` for its own health checks. since n8n uses this path by default, it can conflict and cause connection issues in the workflow canvas. to fix this, set the `n8n_endpoint_health` environment variable to a custom path (included in the deployment commands below).\n\nto deploy n8n:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2gi \\\n --set-env-vars=\"n8n_endpoint_health=health\"\n```\n\n(you can specify whichever region you prefer, instead of \"us-west1\")\n\nonce the deployment finishes, open another tab to navigate to the service url. n8n may still be loading and you will see a \"n8n is starting up. please wait\" message, but shortly thereafter you should see the n8n login screen.\n\noptional: if you want to keep this n8n service running for as long as possible to avoid data loss, you can also set manual scale to 1 to prevent it from autoscaling to 0.\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n \\\n --region=us-west1 \\\n --allow-unauthenticated \\\n --port=5678 \\\n --no-cpu-throttling \\\n --memory=2gi \\\n --scaling=1 \\\n --set-env-vars=\"n8n_endpoint_health=health\"\n```\n\nthis does not prevent data loss completely, such as whenever the cloud run service is re-deployed/updated. if you want truly persistant data, you should refer to the instructions below for how to attach a database.\n\n## durable mode\n\nthe following instructions are intended for a more durable, production-grade deployment of n8n on cloud run. it includes resources such as a database for persistance and secret manager for sensitive data.\n\nif you want to deploy the following setup via terraform, refer to this [example](https://github.com/ryanpei/n8n-hosting/tree/main/google-cloud-run) which deploys the same setup as the following (without the oauth setup for google workspace tools).\n\n## enable apis and set env vars\n\nopen the cloud shell terminal (on the google cloud console, either type \"g\" then \"s\" or click on the terminal icon on the upper right) and run these commands in the terminal session:\n\n```\n## you may need to login first\ngcloud auth login\n\ngcloud services enable run.googleapis.com\ngcloud services enable sqladmin.googleapis.com\ngcloud services enable secretmanager.googleapis.com\n```\n\nyou'll also want to set some environment variables for the remainder of these instructions:\n\n```\nexport project_id=your-project\nexport region=region-where-you-want-this-deployed\n```\n\n## setup your postgres database\n\nrun this command to create the postgres db instance (it will take a few minutes to complete; also ensure you update the root-password field with your own desired password):\n\n```\ngcloud sql instances create n8n-db \\\n --database-version=postgres_13 \\\n --tier=db-f1-micro \\\n --region=$region \\\n --root-password=\"change-this-password\" \\\n --storage-size=10gb \\\n --availability-type=zonal \\\n --no-backup \\\n --storage-type=hdd\n```\n\nonce complete, you can add the database that n8n will use:\n\n```\ngcloud sql databases create n8n --instance=n8n-db\n```\n\ncreate the db user for n8n (change the password value, of course):\n\n```\ngcloud sql users create n8n-user \\\n --instance=n8n-db \\\n --password=\"change-this-password\"\n```\n\nyou can save the password you set for this n8n-user to a file for the next step of saving the password in secret manager. be sure to delete this file later.\n\n## store sensitive data in secret manager\n\nwhile not required, it's absolutely recommended to store your sensitive data in secrets manager.\n\ncreate a secret for the database password (replace \"/your/password/file\" with the file you created above for the n8n-user password):\n\n```\ngcloud secrets create n8n-db-password \\\n --data-file=/your/password/file \\\n --replication-policy=\"automatic\"\n```\n\ncreate an encryption key (you can use your own, this example generates a random one):\n\n```\nopenssl rand -base64 -out my-encryption-key 42\n```\n\ncreate a secret for this encryption key (replace \"my-encryption-key\" if you are supplying your own):\n\n```\ngcloud secrets create n8n-encryption-key \\\n --data-file=my-encryption-key \\\n --replication-policy=\"automatic\"\n```\n\nnow you can delete my-encryption-key and the database password files you created. these values are now securely stored in secret manager.\n\n## create a service account for cloud run\n\nyou want this cloud run service to be restricted to access only the resources it needs. the following commands create the service account and adds the permissions necessary to access secrets and the database:\n\n```\ngcloud iam service-accounts create n8n-service-account \\\n --display-name=\"n8n service account\"\n\ngcloud secrets add-iam-policy-binding n8n-db-password \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretaccessor\"\n\ngcloud secrets add-iam-policy-binding n8n-encryption-key \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/secretmanager.secretaccessor\"\n\ngcloud projects add-iam-policy-binding $project_id \\\n --member=\"serviceaccount:n8n-service-account@$project_id.iam.gserviceaccount.com\" \\\n --role=\"roles/cloudsql.client\"\n```\n\n## deploy the cloud run service\n\nnow you can deploy your n8n service:\n\n```\ngcloud run deploy n8n \\\n --image=n8nio/n8n:latest \\\n --command=\"/bin/sh\" \\\n --args=\"-c,sleep 5;n8n start\" \\\n --region=$region \\\n --allow-unauthenticated \\\n --port=5678 \\\n --memory=2gi \\\n --no-cpu-throttling \\\n --set-env-vars=\"n8n_port=5678,n8n_protocol=https,n8n_endpoint_health=health,db_type=postgresdb,db_postgresdb_database=n8n,db_postgresdb_user=n8n-user,db_postgresdb_host=/cloudsql/$project_id:$region:n8n-db,db_postgresdb_port=5432,db_postgresdb_schema=public,generic_timezone=utc,queue_health_check_active=true\" \\\n --set-secrets=\"db_postgresdb_password=n8n-db-password:latest,n8n_encryption_key=n8n-encryption-key:latest\" \\\n --add-cloudsql-instances=$project_id:$region:n8n-db \\\n --service-account=n8n-service-account@$project_id.iam.gserviceaccount.com\n```\n\nonce the deployment finishes, open another tab to navigate to the service url. you should see the n8n login screen.\n\n## troubleshooting\n\nif you see a \"cannot get /\" screen this usually indicates that n8n is still starting up. you can refresh the page and it should eventually load.\n\n## (optional) enabling google workspace services as n8n tools\n\nif you want to use google workspace services (gmail, calendar, drive, etc.) as tools in n8n, it's recommended to setup oauth to access these services.\n\nfirst ensure the respective apis you want are enabled:\n\n```\n## enable whichever apis you need\n## note: if you want sheets/docs, it's not enough to just enable drive; these services",
17347
17348
  "importantTerms": [
17348
- "kubernetes",
17349
- "google",
17350
- "cloud",
17351
- "https",
17352
17349
  "this",
17350
+ "cloud",
17351
+ "service",
17353
17352
  "gcloud",
17353
+ "google",
17354
17354
  "services",
17355
- "yaml",
17356
- "with",
17357
- "resources",
17358
17355
  "your",
17359
- "service",
17360
- "postgres",
17356
+ "password",
17357
+ "create",
17358
+ "enable",
17359
+ "deploy",
17360
+ "want",
17361
+ "region",
17362
+ "data",
17363
+ "https",
17364
+ "these",
17365
+ "project",
17366
+ "googleapis",
17367
+ "access",
17368
+ "file",
17361
17369
  "deployment",
17370
+ "have",
17371
+ "encryption",
17372
+ "account",
17373
+ "workspace",
17374
+ "database",
17375
+ "hosting",
17376
+ "need",
17377
+ "instructions",
17378
+ "oauth",
17379
+ "will",
17380
+ "secret",
17381
+ "setup",
17382
+ "user",
17383
+ "secrets",
17384
+ "also",
17385
+ "click",
17386
+ "login",
17387
+ "with",
17388
+ "mode",
17389
+ "refer",
17390
+ "drive",
17391
+ "created",
17392
+ "first",
17393
+ "enabled",
17394
+ "open",
17395
+ "terminal",
17396
+ "type",
17397
+ "auth",
17398
+ "health"
17399
+ ]
17400
+ }
17401
+ },
17402
+ {
17403
+ "id": "page-0205",
17404
+ "title": "Google Kubernetes Engine",
17405
+ "url": "https://docs.n8n.io/hosting/installation/server-setups/google-kubernetes-engine/index.md",
17406
+ "urlPath": "hosting/installation/server-setups/google-kubernetes-engine/index.md",
17407
+ "category": "hosting",
17408
+ "subcategory": null,
17409
+ "nodeName": null,
17410
+ "nodeType": null,
17411
+ "content": {
17412
+ "markdown": "# Hosting n8n on Google Kubernetes Engine\n\nGoogle Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes).\n\nThis guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/).\n\nMost of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps.\n\n## Prerequisites\n\n- The [gcloud command line tool](https://cloud.google.com/sdk/gcloud/)\n- The [gke-gcloud-auth-plugin](https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke) (install the gcloud CLI first)\n\nSelf-hosting knowledge prerequisites\n\nSelf-hosting n8n requires technical knowledge, including:\n\n- Setting up and configuring servers and containers\n- Managing application resources and scaling\n- Securing servers and applications\n- Configuring n8n\n\nn8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.15.0 Current `beta`: 2.16.0\n\n## Create project\n\nGCP encourages you to create projects to logically organize resources and configuration. Create a new project for your n8n deployment from your Google Cloud Console: select the project dropdown menu and then the **NEW PROJECT** button. Then select the newly created project. As you follow the other steps in this guide, make sure you have the correct project selected.\n\n## Enable the Kubernetes Engine API\n\nGKE isn't enabled by default. Search for \"Kubernetes\" in the top search bar and select \"Kubernetes Engine\" from the results.\n\nSelect **ENABLE** to enable the Kubernetes Engine API for this project.\n\n## Create a cluster\n\nFrom the [GKE service page](https://console.cloud.google.com/kubernetes/list/overview), select **Clusters** > **CREATE**. Make sure you select the \"Standard\" cluster option, n8n doesn't work with an \"Autopilot\" cluster. You can leave the cluster configuration on defaults unless there's anything specifically you need to change, such as location.\n\n## Set Kubectl context\n\nThe rest of the steps in this guide require you to set the GCP instance as the Kubectl context. You can find the connection details for a cluster instance by opening its details page and selecting **CONNECT**. The displayed code snippet shows a connection string for the gcloud CLI tool. Paste and run the code snippet in the gcloud CLI to change your local Kubernetes settings to use the new gcloud cluster.\n\n## Clone configuration repository\n\nKubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-hosting) locally. The following steps explain the file configuration and how to add your information.\n\nClone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nAnd change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## Configure Postgres\n\nFor larger scale n8n deployments, Postgres provides a more robust database backend than SQLite.\n\n### Create a volume for persistent storage\n\nTo maintain data between pod restarts, the Postgres deployment needs a persistent volume. Running Postgres on GCP requires a specific Kubernetes Storage Class. You can read [this guide](https://cloud.google.com/architecture/deploying-highly-available-postgresql-with-gke) for specifics, but the `storage.yaml` manifest creates it for you. You may want to change the regions to create the storage in under the `allowedTopologies` > `matchedLabelExpressions` > `values` key. By default, they're set to `us-central`.\n\n```\n…\nallowedTopologies:\n - matchLabelExpressions:\n - key: failure-domain.beta.kubernetes.io/zone\n values:\n - us-central1-b\n - us-central1-c\n```\n\n### Postgres environment variables\n\nPostgres needs some environment variables set to pass to the application running in the containers.\n\nThe example `postgres-secret.yaml` file contains placeholders you need to replace with your own values. Postgres will use these details when creating the database..\n\nThe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## Configure n8n\n\n### Create a volume for file storage\n\nWhile not essential for running n8n, using persistent volumes is required for:\n\n- Using nodes that interact with files, such as the binary data node.\n- If you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts. This saves a file containing the key into file storage during startup.\n\nThe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentVolumeClaim:\n claimName: n8n-claim0\n…\n```\n\n### Pod resources\n\n[Kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` and `postgres-deployment.yaml` files:\n\n```\n…\nresources:\n requests:\n memory: \"250Mi\"\n limits:\n memory: \"500Mi\"\n…\n```\n\nThis defines a minimum of 250mb per container, a maximum of 500mb, and lets Kubernetes handle CPU. You can change these values to match your own needs. As a guide, here are the resources values for the n8n cloud offerings:\n\n- **Start**: 320mb RAM, 10 millicore CPU burstable\n- **Pro (10k executions)**: 640mb RAM, 20 millicore CPU burstable\n- **Pro (50k executions)**: 1280mb RAM, 80 millicore CPU burstable\n\n### Optional: Environment variables\n\nYou can configure n8n settings and behaviors using environment variables.\n\nCreate an `n8n-secret.yaml` file. Refer to [Environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## Deployments\n\nThe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and Postgres applications to Kubernetes.\n\nThe manifests define the following:\n\n- Send the environment variables defined to each application pod\n- Define the container image to use\n- Set resource consumption limits with the `resources` object\n- The `volumes` defined earlier and `volumeMounts` to define the path in the container to mount volumes.\n- Scaling and restart policies. The example manifests define one instance of each pod. You should change this to meet your needs.\n\n## Services\n\nThe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the Kubernetes load balancer using ports 5432 and 5678 respectively.\n\n## Send to Kubernetes cluster\n\nSend all the manifests to the cluster with the following command:\n\n```\nkubectl apply -f .\n```\n\nNamespace error\n\nYou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. You can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## Set up DNS\n\nn8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to the IP address of the n8n service. Find the IP address of the n8n service from the **Services & Ingress** menu item of the cluster you want to use under the **Endpoints** column.\n\nGKE and IP addresses\n\n[Read this GKE tutorial](https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#configuring_your_domain_name_records) for more details on how reserved IP addresses work with GKE and Kubernetes resources.\n\n## Delete resources\n\nRemove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## Next steps\n\n- Learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- Or explore using n8n: try the [Quickstarts](../../../../try-it-out/).\n",
17413
+ "excerpt": "# Hosting n8n on Google Kubernetes Engine Google Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes). This guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/). Most of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command...",
17414
+ "sections": [
17415
+ {
17416
+ "title": "Hosting n8n on Google Kubernetes Engine",
17417
+ "level": 1,
17418
+ "content": "Google Cloud offers several options suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes).\n\nThis guide uses the Google Kubernetes Engine (GKE) as the hosting option. If you want to use Cloud Run, refer to [these instructions](../google-cloud-run/).\n\nMost of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps."
17419
+ }
17420
+ ]
17421
+ },
17422
+ "metadata": {
17423
+ "keywords": [
17424
+ "google",
17425
+ "kubernetes",
17426
+ "engine",
17427
+ "hosting",
17428
+ "prerequisites",
17362
17429
  "create",
17430
+ "project",
17363
17431
  "enable",
17432
+ "cluster",
17433
+ "kubectl",
17434
+ "context",
17435
+ "clone",
17436
+ "configuration",
17437
+ "repository",
17438
+ "configure",
17439
+ "postgres",
17440
+ "volume",
17441
+ "persistent",
17442
+ "storage",
17364
17443
  "environment",
17365
17444
  "variables",
17366
- "hosting",
17367
17445
  "file",
17446
+ "resources",
17447
+ "optional:",
17448
+ "deployments",
17449
+ "services",
17450
+ "send",
17451
+ "delete",
17452
+ "next",
17453
+ "steps"
17454
+ ],
17455
+ "useCases": [],
17456
+ "operations": [],
17457
+ "codeExamples": 8,
17458
+ "complexity": "intermediate",
17459
+ "readingTime": "6 min",
17460
+ "contentLength": 8654,
17461
+ "relatedPages": []
17462
+ },
17463
+ "searchIndex": {
17464
+ "fullText": "google kubernetes engine # hosting n8n on google kubernetes engine\n\ngoogle cloud offers several options suitable for hosting n8n, including cloud run (optimized for running containers), compute engine (vms), and kubernetes engine (containers running with kubernetes).\n\nthis guide uses the google kubernetes engine (gke) as the hosting option. if you want to use cloud run, refer to [these instructions](../google-cloud-run/).\n\nmost of the steps in this guide use the google cloud ui, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/) instead to undertake all the steps.\n\n## prerequisites\n\n- the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/)\n- the [gke-gcloud-auth-plugin](https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke) (install the gcloud cli first)\n\nself-hosting knowledge prerequisites\n\nself-hosting n8n requires technical knowledge, including:\n\n- setting up and configuring servers and containers\n- managing application resources and scaling\n- securing servers and applications\n- configuring n8n\n\nn8n recommends self-hosting for expert users. mistakes can lead to data loss, security issues, and downtime. if you aren't experienced at managing servers, n8n recommends [n8n cloud](https://n8n.io/cloud/).\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.15.0 current `beta`: 2.16.0\n\n## create project\n\ngcp encourages you to create projects to logically organize resources and configuration. create a new project for your n8n deployment from your google cloud console: select the project dropdown menu and then the **new project** button. then select the newly created project. as you follow the other steps in this guide, make sure you have the correct project selected.\n\n## enable the kubernetes engine api\n\ngke isn't enabled by default. search for \"kubernetes\" in the top search bar and select \"kubernetes engine\" from the results.\n\nselect **enable** to enable the kubernetes engine api for this project.\n\n## create a cluster\n\nfrom the [gke service page](https://console.cloud.google.com/kubernetes/list/overview), select **clusters** > **create**. make sure you select the \"standard\" cluster option, n8n doesn't work with an \"autopilot\" cluster. you can leave the cluster configuration on defaults unless there's anything specifically you need to change, such as location.\n\n## set kubectl context\n\nthe rest of the steps in this guide require you to set the gcp instance as the kubectl context. you can find the connection details for a cluster instance by opening its details page and selecting **connect**. the displayed code snippet shows a connection string for the gcloud cli tool. paste and run the code snippet in the gcloud cli to change your local kubernetes settings to use the new gcloud cluster.\n\n## clone configuration repository\n\nkubernetes and n8n require a series of configuration files. you can clone these from [this repository](https://github.com/n8n-io/n8n-hosting) locally. the following steps explain the file configuration and how to add your information.\n\nclone the repository with the following command:\n\n```\ngit clone https://github.com/n8n-io/n8n-hosting.git\n```\n\nand change directory:\n\n```\ncd n8n-hosting/kubernetes\n```\n\n## configure postgres\n\nfor larger scale n8n deployments, postgres provides a more robust database backend than sqlite.\n\n### create a volume for persistent storage\n\nto maintain data between pod restarts, the postgres deployment needs a persistent volume. running postgres on gcp requires a specific kubernetes storage class. you can read [this guide](https://cloud.google.com/architecture/deploying-highly-available-postgresql-with-gke) for specifics, but the `storage.yaml` manifest creates it for you. you may want to change the regions to create the storage in under the `allowedtopologies` > `matchedlabelexpressions` > `values` key. by default, they're set to `us-central`.\n\n```\n…\nallowedtopologies:\n - matchlabelexpressions:\n - key: failure-domain.beta.kubernetes.io/zone\n values:\n - us-central1-b\n - us-central1-c\n```\n\n### postgres environment variables\n\npostgres needs some environment variables set to pass to the application running in the containers.\n\nthe example `postgres-secret.yaml` file contains placeholders you need to replace with your own values. postgres will use these details when creating the database..\n\nthe `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods.\n\n## configure n8n\n\n### create a volume for file storage\n\nwhile not essential for running n8n, using persistent volumes is required for:\n\n- using nodes that interact with files, such as the binary data node.\n- if you want to persist [manual n8n encryption keys](../../../configuration/environment-variables/deployment/) between restarts. this saves a file containing the key into file storage during startup.\n\nthe `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest.\n\n```\n…\nvolumes:\n - name: n8n-claim0\n persistentvolumeclaim:\n claimname: n8n-claim0\n…\n```\n\n### pod resources\n\n[kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. the example yaml files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` and `postgres-deployment.yaml` files:\n\n```\n…\nresources:\n requests:\n memory: \"250mi\"\n limits:\n memory: \"500mi\"\n…\n```\n\nthis defines a minimum of 250mb per container, a maximum of 500mb, and lets kubernetes handle cpu. you can change these values to match your own needs. as a guide, here are the resources values for the n8n cloud offerings:\n\n- **start**: 320mb ram, 10 millicore cpu burstable\n- **pro (10k executions)**: 640mb ram, 20 millicore cpu burstable\n- **pro (50k executions)**: 1280mb ram, 80 millicore cpu burstable\n\n### optional: environment variables\n\nyou can configure n8n settings and behaviors using environment variables.\n\ncreate an `n8n-secret.yaml` file. refer to [environment variables](../../../configuration/environment-variables/) for n8n environment variables details.\n\n## deployments\n\nthe two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and postgres applications to kubernetes.\n\nthe manifests define the following:\n\n- send the environment variables defined to each application pod\n- define the container image to use\n- set resource consumption limits with the `resources` object\n- the `volumes` defined earlier and `volumemounts` to define the path in the container to mount volumes.\n- scaling and restart policies. the example manifests define one instance of each pod. you should change this to meet your needs.\n\n## services\n\nthe two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the kubernetes load balancer using ports 5432 and 5678 respectively.\n\n## send to kubernetes cluster\n\nsend all the manifests to the cluster with the following command:\n\n```\nkubectl apply -f .\n```\n\nnamespace error\n\nyou may see an error message about not finding an \"n8n\" namespace as that resources isn't ready yet. you can run the same command again, or apply the namespace manifest first with the following command:\n\n```\nkubectl apply -f namespace.yaml\n```\n\n## set up dns\n\nn8n typically operates on a subdomain. create a dns record with your provider for the subdomain and point it to the ip address of the n8n service. find the ip address of the n8n service from the **services & ingress** menu item of the cluster you want to use under the **endpoints** column.\n\ngke and ip addresses\n\n[read this gke tutorial](https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#configuring_your_domain_name_records) for more details on how reserved ip addresses work with gke and kubernetes resources.\n\n## delete resources\n\nremove the resources created by the manifests with the following command:\n\n```\nkubectl delete -f .\n```\n\n## next steps\n\n- learn more about [configuring](../../../configuration/environment-variables/) and [scaling](../../../scaling/overview/) n8n.\n- or explore using n8n: try the [quickstarts](../../../../try-it-out/).\n hosting n8n on google kubernetes engine",
17465
+ "importantTerms": [
17466
+ "kubernetes",
17467
+ "cloud",
17468
+ "google",
17469
+ "yaml",
17470
+ "this",
17471
+ "resources",
17472
+ "postgres",
17473
+ "with",
17474
+ "https",
17475
+ "deployment",
17368
17476
  "engine",
17369
- "these",
17477
+ "hosting",
17478
+ "create",
17479
+ "environment",
17480
+ "variables",
17481
+ "gcloud",
17370
17482
  "configuration",
17371
- "select",
17372
17483
  "cluster",
17373
- "want",
17374
- "project",
17484
+ "your",
17375
17485
  "containers",
17376
- "steps",
17377
17486
  "command",
17378
- "application",
17379
- "from",
17487
+ "project",
17380
17488
  "following",
17381
- "using",
17382
- "googleapis",
17489
+ "file",
17383
17490
  "guide",
17491
+ "steps",
17384
17492
  "kubectl",
17385
- "need",
17493
+ "from",
17494
+ "select",
17495
+ "service",
17386
17496
  "change",
17387
17497
  "storage",
17388
17498
  "manifest",
17389
17499
  "values",
17500
+ "using",
17390
17501
  "manifests",
17391
- "access",
17392
17502
  "running",
17393
- "auth",
17503
+ "application",
17394
17504
  "beta",
17395
17505
  "details",
17396
17506
  "volumes",
17397
- "define"
17507
+ "define",
17508
+ "want",
17509
+ "these",
17510
+ "configuring",
17511
+ "scaling",
17512
+ "clone",
17513
+ "files",
17514
+ "needs",
17515
+ "send"
17398
17516
  ]
17399
17517
  }
17400
17518
  },
@@ -40127,7 +40245,7 @@
40127
40245
  "nodeName": "supabase",
40128
40246
  "nodeType": "n8n-nodes-base.supabase",
40129
40247
  "content": {
40130
- "markdown": "# Supabase node\n\nUse the Supabase node to automate work in Supabase, and integrate Supabase with other applications. n8n has built-in support for a wide range of Supabase features, including creating, deleting, and getting rows.\n\nOn this page, you'll find a list of operations the Supabase node supports and links to more resources.\n\nCredentials\n\nRefer to [Supabase credentials](../../credentials/supabase/) for guidance on setting up authentication.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\n## Operations\n\n- Row\n - Create a new row\n - Delete a row\n - Get a row\n - Get all rows\n - Update a row\n\n## Using custom schemas\n\nBy default, the Supabase node only fetches the `public` schema. To fetch [custom schemas](https://supabase.com/docs/guides/api/using-custom-schemas), enable **Use Custom Schema**.\n\nIn the new **Schema** field, provide the custom schema the Supabase node should use.\n\n## Templates and examples\n\n**AI Agent To Chat With Files In Supabase Storage**\n\nby Mark Shcherbakov\n\n[View template details](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/)\n\n**Autonomous AI crawler**\n\nby Oskar\n\n[View template details](https://n8n.io/workflows/2315-autonomous-ai-crawler/)\n\n**🤖 Create a Documentation Expert Bot with RAG, Gemini, and Supabase**\n\nby Lucas Peyrin\n\n[View template details](https://n8n.io/workflows/5993-create-a-documentation-expert-bot-with-rag-gemini-and-supabase/)\n\n[Browse Supabase integration templates](https://n8n.io/integrations/supabase/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.\n1. Select the service you want to connect to.\n1. Select your credential.\n\nRefer to [Custom API operations](../../../custom-operations/) for more information.\n\n## Common issues\n\nFor common errors or issues and suggested resolution steps, refer to [Common issues](common-issues/).\n",
40248
+ "markdown": "# Supabase node\n\nUse the Supabase node to automate work in Supabase, and integrate Supabase with other applications. n8n has built-in support for a wide range of Supabase features, including creating, deleting, and getting rows.\n\nOn this page, you'll find a list of operations the Supabase node supports and links to more resources.\n\nCredentials\n\nRefer to [Supabase credentials](../../credentials/supabase/) for guidance on setting up authentication.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\n## Operations\n\n- Row\n - Create a new row\n - Delete a row\n - Get a row\n - Get all rows\n - Update a row\n\n## Using custom schemas\n\nBy default, the Supabase node only fetches the `public` schema. To fetch [custom schemas](https://supabase.com/docs/guides/api/using-custom-schemas), enable **Use Custom Schema**.\n\nIn the new **Schema** field, provide the custom schema the Supabase node should use.\n\n## Templates and examples\n\n**AI Agent To Chat With Files In Supabase Storage**\n\nby Mark Shcherbakov\n\n[View template details](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/)\n\n**Autonomous AI crawler**\n\nby Oskar\n\n[View template details](https://n8n.io/workflows/2315-autonomous-ai-crawler/)\n\n**Automate sales cold calling pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n[Browse Supabase integration templates](https://n8n.io/integrations/supabase/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.\n1. Select the service you want to connect to.\n1. Select your credential.\n\nRefer to [Custom API operations](../../../custom-operations/) for more information.\n\n## Common issues\n\nFor common errors or issues and suggested resolution steps, refer to [Common issues](common-issues/).\n",
40131
40249
  "excerpt": "# Supabase node Use the Supabase node to automate work in Supabase, and integrate Supabase with other applications. n8n has built-in support for a wide range of Supabase features, including creating, deleting, and getting rows. On this page, you'll find a list of operations the Supabase node supports and links to more resources. Credentials Refer to [Supabase credentials](../../credentials/supabase/) for guidance on setting up authentication. This node can be used as an AI tool This node c...",
40132
40250
  "sections": [
40133
40251
  {
@@ -40163,11 +40281,11 @@
40163
40281
  "codeExamples": 0,
40164
40282
  "complexity": "intermediate",
40165
40283
  "readingTime": "2 min",
40166
- "contentLength": 2511,
40284
+ "contentLength": 2522,
40167
40285
  "relatedPages": []
40168
40286
  },
40169
40287
  "searchIndex": {
40170
- "fullText": "supabase # supabase node\n\nuse the supabase node to automate work in supabase, and integrate supabase with other applications. n8n has built-in support for a wide range of supabase features, including creating, deleting, and getting rows.\n\non this page, you'll find a list of operations the supabase node supports and links to more resources.\n\ncredentials\n\nrefer to [supabase credentials](../../credentials/supabase/) for guidance on setting up authentication.\n\nthis node can be used as an ai tool\n\nthis node can be used to enhance the capabilities of an ai agent. when used in this way, many parameters can be set automatically, or with information directed by ai - find out more in the [ai tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\n## operations\n\n- row\n - create a new row\n - delete a row\n - get a row\n - get all rows\n - update a row\n\n## using custom schemas\n\nby default, the supabase node only fetches the `public` schema. to fetch [custom schemas](https://supabase.com/docs/guides/api/using-custom-schemas), enable **use custom schema**.\n\nin the new **schema** field, provide the custom schema the supabase node should use.\n\n## templates and examples\n\n**ai agent to chat with files in supabase storage**\n\nby mark shcherbakov\n\n[view template details](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/)\n\n**autonomous ai crawler**\n\nby oskar\n\n[view template details](https://n8n.io/workflows/2315-autonomous-ai-crawler/)\n\n**🤖 create a documentation expert bot with rag, gemini, and supabase**\n\nby lucas peyrin\n\n[view template details](https://n8n.io/workflows/5993-create-a-documentation-expert-bot-with-rag-gemini-and-supabase/)\n\n[browse supabase integration templates](https://n8n.io/integrations/supabase/), or [search all templates](https://n8n.io/workflows/)\n\n## what to do if your operation isn't supported\n\nif this node doesn't support the operation you want to do, you can use the [http request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's api.\n\nyou can use the credential you created for this service in the http request node:\n\n1. in the http request node, select **authentication** > **predefined credential type**.\n1. select the service you want to connect to.\n1. select your credential.\n\nrefer to [custom api operations](../../../custom-operations/) for more information.\n\n## common issues\n\nfor common errors or issues and suggested resolution steps, refer to [common issues](common-issues/).\n supabase node",
40288
+ "fullText": "supabase # supabase node\n\nuse the supabase node to automate work in supabase, and integrate supabase with other applications. n8n has built-in support for a wide range of supabase features, including creating, deleting, and getting rows.\n\non this page, you'll find a list of operations the supabase node supports and links to more resources.\n\ncredentials\n\nrefer to [supabase credentials](../../credentials/supabase/) for guidance on setting up authentication.\n\nthis node can be used as an ai tool\n\nthis node can be used to enhance the capabilities of an ai agent. when used in this way, many parameters can be set automatically, or with information directed by ai - find out more in the [ai tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\n## operations\n\n- row\n - create a new row\n - delete a row\n - get a row\n - get all rows\n - update a row\n\n## using custom schemas\n\nby default, the supabase node only fetches the `public` schema. to fetch [custom schemas](https://supabase.com/docs/guides/api/using-custom-schemas), enable **use custom schema**.\n\nin the new **schema** field, provide the custom schema the supabase node should use.\n\n## templates and examples\n\n**ai agent to chat with files in supabase storage**\n\nby mark shcherbakov\n\n[view template details](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/)\n\n**autonomous ai crawler**\n\nby oskar\n\n[view template details](https://n8n.io/workflows/2315-autonomous-ai-crawler/)\n\n**automate sales cold calling pipeline with apify, gpt-4o, and whatsapp**\n\nby khairul muhtadin\n\n[view template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n[browse supabase integration templates](https://n8n.io/integrations/supabase/), or [search all templates](https://n8n.io/workflows/)\n\n## what to do if your operation isn't supported\n\nif this node doesn't support the operation you want to do, you can use the [http request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's api.\n\nyou can use the credential you created for this service in the http request node:\n\n1. in the http request node, select **authentication** > **predefined credential type**.\n1. select the service you want to connect to.\n1. select your credential.\n\nrefer to [custom api operations](../../../custom-operations/) for more information.\n\n## common issues\n\nfor common errors or issues and suggested resolution steps, refer to [common issues](common-issues/).\n supabase node",
40171
40289
  "importantTerms": [
40172
40290
  "supabase",
40173
40291
  "node",
@@ -40180,14 +40298,13 @@
40180
40298
  "workflows",
40181
40299
  "common",
40182
40300
  "issues",
40301
+ "automate",
40183
40302
  "more",
40184
40303
  "credentials",
40185
40304
  "refer",
40186
40305
  "used",
40187
40306
  "agent",
40188
- "documentation",
40189
40307
  "using",
40190
- "create",
40191
40308
  "schemas",
40192
40309
  "templates",
40193
40310
  "view",
@@ -43582,7 +43699,7 @@
43582
43699
  "nodeName": null,
43583
43700
  "nodeType": null,
43584
43701
  "content": {
43585
- "markdown": "# Supabase Vector Store node\n\nUse the Supabase Vector Store to interact with your Supabase database as vector store. You can insert documents into a vector database, get many documents from a vector database, and retrieve documents to provide them to a retriever connected to a chain.\n\nUse the Supabase Vector Store to interact with your Supabase database as [vector store](../../../../../glossary/#ai-vector-store). You can insert documents into a vector database, get documents from a vector database, retrieve documents to provide them to a retriever connected to a [chain](../../../../../glossary/#ai-chain), or connect it directly to an [agent](../../../../../glossary/#ai-agent) to use as a [tool](../../../../../glossary/#ai-tool). You can also update an item in a vector store by its ID.\n\nOn this page, you'll find the node parameters for the Supabase node, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/supabase/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\nSupabase provides a [quickstart for setting up your vector store](https://supabase.com/docs/guides/ai/langchain?database-method=sql). If you use settings other than the defaults in the quickstart, this may affect parameter settings in n8n. Make sure you understand what you're doing.\n\n## Node usage patterns\n\nYou can use the Supabase Vector Store node in the following patterns.\n\n### Use as a regular node to insert, update, and retrieve documents\n\nYou can use the Supabase Vector Store as a regular node to insert, update, or get documents. This pattern places the Supabase Vector Store in the regular connection flow without using an agent.\n\nYou can see an example of this in scenario 1 of [this template](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/).\n\n### Connect directly to an AI agent as a tool\n\nYou can connect the Supabase Vector Store node directly to the tool connector of an [AI agent](../n8n-nodes-langchain.agent/) to use a vector store as a resource when answering queries.\n\nHere, the connection would be: AI agent (tools connector) -> Supabase Vector Store node.\n\n### Use a retriever to fetch documents\n\nYou can use the [Vector Store Retriever](../../sub-nodes/n8n-nodes-langchain.retrievervectorstore/) node with the Supabase Vector Store node to fetch documents from the Supabase Vector Store node. This is often used with the [Question and Answer Chain](../n8n-nodes-langchain.chainretrievalqa/) node to fetch documents from the vector store that match the given chat input.\n\nAn [example of the connection flow](https://n8n.io/workflows/1960-ask-questions-about-a-pdf-using-ai/) (the example uses Pinecone, but the pattern in the same) would be: Question and Answer Chain (Retriever connector) -> Vector Store Retriever (Vector Store connector) -> Supabase Vector Store.\n\n### Use the Vector Store Question Answer Tool to answer questions\n\nAnother pattern uses the [Vector Store Question Answer Tool](../../sub-nodes/n8n-nodes-langchain.toolvectorstore/) to summarize results and answer questions from the Supabase Vector Store node. Rather than connecting the Supabase Vector Store directly as a tool, this pattern uses a tool specifically designed to summarizes data in the vector store.\n\nThe [connections flow](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/) in this case would look like this: AI agent (tools connector) -> Vector Store Question Answer Tool (Vector Store connector) -> Supabase Vector store.\n\n## Node parameters\n\n### Operation Mode\n\nThis Vector Store node has five modes: **Get Many**, **Insert Documents**, **Retrieve Documents (As Vector Store for Chain/Tool)**, **Retrieve Documents (As Tool for AI Agent)**, and **Update Documents**. The mode you select determines the operations you can perform with the node and what inputs and outputs are available.\n\n#### Get Many\n\nIn this mode, you can retrieve multiple documents from your vector database by providing a prompt. The prompt will be embedded and used for similarity search. The node will return the documents that are most similar to the prompt with their similarity score. This is useful if you want to retrieve a list of similar documents and pass them to an agent as additional context.\n\n#### Insert Documents\n\nUse Insert Documents mode to insert new documents into your vector database.\n\n#### Retrieve Documents (As Vector Store for Chain/Tool)\n\nUse Retrieve Documents (As Vector Store for Chain/Tool) mode with a vector-store retriever to retrieve documents from a vector database and provide them to the retriever connected to a chain. In this mode you must connect the node to a retriever node or root node.\n\n#### Retrieve Documents (As Tool for AI Agent)\n\nUse Retrieve Documents (As Tool for AI Agent) mode to use the vector store as a tool resource when answering queries. When formulating responses, the agent uses the vector store when the vector store name and description match the question details.\n\n#### Update Documents\n\nUse Update Documents mode to update documents in a vector database by ID. Fill in the **ID** with the ID of the embedding entry to update.\n\n### Rerank Results\n\nEnables [reranking](../../../../../glossary/#ai-reranking). If you enable this option, you must connect a reranking node to the vector store. That node will then rerank the results for queries. You can use this option with the `Get Many`, `Retrieve Documents (As Vector Store for Chain/Tool)` and `Retrieve Documents (As Tool for AI Agent)` modes.\n\n### Get Many parameters\n\n- **Table Name**: Enter the Supabase table to use.\n- **Prompt**: Enter the search query.\n- **Limit**: Enter how many results to retrieve from the vector store. For example, set this to `10` to get the ten best results.\n\n### Insert Documents parameters\n\n- **Table Name**: Enter the Supabase table to use.\n\n### Retrieve Documents (As Vector Store for Chain/Tool) parameters\n\n- **Table Name**: Enter the Supabase table to use.\n\n### Retrieve Documents (As Tool for AI Agent) parameters\n\n- **Name**: The name of the vector store.\n- **Description**: Explain to the LLM what this tool does. A good, specific description allows LLMs to produce expected results more often.\n- **Table Name**: Enter the Supabase table to use.\n- **Limit**: Enter how many results to retrieve from the vector store. For example, set this to `10` to get the ten best results.\n\n### Update Documents\n\n- **Table Name**: Enter the Supabase table to use.\n- **ID**: The ID of an embedding entry.\n\nParameters for **Update Documents**\n\n- ID\n\n## Node options\n\n### Query Name\n\nThe name of the matching function you set up in Supabase. If you follow the [Supabase quickstart](https://supabase.com/docs/guides/ai/langchain?database-method=sql), this will be `match_documents`.\n\n### Metadata Filter\n\nAvailable in **Get Many** mode. When searching for data, use this to match with metadata associated with the document.\n\nThis is an `AND` query. If you specify more than one metadata filter field, all of them must match.\n\nWhen inserting data, the metadata is set using the document loader. Refer to [Default Data Loader](../../sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/) for more information on loading documents.\n\n## Templates and examples\n\n**AI Agent To Chat With Files In Supabase Storage**\n\nby Mark Shcherbakov\n\n[View template details](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/)\n\n**🤖 Create a Documentation Expert Bot with RAG, Gemini, and Supabase**\n\nby Lucas Peyrin\n\n[View template details](https://n8n.io/workflows/5993-create-a-documentation-expert-bot-with-rag-gemini-and-supabase/)\n\n**Supabase Insertion & Upsertion & Retrieval**\n\nby Ria\n\n[View template details](https://n8n.io/workflows/2395-supabase-insertion-and-upsertion-and-retrieval/)\n\n[Browse Supabase Vector Store integration templates](https://n8n.io/integrations/supabase-vector-store/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChain's Supabase documentation](https://js.langchain.com/docs/integrations/vectorstores/supabase/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
43702
+ "markdown": "# Supabase Vector Store node\n\nUse the Supabase Vector Store to interact with your Supabase database as vector store. You can insert documents into a vector database, get many documents from a vector database, and retrieve documents to provide them to a retriever connected to a chain.\n\nUse the Supabase Vector Store to interact with your Supabase database as [vector store](../../../../../glossary/#ai-vector-store). You can insert documents into a vector database, get documents from a vector database, retrieve documents to provide them to a retriever connected to a [chain](../../../../../glossary/#ai-chain), or connect it directly to an [agent](../../../../../glossary/#ai-agent) to use as a [tool](../../../../../glossary/#ai-tool). You can also update an item in a vector store by its ID.\n\nOn this page, you'll find the node parameters for the Supabase node, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/supabase/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\nSupabase provides a [quickstart for setting up your vector store](https://supabase.com/docs/guides/ai/langchain?database-method=sql). If you use settings other than the defaults in the quickstart, this may affect parameter settings in n8n. Make sure you understand what you're doing.\n\n## Node usage patterns\n\nYou can use the Supabase Vector Store node in the following patterns.\n\n### Use as a regular node to insert, update, and retrieve documents\n\nYou can use the Supabase Vector Store as a regular node to insert, update, or get documents. This pattern places the Supabase Vector Store in the regular connection flow without using an agent.\n\nYou can see an example of this in scenario 1 of [this template](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/).\n\n### Connect directly to an AI agent as a tool\n\nYou can connect the Supabase Vector Store node directly to the tool connector of an [AI agent](../n8n-nodes-langchain.agent/) to use a vector store as a resource when answering queries.\n\nHere, the connection would be: AI agent (tools connector) -> Supabase Vector Store node.\n\n### Use a retriever to fetch documents\n\nYou can use the [Vector Store Retriever](../../sub-nodes/n8n-nodes-langchain.retrievervectorstore/) node with the Supabase Vector Store node to fetch documents from the Supabase Vector Store node. This is often used with the [Question and Answer Chain](../n8n-nodes-langchain.chainretrievalqa/) node to fetch documents from the vector store that match the given chat input.\n\nAn [example of the connection flow](https://n8n.io/workflows/1960-ask-questions-about-a-pdf-using-ai/) (the example uses Pinecone, but the pattern in the same) would be: Question and Answer Chain (Retriever connector) -> Vector Store Retriever (Vector Store connector) -> Supabase Vector Store.\n\n### Use the Vector Store Question Answer Tool to answer questions\n\nAnother pattern uses the [Vector Store Question Answer Tool](../../sub-nodes/n8n-nodes-langchain.toolvectorstore/) to summarize results and answer questions from the Supabase Vector Store node. Rather than connecting the Supabase Vector Store directly as a tool, this pattern uses a tool specifically designed to summarizes data in the vector store.\n\nThe [connections flow](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/) in this case would look like this: AI agent (tools connector) -> Vector Store Question Answer Tool (Vector Store connector) -> Supabase Vector store.\n\n## Node parameters\n\n### Operation Mode\n\nThis Vector Store node has five modes: **Get Many**, **Insert Documents**, **Retrieve Documents (As Vector Store for Chain/Tool)**, **Retrieve Documents (As Tool for AI Agent)**, and **Update Documents**. The mode you select determines the operations you can perform with the node and what inputs and outputs are available.\n\n#### Get Many\n\nIn this mode, you can retrieve multiple documents from your vector database by providing a prompt. The prompt will be embedded and used for similarity search. The node will return the documents that are most similar to the prompt with their similarity score. This is useful if you want to retrieve a list of similar documents and pass them to an agent as additional context.\n\n#### Insert Documents\n\nUse Insert Documents mode to insert new documents into your vector database.\n\n#### Retrieve Documents (As Vector Store for Chain/Tool)\n\nUse Retrieve Documents (As Vector Store for Chain/Tool) mode with a vector-store retriever to retrieve documents from a vector database and provide them to the retriever connected to a chain. In this mode you must connect the node to a retriever node or root node.\n\n#### Retrieve Documents (As Tool for AI Agent)\n\nUse Retrieve Documents (As Tool for AI Agent) mode to use the vector store as a tool resource when answering queries. When formulating responses, the agent uses the vector store when the vector store name and description match the question details.\n\n#### Update Documents\n\nUse Update Documents mode to update documents in a vector database by ID. Fill in the **ID** with the ID of the embedding entry to update.\n\n### Rerank Results\n\nEnables [reranking](../../../../../glossary/#ai-reranking). If you enable this option, you must connect a reranking node to the vector store. That node will then rerank the results for queries. You can use this option with the `Get Many`, `Retrieve Documents (As Vector Store for Chain/Tool)` and `Retrieve Documents (As Tool for AI Agent)` modes.\n\n### Get Many parameters\n\n- **Table Name**: Enter the Supabase table to use.\n- **Prompt**: Enter the search query.\n- **Limit**: Enter how many results to retrieve from the vector store. For example, set this to `10` to get the ten best results.\n\n### Insert Documents parameters\n\n- **Table Name**: Enter the Supabase table to use.\n\n### Retrieve Documents (As Vector Store for Chain/Tool) parameters\n\n- **Table Name**: Enter the Supabase table to use.\n\n### Retrieve Documents (As Tool for AI Agent) parameters\n\n- **Name**: The name of the vector store.\n- **Description**: Explain to the LLM what this tool does. A good, specific description allows LLMs to produce expected results more often.\n- **Table Name**: Enter the Supabase table to use.\n- **Limit**: Enter how many results to retrieve from the vector store. For example, set this to `10` to get the ten best results.\n\n### Update Documents\n\n- **Table Name**: Enter the Supabase table to use.\n- **ID**: The ID of an embedding entry.\n\nParameters for **Update Documents**\n\n- ID\n\n## Node options\n\n### Query Name\n\nThe name of the matching function you set up in Supabase. If you follow the [Supabase quickstart](https://supabase.com/docs/guides/ai/langchain?database-method=sql), this will be `match_documents`.\n\n### Metadata Filter\n\nAvailable in **Get Many** mode. When searching for data, use this to match with metadata associated with the document.\n\nThis is an `AND` query. If you specify more than one metadata filter field, all of them must match.\n\nWhen inserting data, the metadata is set using the document loader. Refer to [Default Data Loader](../../sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/) for more information on loading documents.\n\n## Templates and examples\n\n**AI Agent To Chat With Files In Supabase Storage**\n\nby Mark Shcherbakov\n\n[View template details](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/)\n\n**Automate sales cold calling pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**🤖 Create a Documentation Expert Bot with RAG, Gemini, and Supabase**\n\nby Lucas Peyrin\n\n[View template details](https://n8n.io/workflows/5993-create-a-documentation-expert-bot-with-rag-gemini-and-supabase/)\n\n[Browse Supabase Vector Store integration templates](https://n8n.io/integrations/supabase-vector-store/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChain's Supabase documentation](https://js.langchain.com/docs/integrations/vectorstores/supabase/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
43586
43703
  "excerpt": "# Supabase Vector Store node Use the Supabase Vector Store to interact with your Supabase database as vector store. You can insert documents into a vector database, get many documents from a vector database, and retrieve documents to provide them to a retriever connected to a chain. Use the Supabase Vector Store to interact with your Supabase database as [vector store](../../../../../glossary/#ai-vector-store). You can insert documents into a vector database, get documents from a vector databa...",
43587
43704
  "sections": [
43588
43705
  {
@@ -43641,11 +43758,11 @@
43641
43758
  "codeExamples": 0,
43642
43759
  "complexity": "intermediate",
43643
43760
  "readingTime": "7 min",
43644
- "contentLength": 8860,
43761
+ "contentLength": 8921,
43645
43762
  "relatedPages": []
43646
43763
  },
43647
43764
  "searchIndex": {
43648
- "fullText": "supabase vector store # supabase vector store node\n\nuse the supabase vector store to interact with your supabase database as vector store. you can insert documents into a vector database, get many documents from a vector database, and retrieve documents to provide them to a retriever connected to a chain.\n\nuse the supabase vector store to interact with your supabase database as [vector store](../../../../../glossary/#ai-vector-store). you can insert documents into a vector database, get documents from a vector database, retrieve documents to provide them to a retriever connected to a [chain](../../../../../glossary/#ai-chain), or connect it directly to an [agent](../../../../../glossary/#ai-agent) to use as a [tool](../../../../../glossary/#ai-tool). you can also update an item in a vector store by its id.\n\non this page, you'll find the node parameters for the supabase node, and links to more resources.\n\ncredentials\n\nyou can find authentication information for this node [here](../../../credentials/supabase/).\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\nsupabase provides a [quickstart for setting up your vector store](https://supabase.com/docs/guides/ai/langchain?database-method=sql). if you use settings other than the defaults in the quickstart, this may affect parameter settings in n8n. make sure you understand what you're doing.\n\n## node usage patterns\n\nyou can use the supabase vector store node in the following patterns.\n\n### use as a regular node to insert, update, and retrieve documents\n\nyou can use the supabase vector store as a regular node to insert, update, or get documents. this pattern places the supabase vector store in the regular connection flow without using an agent.\n\nyou can see an example of this in scenario 1 of [this template](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/).\n\n### connect directly to an ai agent as a tool\n\nyou can connect the supabase vector store node directly to the tool connector of an [ai agent](../n8n-nodes-langchain.agent/) to use a vector store as a resource when answering queries.\n\nhere, the connection would be: ai agent (tools connector) -> supabase vector store node.\n\n### use a retriever to fetch documents\n\nyou can use the [vector store retriever](../../sub-nodes/n8n-nodes-langchain.retrievervectorstore/) node with the supabase vector store node to fetch documents from the supabase vector store node. this is often used with the [question and answer chain](../n8n-nodes-langchain.chainretrievalqa/) node to fetch documents from the vector store that match the given chat input.\n\nan [example of the connection flow](https://n8n.io/workflows/1960-ask-questions-about-a-pdf-using-ai/) (the example uses pinecone, but the pattern in the same) would be: question and answer chain (retriever connector) -> vector store retriever (vector store connector) -> supabase vector store.\n\n### use the vector store question answer tool to answer questions\n\nanother pattern uses the [vector store question answer tool](../../sub-nodes/n8n-nodes-langchain.toolvectorstore/) to summarize results and answer questions from the supabase vector store node. rather than connecting the supabase vector store directly as a tool, this pattern uses a tool specifically designed to summarizes data in the vector store.\n\nthe [connections flow](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/) in this case would look like this: ai agent (tools connector) -> vector store question answer tool (vector store connector) -> supabase vector store.\n\n## node parameters\n\n### operation mode\n\nthis vector store node has five modes: **get many**, **insert documents**, **retrieve documents (as vector store for chain/tool)**, **retrieve documents (as tool for ai agent)**, and **update documents**. the mode you select determines the operations you can perform with the node and what inputs and outputs are available.\n\n#### get many\n\nin this mode, you can retrieve multiple documents from your vector database by providing a prompt. the prompt will be embedded and used for similarity search. the node will return the documents that are most similar to the prompt with their similarity score. this is useful if you want to retrieve a list of similar documents and pass them to an agent as additional context.\n\n#### insert documents\n\nuse insert documents mode to insert new documents into your vector database.\n\n#### retrieve documents (as vector store for chain/tool)\n\nuse retrieve documents (as vector store for chain/tool) mode with a vector-store retriever to retrieve documents from a vector database and provide them to the retriever connected to a chain. in this mode you must connect the node to a retriever node or root node.\n\n#### retrieve documents (as tool for ai agent)\n\nuse retrieve documents (as tool for ai agent) mode to use the vector store as a tool resource when answering queries. when formulating responses, the agent uses the vector store when the vector store name and description match the question details.\n\n#### update documents\n\nuse update documents mode to update documents in a vector database by id. fill in the **id** with the id of the embedding entry to update.\n\n### rerank results\n\nenables [reranking](../../../../../glossary/#ai-reranking). if you enable this option, you must connect a reranking node to the vector store. that node will then rerank the results for queries. you can use this option with the `get many`, `retrieve documents (as vector store for chain/tool)` and `retrieve documents (as tool for ai agent)` modes.\n\n### get many parameters\n\n- **table name**: enter the supabase table to use.\n- **prompt**: enter the search query.\n- **limit**: enter how many results to retrieve from the vector store. for example, set this to `10` to get the ten best results.\n\n### insert documents parameters\n\n- **table name**: enter the supabase table to use.\n\n### retrieve documents (as vector store for chain/tool) parameters\n\n- **table name**: enter the supabase table to use.\n\n### retrieve documents (as tool for ai agent) parameters\n\n- **name**: the name of the vector store.\n- **description**: explain to the llm what this tool does. a good, specific description allows llms to produce expected results more often.\n- **table name**: enter the supabase table to use.\n- **limit**: enter how many results to retrieve from the vector store. for example, set this to `10` to get the ten best results.\n\n### update documents\n\n- **table name**: enter the supabase table to use.\n- **id**: the id of an embedding entry.\n\nparameters for **update documents**\n\n- id\n\n## node options\n\n### query name\n\nthe name of the matching function you set up in supabase. if you follow the [supabase quickstart](https://supabase.com/docs/guides/ai/langchain?database-method=sql), this will be `match_documents`.\n\n### metadata filter\n\navailable in **get many** mode. when searching for data, use this to match with metadata associated with the document.\n\nthis is an `and` query. if you specify more than one metadata filter field, all of them must match.\n\nwhen inserting data, the metadata is set using the document loader. refer to [default data loader](../../sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/) for more information on loading documents.\n\n## templates and examples\n\n**ai agent to chat with files in supabase storage**\n\nby mark shcherbakov\n\n[view template details](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/)\n\n**🤖 create a documentation expert bot with rag, gemini, and supabase**\n\nby lucas peyrin\n\n[view template details](https://n8n.io/workflows/5993-create-a-documentation-expert-bot-with-rag-gemini-and-supabase/)\n\n**supabase insertion & upsertion & retrieval**\n\nby ria\n\n[view template details](https://n8n.io/workflows/2395-supabase-insertion-and-upsertion-and-retrieval/)\n\n[browse supabase vector store integration templates](https://n8n.io/integrations/supabase-vector-store/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchain's supabase documentation](https://js.langchain.com/docs/integrations/vectorstores/supabase/) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n supabase vector store node",
43765
+ "fullText": "supabase vector store # supabase vector store node\n\nuse the supabase vector store to interact with your supabase database as vector store. you can insert documents into a vector database, get many documents from a vector database, and retrieve documents to provide them to a retriever connected to a chain.\n\nuse the supabase vector store to interact with your supabase database as [vector store](../../../../../glossary/#ai-vector-store). you can insert documents into a vector database, get documents from a vector database, retrieve documents to provide them to a retriever connected to a [chain](../../../../../glossary/#ai-chain), or connect it directly to an [agent](../../../../../glossary/#ai-agent) to use as a [tool](../../../../../glossary/#ai-tool). you can also update an item in a vector store by its id.\n\non this page, you'll find the node parameters for the supabase node, and links to more resources.\n\ncredentials\n\nyou can find authentication information for this node [here](../../../credentials/supabase/).\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\nsupabase provides a [quickstart for setting up your vector store](https://supabase.com/docs/guides/ai/langchain?database-method=sql). if you use settings other than the defaults in the quickstart, this may affect parameter settings in n8n. make sure you understand what you're doing.\n\n## node usage patterns\n\nyou can use the supabase vector store node in the following patterns.\n\n### use as a regular node to insert, update, and retrieve documents\n\nyou can use the supabase vector store as a regular node to insert, update, or get documents. this pattern places the supabase vector store in the regular connection flow without using an agent.\n\nyou can see an example of this in scenario 1 of [this template](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/).\n\n### connect directly to an ai agent as a tool\n\nyou can connect the supabase vector store node directly to the tool connector of an [ai agent](../n8n-nodes-langchain.agent/) to use a vector store as a resource when answering queries.\n\nhere, the connection would be: ai agent (tools connector) -> supabase vector store node.\n\n### use a retriever to fetch documents\n\nyou can use the [vector store retriever](../../sub-nodes/n8n-nodes-langchain.retrievervectorstore/) node with the supabase vector store node to fetch documents from the supabase vector store node. this is often used with the [question and answer chain](../n8n-nodes-langchain.chainretrievalqa/) node to fetch documents from the vector store that match the given chat input.\n\nan [example of the connection flow](https://n8n.io/workflows/1960-ask-questions-about-a-pdf-using-ai/) (the example uses pinecone, but the pattern in the same) would be: question and answer chain (retriever connector) -> vector store retriever (vector store connector) -> supabase vector store.\n\n### use the vector store question answer tool to answer questions\n\nanother pattern uses the [vector store question answer tool](../../sub-nodes/n8n-nodes-langchain.toolvectorstore/) to summarize results and answer questions from the supabase vector store node. rather than connecting the supabase vector store directly as a tool, this pattern uses a tool specifically designed to summarizes data in the vector store.\n\nthe [connections flow](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/) in this case would look like this: ai agent (tools connector) -> vector store question answer tool (vector store connector) -> supabase vector store.\n\n## node parameters\n\n### operation mode\n\nthis vector store node has five modes: **get many**, **insert documents**, **retrieve documents (as vector store for chain/tool)**, **retrieve documents (as tool for ai agent)**, and **update documents**. the mode you select determines the operations you can perform with the node and what inputs and outputs are available.\n\n#### get many\n\nin this mode, you can retrieve multiple documents from your vector database by providing a prompt. the prompt will be embedded and used for similarity search. the node will return the documents that are most similar to the prompt with their similarity score. this is useful if you want to retrieve a list of similar documents and pass them to an agent as additional context.\n\n#### insert documents\n\nuse insert documents mode to insert new documents into your vector database.\n\n#### retrieve documents (as vector store for chain/tool)\n\nuse retrieve documents (as vector store for chain/tool) mode with a vector-store retriever to retrieve documents from a vector database and provide them to the retriever connected to a chain. in this mode you must connect the node to a retriever node or root node.\n\n#### retrieve documents (as tool for ai agent)\n\nuse retrieve documents (as tool for ai agent) mode to use the vector store as a tool resource when answering queries. when formulating responses, the agent uses the vector store when the vector store name and description match the question details.\n\n#### update documents\n\nuse update documents mode to update documents in a vector database by id. fill in the **id** with the id of the embedding entry to update.\n\n### rerank results\n\nenables [reranking](../../../../../glossary/#ai-reranking). if you enable this option, you must connect a reranking node to the vector store. that node will then rerank the results for queries. you can use this option with the `get many`, `retrieve documents (as vector store for chain/tool)` and `retrieve documents (as tool for ai agent)` modes.\n\n### get many parameters\n\n- **table name**: enter the supabase table to use.\n- **prompt**: enter the search query.\n- **limit**: enter how many results to retrieve from the vector store. for example, set this to `10` to get the ten best results.\n\n### insert documents parameters\n\n- **table name**: enter the supabase table to use.\n\n### retrieve documents (as vector store for chain/tool) parameters\n\n- **table name**: enter the supabase table to use.\n\n### retrieve documents (as tool for ai agent) parameters\n\n- **name**: the name of the vector store.\n- **description**: explain to the llm what this tool does. a good, specific description allows llms to produce expected results more often.\n- **table name**: enter the supabase table to use.\n- **limit**: enter how many results to retrieve from the vector store. for example, set this to `10` to get the ten best results.\n\n### update documents\n\n- **table name**: enter the supabase table to use.\n- **id**: the id of an embedding entry.\n\nparameters for **update documents**\n\n- id\n\n## node options\n\n### query name\n\nthe name of the matching function you set up in supabase. if you follow the [supabase quickstart](https://supabase.com/docs/guides/ai/langchain?database-method=sql), this will be `match_documents`.\n\n### metadata filter\n\navailable in **get many** mode. when searching for data, use this to match with metadata associated with the document.\n\nthis is an `and` query. if you specify more than one metadata filter field, all of them must match.\n\nwhen inserting data, the metadata is set using the document loader. refer to [default data loader](../../sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/) for more information on loading documents.\n\n## templates and examples\n\n**ai agent to chat with files in supabase storage**\n\nby mark shcherbakov\n\n[view template details](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/)\n\n**automate sales cold calling pipeline with apify, gpt-4o, and whatsapp**\n\nby khairul muhtadin\n\n[view template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**🤖 create a documentation expert bot with rag, gemini, and supabase**\n\nby lucas peyrin\n\n[view template details](https://n8n.io/workflows/5993-create-a-documentation-expert-bot-with-rag-gemini-and-supabase/)\n\n[browse supabase vector store integration templates](https://n8n.io/integrations/supabase-vector-store/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchain's supabase documentation](https://js.langchain.com/docs/integrations/vectorstores/supabase/) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n supabase vector store node",
43649
43766
  "importantTerms": [
43650
43767
  "vector",
43651
43768
  "store",
@@ -43654,9 +43771,9 @@
43654
43771
  "node",
43655
43772
  "this",
43656
43773
  "tool",
43774
+ "with",
43657
43775
  "agent",
43658
43776
  "retrieve",
43659
- "with",
43660
43777
  "name",
43661
43778
  "nodes",
43662
43779
  "database",
@@ -45272,7 +45389,7 @@
45272
45389
  "nodeName": null,
45273
45390
  "nodeType": null,
45274
45391
  "content": {
45275
- "markdown": "# Embeddings Cohere node\n\nUse the Embeddings Cohere node to generate [embeddings](../../../../../glossary/#ai-embedding) for a given text.\n\nOn this page, you'll find the node parameters for the Embeddings Cohere node, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/cohere/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n- **Model**: Select the model to use to generate the embedding. Choose from:\n - **Embed-English-v2.0(4096 Dimensions)**\n - **Embed-English-Light-v2.0(1024 Dimensions)**\n - **Embed-Multilingual-v2.0(768 Dimensions)**\n\nLearn more about available models in [Cohere's models documentation](https://docs.cohere.com/docs/models).\n\n## Templates and examples\n\n**Automate Sales Cold Calling Pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG**\n\nby Ezema Kingsley Chibuzo\n\n[View template details](https://n8n.io/workflows/5589-create-a-multi-modal-telegram-support-bot-with-gpt-4-and-supabase-rag/)\n\n**Build a Document QA System with RAG using Milvus, Cohere, and OpenAI for Google Drive**\n\nby Aitor | 1Node\n\n[View template details](https://n8n.io/workflows/3848-build-a-document-qa-system-with-rag-using-milvus-cohere-and-openai-for-google-drive/)\n\n[Browse Embeddings Cohere integration templates](https://n8n.io/integrations/embeddings-cohere/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [Langchain's Cohere embeddings documentation](https://js.langchain.com/docs/integrations/text_embedding/cohere/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
45392
+ "markdown": "# Embeddings Cohere node\n\nUse the Embeddings Cohere node to generate [embeddings](../../../../../glossary/#ai-embedding) for a given text.\n\nOn this page, you'll find the node parameters for the Embeddings Cohere node, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/cohere/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n- **Model**: Select the model to use to generate the embedding. Choose from:\n - **Embed-English-v2.0(4096 Dimensions)**\n - **Embed-English-Light-v2.0(1024 Dimensions)**\n - **Embed-Multilingual-v2.0(768 Dimensions)**\n\nLearn more about available models in [Cohere's models documentation](https://docs.cohere.com/docs/models).\n\n## Templates and examples\n\n**Automate sales cold calling pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG**\n\nby Ezema Kingsley Chibuzo\n\n[View template details](https://n8n.io/workflows/5589-create-a-multi-modal-telegram-support-bot-with-gpt-4-and-supabase-rag/)\n\n**Build a Document QA System with RAG using Milvus, Cohere, and OpenAI for Google Drive**\n\nby Aitor | 1Node\n\n[View template details](https://n8n.io/workflows/3848-build-a-document-qa-system-with-rag-using-milvus-cohere-and-openai-for-google-drive/)\n\n[Browse Embeddings Cohere integration templates](https://n8n.io/integrations/embeddings-cohere/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [Langchain's Cohere embeddings documentation](https://js.langchain.com/docs/integrations/text_embedding/cohere/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
45276
45393
  "excerpt": "# Embeddings Cohere node Use the Embeddings Cohere node to generate [embeddings](../../../../../glossary/#ai-embedding) for a given text. On this page, you'll find the node parameters for the Embeddings Cohere node, and links to more resources. Credentials You can find authentication information for this node [here](../../../credentials/cohere/). Parameter resolution in sub-nodes Sub-nodes behave differently to other nodes when processing multiple items using an expression. Most nodes, in...",
45277
45394
  "sections": [
45278
45395
  {
@@ -46125,7 +46242,7 @@
46125
46242
  "nodeName": null,
46126
46243
  "nodeType": null,
46127
46244
  "content": {
46128
- "markdown": "# Cohere Chat Model node\n\nUse the Cohere Chat Model node to access Cohere's large language models for conversational AI and text generation tasks.\n\nOn this page, you'll find the node parameters for the Cohere Chat Model node, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/cohere/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n- **Model**: Select the model which will generate the completion. n8n dynamically loads available models from the Cohere API. Learn more in the [Cohere model documentation](https://docs.cohere.com/v2/docs/models#command).\n\n## Node options\n\n- **Sampling Temperature**: Use this option to control the randomness of the sampling process. A higher temperature creates more diverse sampling, but increases the risk of hallucinations.\n- **Max Retries**: Enter the maximum number of times to retry a request.\n\n## Templates and examples\n\n**Automate Sales Cold Calling Pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG**\n\nby Ezema Kingsley Chibuzo\n\n[View template details](https://n8n.io/workflows/5589-create-a-multi-modal-telegram-support-bot-with-gpt-4-and-supabase-rag/)\n\n**Build a Document QA System with RAG using Milvus, Cohere, and OpenAI for Google Drive**\n\nby Aitor | 1Node\n\n[View template details](https://n8n.io/workflows/3848-build-a-document-qa-system-with-rag-using-milvus-cohere-and-openai-for-google-drive/)\n\n[Browse Cohere Chat Model integration templates](https://n8n.io/integrations/cohere-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [Cohere's API documentation](https://docs.cohere.com/v2/reference/about) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
46245
+ "markdown": "# Cohere Chat Model node\n\nUse the Cohere Chat Model node to access Cohere's large language models for conversational AI and text generation tasks.\n\nOn this page, you'll find the node parameters for the Cohere Chat Model node, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/cohere/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n- **Model**: Select the model which will generate the completion. n8n dynamically loads available models from the Cohere API. Learn more in the [Cohere model documentation](https://docs.cohere.com/v2/docs/models#command).\n\n## Node options\n\n- **Sampling Temperature**: Use this option to control the randomness of the sampling process. A higher temperature creates more diverse sampling, but increases the risk of hallucinations.\n- **Max Retries**: Enter the maximum number of times to retry a request.\n\n## Templates and examples\n\n**Automate sales cold calling pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG**\n\nby Ezema Kingsley Chibuzo\n\n[View template details](https://n8n.io/workflows/5589-create-a-multi-modal-telegram-support-bot-with-gpt-4-and-supabase-rag/)\n\n**Build a Document QA System with RAG using Milvus, Cohere, and OpenAI for Google Drive**\n\nby Aitor | 1Node\n\n[View template details](https://n8n.io/workflows/3848-build-a-document-qa-system-with-rag-using-milvus-cohere-and-openai-for-google-drive/)\n\n[Browse Cohere Chat Model integration templates](https://n8n.io/integrations/cohere-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [Cohere's API documentation](https://docs.cohere.com/v2/reference/about) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
46129
46246
  "excerpt": "# Cohere Chat Model node Use the Cohere Chat Model node to access Cohere's large language models for conversational AI and text generation tasks. On this page, you'll find the node parameters for the Cohere Chat Model node, and links to more resources. Credentials You can find authentication information for this node [here](../../../credentials/cohere/). Parameter resolution in sub-nodes Sub-nodes behave differently to other nodes when processing multiple items using an expression. Most n...",
46130
46247
  "sections": [
46131
46248
  {
@@ -46982,7 +47099,7 @@
46982
47099
  "nodeName": null,
46983
47100
  "nodeType": null,
46984
47101
  "content": {
46985
- "markdown": "# Cohere Model node\n\nUse the Cohere Model node to use Cohere's models.\n\nOn this page, you'll find the node parameters for the Cohere Model node, and links to more resources.\n\nThis node lacks tools support, so it won't work with the [AI Agent](../../root-nodes/n8n-nodes-langchain.agent/) node. Instead, connect it with the [Basic LLM Chain](../../root-nodes/n8n-nodes-langchain.chainllm/) node.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/cohere/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node Options\n\n- **Maximum Number of Tokens**: Enter the maximum number of tokens used, which sets the completion length.\n- **Sampling Temperature**: Use this option to control the randomness of the sampling process. A higher temperature creates more diverse sampling, but increases the risk of hallucinations.\n\n## Templates and examples\n\n**Automate Sales Cold Calling Pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG**\n\nby Ezema Kingsley Chibuzo\n\n[View template details](https://n8n.io/workflows/5589-create-a-multi-modal-telegram-support-bot-with-gpt-4-and-supabase-rag/)\n\n**Build a Document QA System with RAG using Milvus, Cohere, and OpenAI for Google Drive**\n\nby Aitor | 1Node\n\n[View template details](https://n8n.io/workflows/3848-build-a-document-qa-system-with-rag-using-milvus-cohere-and-openai-for-google-drive/)\n\n[Browse Cohere Model integration templates](https://n8n.io/integrations/cohere-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChains's Cohere documentation](https://js.langchain.com/docs/integrations/llms/cohere/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
47102
+ "markdown": "# Cohere Model node\n\nUse the Cohere Model node to use Cohere's models.\n\nOn this page, you'll find the node parameters for the Cohere Model node, and links to more resources.\n\nThis node lacks tools support, so it won't work with the [AI Agent](../../root-nodes/n8n-nodes-langchain.agent/) node. Instead, connect it with the [Basic LLM Chain](../../root-nodes/n8n-nodes-langchain.chainllm/) node.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/cohere/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node Options\n\n- **Maximum Number of Tokens**: Enter the maximum number of tokens used, which sets the completion length.\n- **Sampling Temperature**: Use this option to control the randomness of the sampling process. A higher temperature creates more diverse sampling, but increases the risk of hallucinations.\n\n## Templates and examples\n\n**Automate sales cold calling pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG**\n\nby Ezema Kingsley Chibuzo\n\n[View template details](https://n8n.io/workflows/5589-create-a-multi-modal-telegram-support-bot-with-gpt-4-and-supabase-rag/)\n\n**Build a Document QA System with RAG using Milvus, Cohere, and OpenAI for Google Drive**\n\nby Aitor | 1Node\n\n[View template details](https://n8n.io/workflows/3848-build-a-document-qa-system-with-rag-using-milvus-cohere-and-openai-for-google-drive/)\n\n[Browse Cohere Model integration templates](https://n8n.io/integrations/cohere-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChains's Cohere documentation](https://js.langchain.com/docs/integrations/llms/cohere/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
46986
47103
  "excerpt": "# Cohere Model node Use the Cohere Model node to use Cohere's models. On this page, you'll find the node parameters for the Cohere Model node, and links to more resources. This node lacks tools support, so it won't work with the [AI Agent](../../root-nodes/n8n-nodes-langchain.agent/) node. Instead, connect it with the [Basic LLM Chain](../../root-nodes/n8n-nodes-langchain.chainllm/) node. Credentials You can find authentication information for this node [here](../../../credentials/cohere/)....",
46987
47104
  "sections": [
46988
47105
  {
@@ -47921,7 +48038,7 @@
47921
48038
  "nodeName": null,
47922
48039
  "nodeType": null,
47923
48040
  "content": {
47924
- "markdown": "# Reranker Cohere\n\nThe Reranker Cohere node allows you to [rerank](../../../../../glossary/#ai-reranking) the resulting chunks from a [vector store](../../../../../glossary/#ai-vector-store). You can connect this node to a vector store.\n\nThe reranker reorders the list of documents retrieved from a vector store for a given query in order of descending relevance.\n\nOn this page, you'll find the node parameters for the Reranker Cohere node, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/cohere/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n### Model\n\nChoose the reranking model to use. You can find out more about the available models in [Cohere's model documentation](https://docs.cohere.com/docs/models#rerank).\n\n## Templates and examples\n\n**Automate Sales Cold Calling Pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG**\n\nby Ezema Kingsley Chibuzo\n\n[View template details](https://n8n.io/workflows/5589-create-a-multi-modal-telegram-support-bot-with-gpt-4-and-supabase-rag/)\n\n**Chat with Google Drive documents using OpenAI and Pinecone RAG search**\n\nby Pinecone\n\n[View template details](https://n8n.io/workflows/11870-chat-with-google-drive-documents-using-openai-and-pinecone-rag-search/)\n\n[Browse Reranker Cohere integration templates](https://n8n.io/integrations/reranker-cohere/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
48041
+ "markdown": "# Reranker Cohere\n\nThe Reranker Cohere node allows you to [rerank](../../../../../glossary/#ai-reranking) the resulting chunks from a [vector store](../../../../../glossary/#ai-vector-store). You can connect this node to a vector store.\n\nThe reranker reorders the list of documents retrieved from a vector store for a given query in order of descending relevance.\n\nOn this page, you'll find the node parameters for the Reranker Cohere node, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/cohere/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n### Model\n\nChoose the reranking model to use. You can find out more about the available models in [Cohere's model documentation](https://docs.cohere.com/docs/models#rerank).\n\n## Templates and examples\n\n**Automate sales cold calling pipeline with Apify, GPT-4o, and WhatsApp**\n\nby Khairul Muhtadin\n\n[View template details](https://n8n.io/workflows/5449-automate-sales-cold-calling-pipeline-with-apify-gpt-4o-and-whatsapp/)\n\n**Create a Multi-Modal Telegram Support Bot with GPT-4 and Supabase RAG**\n\nby Ezema Kingsley Chibuzo\n\n[View template details](https://n8n.io/workflows/5589-create-a-multi-modal-telegram-support-bot-with-gpt-4-and-supabase-rag/)\n\n**Chat with Google Drive documents using OpenAI and Pinecone RAG search**\n\nby Pinecone\n\n[View template details](https://n8n.io/workflows/11870-chat-with-google-drive-documents-using-openai-and-pinecone-rag-search/)\n\n[Browse Reranker Cohere integration templates](https://n8n.io/integrations/reranker-cohere/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
47925
48042
  "excerpt": "# Reranker Cohere The Reranker Cohere node allows you to [rerank](../../../../../glossary/#ai-reranking) the resulting chunks from a [vector store](../../../../../glossary/#ai-vector-store). You can connect this node to a vector store. The reranker reorders the list of documents retrieved from a vector store for a given query in order of descending relevance. On this page, you'll find the node parameters for the Reranker Cohere node, and links to more resources. Credentials You can find aut...",
47926
48043
  "sections": [
47927
48044
  {
@@ -55183,13 +55300,13 @@
55183
55300
  "nodeName": null,
55184
55301
  "nodeType": null,
55185
55302
  "content": {
55186
- "markdown": "# Chat node\n\nUse the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents.\n\nAll features work with both embedded and hosted chat interfaces.\n\nChat Trigger node\n\nThe Chat node requires a [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [Response Mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'Using Response Nodes'.\n\nPrevious version\n\nIn previous versions, this node was called \"Respond to Chat\" and used a single \"Wait for User Reply\" toggle. The functionality has been reorganized into two distinct actions with additional response types.\n\n## Node parameters\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\nHuman-in-the-loop for AI tool calls\n\nThis node can be used as a human review step for AI Agent tool calls. When configured this way, the AI Agent will pause and request human approval through this service before executing tools that require oversight. Learn more in [Human-in-the-loop for AI tool calls](../../../../advanced-ai/human-in-the-loop-tools/).\n\nConfigure this node using the following parameters.\n\n### Operation\n\nThe Chat node supports the following operations:\n\n- **Send Message**: Send a message to the chat. The workflow execution continues immediately after sending.\n- **Send and Wait for Response**: Send a message to the chat and wait for a response from the user. This operation pauses the workflow execution until the user submits a response.\n\nChoosing **Send and Wait for Response** activates additional parameters and options as discussed in [waiting for a response](#waiting-for-a-response).\n\n### Message\n\nThe message to send to the chat. This parameter is available for both operations.\n\n## Node options\n\nUse these **Options** to further refine the node's behavior.\n\n### Add Memory Input Connection\n\nChoose whether you want to commit the messages from the Chat node to a connected memory. Using a shared memory between an agent or chain [root node](../../cluster-nodes/root-nodes/) and the Chat node attaches the same session key to these messages and lets you capture the full message history.\n\n## Waiting for a response\n\nBy choosing the **Send and Wait for Response** operation, you can send a message and pause the workflow execution until a person responds. This enables multi-turn conversations and approval workflows within a single execution.\n\n### Response Type\n\nYou can choose between the following types of responses:\n\n- **Free Text**: Users can type any response in the chat. This is the same behavior as the previous \"Wait for User Reply\" option.\n- **Approval**: Users can approve or disapprove using inline buttons in the message. You can also optionally allow users to type custom responses.\n\nDifferent parameters and options are available depending on which type you choose.\n\n### Free Text parameters and options\n\nWhen using the Free Text response type, the user can type any message as their response.\n\n**Use cases:**\n\n- Open-ended questions\n- Collecting detailed feedback\n- Requesting specific information\n\n**Options:** * **Limit Wait Time**: Whether the workflow automatically resumes execution after a specified time limit. This can be an interval or a specific wall time.\n\n### Approval parameters and options\n\nWhen using the Approval response type, the message displays inline buttons that users can click to approve or disapprove. This response type follows the same pattern as other human-in-the-loop (HITL) nodes in n8n.\n\n**Use cases:**\n\n- Simple yes/no decisions\n- Approval workflows\n- Confirmations\n\nWhen using the Approval response type, the following parameters are available:\n\n- **Type of Approval**: Whether to present only an approval button or both approval and disapproval buttons.\n\n - **Approve Only**: Displays a single approval button\n - **Approve and Disapprove**: Displays both buttons (default)\n\n- **Approve Button Label**: The text to display on the approval button. Default: `Approve`\n\n- **Disapprove Button Label**: The text to display on the disapproval button (only shown when Type of Approval is \"Approve and Disapprove\"). Default: `Disapprove`\n\n- **Block User Input**: Whether to prevent users from typing custom messages (enabled) or allow them to type responses (disabled, default).\n\n - When **disabled** (default): Users can click buttons or type a custom message. Typed messages are treated as disapproval with a custom message.\n - When **enabled**: Users can only interact using the buttons.\n\nThe Approval response type also offers the following option:\n\n- **Limit Wait Time**: Whether the workflow automatically resumes execution after a specified time limit. This can be an interval or a specific wall time.\n\n## Related resources\n\nView n8n's [Advanced AI](../../../../advanced-ai/) documentation.\n\nRefer to the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node documentation for information about setting up the chat interface.\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[Browse Chat integration templates](https://n8n.io/integrations/chat/), or [search all templates](https://n8n.io/workflows/)\n\n## Common issues\n\n- The Chat node doesn't work when used as a tool of a subagent.\n- The Chat node doesn't work when used in a subworkflow. This includes usage in a subworkflow that's being used as a tool for an AI Agent.\n- Make sure the Chat Trigger node's Response Mode is set to \"Using Response Nodes\" for the Chat node to function properly.\n\nFor common questions or issues with the Chat Trigger node, refer to [Common Chat Trigger Node Issues](../n8n-nodes-langchain.chattrigger/common-issues/).\n",
55187
- "excerpt": "# Chat node Use the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents. All features work with both embedded and hosted chat interfaces. Chat Trigger node The Chat node requires a [Chat Trigger](../n8n-n...",
55303
+ "markdown": "# Chat node\n\nUse the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents.\n\nChat Trigger node\n\nThe Chat node requires a [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [Response Mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'Using Response Nodes'.\n\nEmbedded mode not supported\n\nThe Chat node isn't supported when the Chat Trigger node is set to **Embedded** mode. In Embedded mode, use the [Respond to Webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n\nPrevious version\n\nIn previous versions, this node was called \"Respond to Chat\" and used a single \"Wait for User Reply\" toggle. The functionality has been reorganized into two distinct actions with additional response types.\n\n## Node parameters\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\nHuman-in-the-loop for AI tool calls\n\nThis node can be used as a human review step for AI Agent tool calls. When configured this way, the AI Agent will pause and request human approval through this service before executing tools that require oversight. Learn more in [Human-in-the-loop for AI tool calls](../../../../advanced-ai/human-in-the-loop-tools/).\n\nConfigure this node using the following parameters.\n\n### Operation\n\nThe Chat node supports the following operations:\n\n- **Send Message**: Send a message to the chat. The workflow execution continues immediately after sending.\n- **Send and Wait for Response**: Send a message to the chat and wait for a response from the user. This operation pauses the workflow execution until the user submits a response.\n\nChoosing **Send and Wait for Response** activates additional parameters and options as discussed in [waiting for a response](#waiting-for-a-response).\n\n### Message\n\nThe message to send to the chat. This parameter is available for both operations.\n\n## Node options\n\nUse these **Options** to further refine the node's behavior.\n\n### Add Memory Input Connection\n\nChoose whether you want to commit the messages from the Chat node to a connected memory. Using a shared memory between an agent or chain [root node](../../cluster-nodes/root-nodes/) and the Chat node attaches the same session key to these messages and lets you capture the full message history.\n\n## Waiting for a response\n\nBy choosing the **Send and Wait for Response** operation, you can send a message and pause the workflow execution until a person responds. This enables multi-turn conversations and approval workflows within a single execution.\n\n### Response Type\n\nYou can choose between the following types of responses:\n\n- **Free Text**: Users can type any response in the chat. This is the same behavior as the previous \"Wait for User Reply\" option.\n- **Approval**: Users can approve or disapprove using inline buttons in the message. You can also optionally allow users to type custom responses.\n\nDifferent parameters and options are available depending on which type you choose.\n\n### Free Text parameters and options\n\nWhen using the Free Text response type, the user can type any message as their response.\n\n**Use cases:**\n\n- Open-ended questions\n- Collecting detailed feedback\n- Requesting specific information\n\n**Options:** * **Limit Wait Time**: Whether the workflow automatically resumes execution after a specified time limit. This can be an interval or a specific wall time.\n\n### Approval parameters and options\n\nWhen using the Approval response type, the message displays inline buttons that users can click to approve or disapprove. This response type follows the same pattern as other human-in-the-loop (HITL) nodes in n8n.\n\n**Use cases:**\n\n- Simple yes/no decisions\n- Approval workflows\n- Confirmations\n\nWhen using the Approval response type, the following parameters are available:\n\n- **Type of Approval**: Whether to present only an approval button or both approval and disapproval buttons.\n\n - **Approve Only**: Displays a single approval button\n - **Approve and Disapprove**: Displays both buttons (default)\n\n- **Approve Button Label**: The text to display on the approval button. Default: `Approve`\n\n- **Disapprove Button Label**: The text to display on the disapproval button (only shown when Type of Approval is \"Approve and Disapprove\"). Default: `Disapprove`\n\n- **Block User Input**: Whether to prevent users from typing custom messages (enabled) or allow them to type responses (disabled, default).\n\n - When **disabled** (default): Users can click buttons or type a custom message. Typed messages are treated as disapproval with a custom message.\n - When **enabled**: Users can only interact using the buttons.\n\nThe Approval response type also offers the following option:\n\n- **Limit Wait Time**: Whether the workflow automatically resumes execution after a specified time limit. This can be an interval or a specific wall time.\n\n## Related resources\n\nView n8n's [Advanced AI](../../../../advanced-ai/) documentation.\n\nRefer to the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node documentation for information about setting up the chat interface.\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[Browse Chat integration templates](https://n8n.io/integrations/chat/), or [search all templates](https://n8n.io/workflows/)\n\n## Common issues\n\n- The Chat node isn't supported when the Chat Trigger node's **Mode** is set to **Embedded**. In Embedded mode, the Chat Trigger node only offers **Respond to Webhook** as a response mode. Use the [Respond to Webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n- The Chat node doesn't work when used as a tool of a subagent.\n- The Chat node doesn't work when used in a subworkflow. This includes usage in a subworkflow that's being used as a tool for an AI Agent.\n- Make sure the Chat Trigger node's Response Mode is set to \"Using Response Nodes\" for the Chat node to function properly.\n\nFor common questions or issues with the Chat Trigger node, refer to [Common Chat Trigger Node Issues](../n8n-nodes-langchain.chattrigger/common-issues/).\n",
55304
+ "excerpt": "# Chat node Use the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents. Chat Trigger node The Chat node requires a [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, w...",
55188
55305
  "sections": [
55189
55306
  {
55190
55307
  "title": "Chat node",
55191
55308
  "level": 1,
55192
- "content": "Use the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents.\n\nAll features work with both embedded and hosted chat interfaces.\n\nChat Trigger node\n\nThe Chat node requires a [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [Response Mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'Using Response Nodes'.\n\nPrevious version\n\nIn previous versions, this node was called \"Respond to Chat\" and used a single \"Wait for User Reply\" toggle. The functionality has been reorganized into two distinct actions with additional response types."
55309
+ "content": "Use the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents.\n\nChat Trigger node\n\nThe Chat node requires a [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [Response Mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'Using Response Nodes'.\n\nEmbedded mode not supported\n\nThe Chat node isn't supported when the Chat Trigger node is set to **Embedded** mode. In Embedded mode, use the [Respond to Webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n\nPrevious version\n\nIn previous versions, this node was called \"Respond to Chat\" and used a single \"Wait for User Reply\" toggle. The functionality has been reorganized into two distinct actions "
55193
55310
  }
55194
55311
  ]
55195
55312
  },
@@ -55224,11 +55341,11 @@
55224
55341
  "codeExamples": 0,
55225
55342
  "complexity": "intermediate",
55226
55343
  "readingTime": "5 min",
55227
- "contentLength": 6510,
55344
+ "contentLength": 6927,
55228
55345
  "relatedPages": []
55229
55346
  },
55230
55347
  "searchIndex": {
55231
- "fullText": "chat # chat node\n\nuse the chat node with the [chat trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. this enables human-in-the-loop (hitl) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. the chat node also works as a tool for ai agents.\n\nall features work with both embedded and hosted chat interfaces.\n\nchat trigger node\n\nthe chat node requires a [chat trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [response mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'using response nodes'.\n\nprevious version\n\nin previous versions, this node was called \"respond to chat\" and used a single \"wait for user reply\" toggle. the functionality has been reorganized into two distinct actions with additional response types.\n\n## node parameters\n\nthis node can be used as an ai tool\n\nthis node can be used to enhance the capabilities of an ai agent. when used in this way, many parameters can be set automatically, or with information directed by ai - find out more in the [ai tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\nhuman-in-the-loop for ai tool calls\n\nthis node can be used as a human review step for ai agent tool calls. when configured this way, the ai agent will pause and request human approval through this service before executing tools that require oversight. learn more in [human-in-the-loop for ai tool calls](../../../../advanced-ai/human-in-the-loop-tools/).\n\nconfigure this node using the following parameters.\n\n### operation\n\nthe chat node supports the following operations:\n\n- **send message**: send a message to the chat. the workflow execution continues immediately after sending.\n- **send and wait for response**: send a message to the chat and wait for a response from the user. this operation pauses the workflow execution until the user submits a response.\n\nchoosing **send and wait for response** activates additional parameters and options as discussed in [waiting for a response](#waiting-for-a-response).\n\n### message\n\nthe message to send to the chat. this parameter is available for both operations.\n\n## node options\n\nuse these **options** to further refine the node's behavior.\n\n### add memory input connection\n\nchoose whether you want to commit the messages from the chat node to a connected memory. using a shared memory between an agent or chain [root node](../../cluster-nodes/root-nodes/) and the chat node attaches the same session key to these messages and lets you capture the full message history.\n\n## waiting for a response\n\nby choosing the **send and wait for response** operation, you can send a message and pause the workflow execution until a person responds. this enables multi-turn conversations and approval workflows within a single execution.\n\n### response type\n\nyou can choose between the following types of responses:\n\n- **free text**: users can type any response in the chat. this is the same behavior as the previous \"wait for user reply\" option.\n- **approval**: users can approve or disapprove using inline buttons in the message. you can also optionally allow users to type custom responses.\n\ndifferent parameters and options are available depending on which type you choose.\n\n### free text parameters and options\n\nwhen using the free text response type, the user can type any message as their response.\n\n**use cases:**\n\n- open-ended questions\n- collecting detailed feedback\n- requesting specific information\n\n**options:** * **limit wait time**: whether the workflow automatically resumes execution after a specified time limit. this can be an interval or a specific wall time.\n\n### approval parameters and options\n\nwhen using the approval response type, the message displays inline buttons that users can click to approve or disapprove. this response type follows the same pattern as other human-in-the-loop (hitl) nodes in n8n.\n\n**use cases:**\n\n- simple yes/no decisions\n- approval workflows\n- confirmations\n\nwhen using the approval response type, the following parameters are available:\n\n- **type of approval**: whether to present only an approval button or both approval and disapproval buttons.\n\n - **approve only**: displays a single approval button\n - **approve and disapprove**: displays both buttons (default)\n\n- **approve button label**: the text to display on the approval button. default: `approve`\n\n- **disapprove button label**: the text to display on the disapproval button (only shown when type of approval is \"approve and disapprove\"). default: `disapprove`\n\n- **block user input**: whether to prevent users from typing custom messages (enabled) or allow them to type responses (disabled, default).\n\n - when **disabled** (default): users can click buttons or type a custom message. typed messages are treated as disapproval with a custom message.\n - when **enabled**: users can only interact using the buttons.\n\nthe approval response type also offers the following option:\n\n- **limit wait time**: whether the workflow automatically resumes execution after a specified time limit. this can be an interval or a specific wall time.\n\n## related resources\n\nview n8n's [advanced ai](../../../../advanced-ai/) documentation.\n\nrefer to the [chat trigger](../n8n-nodes-langchain.chattrigger/) node documentation for information about setting up the chat interface.\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[browse chat integration templates](https://n8n.io/integrations/chat/), or [search all templates](https://n8n.io/workflows/)\n\n## common issues\n\n- the chat node doesn't work when used as a tool of a subagent.\n- the chat node doesn't work when used in a subworkflow. this includes usage in a subworkflow that's being used as a tool for an ai agent.\n- make sure the chat trigger node's response mode is set to \"using response nodes\" for the chat node to function properly.\n\nfor common questions or issues with the chat trigger node, refer to [common chat trigger node issues](../n8n-nodes-langchain.chattrigger/common-issues/).\n chat node",
55348
+ "fullText": "chat # chat node\n\nuse the chat node with the [chat trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. this enables human-in-the-loop (hitl) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. the chat node also works as a tool for ai agents.\n\nchat trigger node\n\nthe chat node requires a [chat trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [response mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'using response nodes'.\n\nembedded mode not supported\n\nthe chat node isn't supported when the chat trigger node is set to **embedded** mode. in embedded mode, use the [respond to webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n\nprevious version\n\nin previous versions, this node was called \"respond to chat\" and used a single \"wait for user reply\" toggle. the functionality has been reorganized into two distinct actions with additional response types.\n\n## node parameters\n\nthis node can be used as an ai tool\n\nthis node can be used to enhance the capabilities of an ai agent. when used in this way, many parameters can be set automatically, or with information directed by ai - find out more in the [ai tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\nhuman-in-the-loop for ai tool calls\n\nthis node can be used as a human review step for ai agent tool calls. when configured this way, the ai agent will pause and request human approval through this service before executing tools that require oversight. learn more in [human-in-the-loop for ai tool calls](../../../../advanced-ai/human-in-the-loop-tools/).\n\nconfigure this node using the following parameters.\n\n### operation\n\nthe chat node supports the following operations:\n\n- **send message**: send a message to the chat. the workflow execution continues immediately after sending.\n- **send and wait for response**: send a message to the chat and wait for a response from the user. this operation pauses the workflow execution until the user submits a response.\n\nchoosing **send and wait for response** activates additional parameters and options as discussed in [waiting for a response](#waiting-for-a-response).\n\n### message\n\nthe message to send to the chat. this parameter is available for both operations.\n\n## node options\n\nuse these **options** to further refine the node's behavior.\n\n### add memory input connection\n\nchoose whether you want to commit the messages from the chat node to a connected memory. using a shared memory between an agent or chain [root node](../../cluster-nodes/root-nodes/) and the chat node attaches the same session key to these messages and lets you capture the full message history.\n\n## waiting for a response\n\nby choosing the **send and wait for response** operation, you can send a message and pause the workflow execution until a person responds. this enables multi-turn conversations and approval workflows within a single execution.\n\n### response type\n\nyou can choose between the following types of responses:\n\n- **free text**: users can type any response in the chat. this is the same behavior as the previous \"wait for user reply\" option.\n- **approval**: users can approve or disapprove using inline buttons in the message. you can also optionally allow users to type custom responses.\n\ndifferent parameters and options are available depending on which type you choose.\n\n### free text parameters and options\n\nwhen using the free text response type, the user can type any message as their response.\n\n**use cases:**\n\n- open-ended questions\n- collecting detailed feedback\n- requesting specific information\n\n**options:** * **limit wait time**: whether the workflow automatically resumes execution after a specified time limit. this can be an interval or a specific wall time.\n\n### approval parameters and options\n\nwhen using the approval response type, the message displays inline buttons that users can click to approve or disapprove. this response type follows the same pattern as other human-in-the-loop (hitl) nodes in n8n.\n\n**use cases:**\n\n- simple yes/no decisions\n- approval workflows\n- confirmations\n\nwhen using the approval response type, the following parameters are available:\n\n- **type of approval**: whether to present only an approval button or both approval and disapproval buttons.\n\n - **approve only**: displays a single approval button\n - **approve and disapprove**: displays both buttons (default)\n\n- **approve button label**: the text to display on the approval button. default: `approve`\n\n- **disapprove button label**: the text to display on the disapproval button (only shown when type of approval is \"approve and disapprove\"). default: `disapprove`\n\n- **block user input**: whether to prevent users from typing custom messages (enabled) or allow them to type responses (disabled, default).\n\n - when **disabled** (default): users can click buttons or type a custom message. typed messages are treated as disapproval with a custom message.\n - when **enabled**: users can only interact using the buttons.\n\nthe approval response type also offers the following option:\n\n- **limit wait time**: whether the workflow automatically resumes execution after a specified time limit. this can be an interval or a specific wall time.\n\n## related resources\n\nview n8n's [advanced ai](../../../../advanced-ai/) documentation.\n\nrefer to the [chat trigger](../n8n-nodes-langchain.chattrigger/) node documentation for information about setting up the chat interface.\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[browse chat integration templates](https://n8n.io/integrations/chat/), or [search all templates](https://n8n.io/workflows/)\n\n## common issues\n\n- the chat node isn't supported when the chat trigger node's **mode** is set to **embedded**. in embedded mode, the chat trigger node only offers **respond to webhook** as a response mode. use the [respond to webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n- the chat node doesn't work when used as a tool of a subagent.\n- the chat node doesn't work when used in a subworkflow. this includes usage in a subworkflow that's being used as a tool for an ai agent.\n- make sure the chat trigger node's response mode is set to \"using response nodes\" for the chat node to function properly.\n\nfor common questions or issues with the chat trigger node, refer to [common chat trigger node issues](../n8n-nodes-langchain.chattrigger/common-issues/).\n chat node",
55232
55349
  "importantTerms": [
55233
55350
  "chat",
55234
55351
  "node",
@@ -55236,18 +55353,19 @@
55236
55353
  "this",
55237
55354
  "approval",
55238
55355
  "type",
55239
- "message",
55240
55356
  "nodes",
55241
- "using",
55242
55357
  "when",
55243
- "with",
55358
+ "message",
55359
+ "trigger",
55360
+ "using",
55244
55361
  "send",
55245
55362
  "wait",
55363
+ "mode",
55246
55364
  "parameters",
55365
+ "with",
55247
55366
  "users",
55248
55367
  "tool",
55249
55368
  "used",
55250
- "trigger",
55251
55369
  "human",
55252
55370
  "workflows",
55253
55371
  "execution",
@@ -55264,22 +55382,21 @@
55264
55382
  "chattrigger",
55265
55383
  "messages",
55266
55384
  "loop",
55385
+ "embedded",
55267
55386
  "following",
55268
55387
  "whether",
55269
55388
  "text",
55389
+ "only",
55270
55390
  "default",
55271
55391
  "https",
55272
55392
  "responses",
55273
55393
  "from",
55274
55394
  "single",
55275
- "both",
55395
+ "respond",
55276
55396
  "advanced",
55277
55397
  "custom",
55278
55398
  "limit",
55279
- "only",
55280
- "view",
55281
- "common",
55282
- "issues"
55399
+ "view"
55283
55400
  ]
55284
55401
  }
55285
55402
  },
@@ -66508,32 +66625,29 @@
66508
66625
  },
66509
66626
  {
66510
66627
  "id": "page-0865",
66511
- "title": "Mandrill credentials",
66512
- "url": "https://docs.n8n.io/integrations/builtin/credentials/mandrill/index.md",
66513
- "urlPath": "integrations/builtin/credentials/mandrill/index.md",
66628
+ "title": "Malcore credentials",
66629
+ "url": "https://docs.n8n.io/integrations/builtin/credentials/malcore/index.md",
66630
+ "urlPath": "integrations/builtin/credentials/malcore/index.md",
66514
66631
  "category": "other",
66515
66632
  "subcategory": null,
66516
66633
  "nodeName": null,
66517
66634
  "nodeType": null,
66518
66635
  "content": {
66519
- "markdown": "# Mandrill credentials\n\nYou can use these credentials to authenticate the following nodes:\n\n- [Mandrill](../../app-nodes/n8n-nodes-base.mandrill/)\n\n## Prerequisites\n\n- Create a Mailchimp [Transactional email account](https://mailchimp.com/features/transactional-email-infrastructure/)\n- Log in to [Mandrill](https://mandrillapp.com/login/) with your Mailchimp account.\n\nIf you already have a Mailchimp account with a Standard plan or higher, enable [Transactional Emails](https://mailchimp.com/help/add-or-remove-transactional-email) within that account to use Mandrill.\n\n## Supported authentication methods\n\n- API key\n\n## Related resources\n\nRefer to [Mailchimp's Transactional API documentation](https://mailchimp.com/developer/transactional/api/) for more information about the service.\n\n## Using API key\n\nTo configure this credential, you'll need:\n\n- An **API Key**: Generate an API key from the Mandrill [Settings](https://mandrillapp.com/settings). Refer to Mailchimp's [Generate your API key documentation](https://mailchimp.com/developer/transactional/guides/quick-start/#generate-your-api-key) for more detailed instructions.\n",
66520
- "excerpt": "# Mandrill credentials You can use these credentials to authenticate the following nodes: - [Mandrill](../../app-nodes/n8n-nodes-base.mandrill/) ## Prerequisites - Create a Mailchimp [Transactional email account](https://mailchimp.com/features/transactional-email-infrastructure/) - Log in to [Mandrill](https://mandrillapp.com/login/) with your Mailchimp account. If you already have a Mailchimp account with a Standard plan or higher, enable [Transactional Emails](https://mailchimp.com/help/a...",
66636
+ "markdown": "# Malcore credentials\n\nYou can use these credentials to authenticate when using the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to make a [Custom API call](../../../custom-operations/).\n\n## Prerequisites\n\nCreate a [Malcore](https://app.malcore.io/register) account.\n\n## Related resources\n\nRefer to [Malcore's API documentation](https://malcore.readme.io/reference/) for more information about authenticating with the service.\n\nThis is a credential-only node. Refer to [Custom API operations](../../../custom-operations/) to learn more. View [example workflows and related content](https://n8n.io/integrations/malcore/) on n8n's website.\n\n## Using API key\n\nTo configure this credential, you'll need:\n\n- An **API Key**: Get an API Key from your **Account > API**.\n\nRefer to [Using the Malcore API](https://support.malcore.io/hc/en-au/articles/17711707070617-Using-the-Malcore-API) for more information.\n",
66637
+ "excerpt": "# Malcore credentials You can use these credentials to authenticate when using the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to make a [Custom API call](../../../custom-operations/). ## Prerequisites Create a [Malcore](https://app.malcore.io/register) account. ## Related resources Refer to [Malcore's API documentation](https://malcore.readme.io/reference/) for more information about authenticating with the service. This is a credential-only node. Refer to [Custom AP...",
66521
66638
  "sections": [
66522
66639
  {
66523
- "title": "Mandrill credentials",
66640
+ "title": "Malcore credentials",
66524
66641
  "level": 1,
66525
- "content": "You can use these credentials to authenticate the following nodes:\n\n- [Mandrill](../../app-nodes/n8n-nodes-base.mandrill/)"
66642
+ "content": "You can use these credentials to authenticate when using the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to make a [Custom API call](../../../custom-operations/)."
66526
66643
  }
66527
66644
  ]
66528
66645
  },
66529
66646
  "metadata": {
66530
66647
  "keywords": [
66531
- "mandrill",
66648
+ "malcore",
66532
66649
  "credentials",
66533
66650
  "prerequisites",
66534
- "supported",
66535
- "authentication",
66536
- "methods",
66537
66651
  "related",
66538
66652
  "resources",
66539
66653
  "using"
@@ -66543,50 +66657,51 @@
66543
66657
  "codeExamples": 0,
66544
66658
  "complexity": "beginner",
66545
66659
  "readingTime": "1 min",
66546
- "contentLength": 1134,
66660
+ "contentLength": 923,
66547
66661
  "relatedPages": []
66548
66662
  },
66549
66663
  "searchIndex": {
66550
- "fullText": "mandrill credentials # mandrill credentials\n\nyou can use these credentials to authenticate the following nodes:\n\n- [mandrill](../../app-nodes/n8n-nodes-base.mandrill/)\n\n## prerequisites\n\n- create a mailchimp [transactional email account](https://mailchimp.com/features/transactional-email-infrastructure/)\n- log in to [mandrill](https://mandrillapp.com/login/) with your mailchimp account.\n\nif you already have a mailchimp account with a standard plan or higher, enable [transactional emails](https://mailchimp.com/help/add-or-remove-transactional-email) within that account to use mandrill.\n\n## supported authentication methods\n\n- api key\n\n## related resources\n\nrefer to [mailchimp's transactional api documentation](https://mailchimp.com/developer/transactional/api/) for more information about the service.\n\n## using api key\n\nto configure this credential, you'll need:\n\n- an **api key**: generate an api key from the mandrill [settings](https://mandrillapp.com/settings). refer to mailchimp's [generate your api key documentation](https://mailchimp.com/developer/transactional/guides/quick-start/#generate-your-api-key) for more detailed instructions.\n mandrill credentials",
66664
+ "fullText": "malcore credentials # malcore credentials\n\nyou can use these credentials to authenticate when using the [http request node](../../core-nodes/n8n-nodes-base.httprequest/) to make a [custom api call](../../../custom-operations/).\n\n## prerequisites\n\ncreate a [malcore](https://app.malcore.io/register) account.\n\n## related resources\n\nrefer to [malcore's api documentation](https://malcore.readme.io/reference/) for more information about authenticating with the service.\n\nthis is a credential-only node. refer to [custom api operations](../../../custom-operations/) to learn more. view [example workflows and related content](https://n8n.io/integrations/malcore/) on n8n's website.\n\n## using api key\n\nto configure this credential, you'll need:\n\n- an **api key**: get an api key from your **account > api**.\n\nrefer to [using the malcore api](https://support.malcore.io/hc/en-au/articles/17711707070617-using-the-malcore-api) for more information.\n malcore credentials",
66551
66665
  "importantTerms": [
66552
- "mailchimp",
66553
- "mandrill",
66554
- "transactional",
66555
- "https",
66666
+ "malcore",
66556
66667
  "credentials",
66557
- "account",
66558
- "nodes",
66559
- "email",
66560
- "your",
66561
- "generate"
66668
+ "using",
66669
+ "custom",
66670
+ "https",
66671
+ "operations",
66672
+ "refer",
66673
+ "more"
66562
66674
  ]
66563
66675
  }
66564
66676
  },
66565
66677
  {
66566
66678
  "id": "page-0866",
66567
- "title": "Malcore credentials",
66568
- "url": "https://docs.n8n.io/integrations/builtin/credentials/malcore/index.md",
66569
- "urlPath": "integrations/builtin/credentials/malcore/index.md",
66679
+ "title": "Mandrill credentials",
66680
+ "url": "https://docs.n8n.io/integrations/builtin/credentials/mandrill/index.md",
66681
+ "urlPath": "integrations/builtin/credentials/mandrill/index.md",
66570
66682
  "category": "other",
66571
66683
  "subcategory": null,
66572
66684
  "nodeName": null,
66573
66685
  "nodeType": null,
66574
66686
  "content": {
66575
- "markdown": "# Malcore credentials\n\nYou can use these credentials to authenticate when using the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to make a [Custom API call](../../../custom-operations/).\n\n## Prerequisites\n\nCreate a [Malcore](https://app.malcore.io/register) account.\n\n## Related resources\n\nRefer to [Malcore's API documentation](https://malcore.readme.io/reference/) for more information about authenticating with the service.\n\nThis is a credential-only node. Refer to [Custom API operations](../../../custom-operations/) to learn more. View [example workflows and related content](https://n8n.io/integrations/malcore/) on n8n's website.\n\n## Using API key\n\nTo configure this credential, you'll need:\n\n- An **API Key**: Get an API Key from your **Account > API**.\n\nRefer to [Using the Malcore API](https://support.malcore.io/hc/en-au/articles/17711707070617-Using-the-Malcore-API) for more information.\n",
66576
- "excerpt": "# Malcore credentials You can use these credentials to authenticate when using the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to make a [Custom API call](../../../custom-operations/). ## Prerequisites Create a [Malcore](https://app.malcore.io/register) account. ## Related resources Refer to [Malcore's API documentation](https://malcore.readme.io/reference/) for more information about authenticating with the service. This is a credential-only node. Refer to [Custom AP...",
66687
+ "markdown": "# Mandrill credentials\n\nYou can use these credentials to authenticate the following nodes:\n\n- [Mandrill](../../app-nodes/n8n-nodes-base.mandrill/)\n\n## Prerequisites\n\n- Create a Mailchimp [Transactional email account](https://mailchimp.com/features/transactional-email-infrastructure/)\n- Log in to [Mandrill](https://mandrillapp.com/login/) with your Mailchimp account.\n\nIf you already have a Mailchimp account with a Standard plan or higher, enable [Transactional Emails](https://mailchimp.com/help/add-or-remove-transactional-email) within that account to use Mandrill.\n\n## Supported authentication methods\n\n- API key\n\n## Related resources\n\nRefer to [Mailchimp's Transactional API documentation](https://mailchimp.com/developer/transactional/api/) for more information about the service.\n\n## Using API key\n\nTo configure this credential, you'll need:\n\n- An **API Key**: Generate an API key from the Mandrill [Settings](https://mandrillapp.com/settings). Refer to Mailchimp's [Generate your API key documentation](https://mailchimp.com/developer/transactional/guides/quick-start/#generate-your-api-key) for more detailed instructions.\n",
66688
+ "excerpt": "# Mandrill credentials You can use these credentials to authenticate the following nodes: - [Mandrill](../../app-nodes/n8n-nodes-base.mandrill/) ## Prerequisites - Create a Mailchimp [Transactional email account](https://mailchimp.com/features/transactional-email-infrastructure/) - Log in to [Mandrill](https://mandrillapp.com/login/) with your Mailchimp account. If you already have a Mailchimp account with a Standard plan or higher, enable [Transactional Emails](https://mailchimp.com/help/a...",
66577
66689
  "sections": [
66578
66690
  {
66579
- "title": "Malcore credentials",
66691
+ "title": "Mandrill credentials",
66580
66692
  "level": 1,
66581
- "content": "You can use these credentials to authenticate when using the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to make a [Custom API call](../../../custom-operations/)."
66693
+ "content": "You can use these credentials to authenticate the following nodes:\n\n- [Mandrill](../../app-nodes/n8n-nodes-base.mandrill/)"
66582
66694
  }
66583
66695
  ]
66584
66696
  },
66585
66697
  "metadata": {
66586
66698
  "keywords": [
66587
- "malcore",
66699
+ "mandrill",
66588
66700
  "credentials",
66589
66701
  "prerequisites",
66702
+ "supported",
66703
+ "authentication",
66704
+ "methods",
66590
66705
  "related",
66591
66706
  "resources",
66592
66707
  "using"
@@ -66596,20 +66711,22 @@
66596
66711
  "codeExamples": 0,
66597
66712
  "complexity": "beginner",
66598
66713
  "readingTime": "1 min",
66599
- "contentLength": 923,
66714
+ "contentLength": 1134,
66600
66715
  "relatedPages": []
66601
66716
  },
66602
66717
  "searchIndex": {
66603
- "fullText": "malcore credentials # malcore credentials\n\nyou can use these credentials to authenticate when using the [http request node](../../core-nodes/n8n-nodes-base.httprequest/) to make a [custom api call](../../../custom-operations/).\n\n## prerequisites\n\ncreate a [malcore](https://app.malcore.io/register) account.\n\n## related resources\n\nrefer to [malcore's api documentation](https://malcore.readme.io/reference/) for more information about authenticating with the service.\n\nthis is a credential-only node. refer to [custom api operations](../../../custom-operations/) to learn more. view [example workflows and related content](https://n8n.io/integrations/malcore/) on n8n's website.\n\n## using api key\n\nto configure this credential, you'll need:\n\n- an **api key**: get an api key from your **account > api**.\n\nrefer to [using the malcore api](https://support.malcore.io/hc/en-au/articles/17711707070617-using-the-malcore-api) for more information.\n malcore credentials",
66718
+ "fullText": "mandrill credentials # mandrill credentials\n\nyou can use these credentials to authenticate the following nodes:\n\n- [mandrill](../../app-nodes/n8n-nodes-base.mandrill/)\n\n## prerequisites\n\n- create a mailchimp [transactional email account](https://mailchimp.com/features/transactional-email-infrastructure/)\n- log in to [mandrill](https://mandrillapp.com/login/) with your mailchimp account.\n\nif you already have a mailchimp account with a standard plan or higher, enable [transactional emails](https://mailchimp.com/help/add-or-remove-transactional-email) within that account to use mandrill.\n\n## supported authentication methods\n\n- api key\n\n## related resources\n\nrefer to [mailchimp's transactional api documentation](https://mailchimp.com/developer/transactional/api/) for more information about the service.\n\n## using api key\n\nto configure this credential, you'll need:\n\n- an **api key**: generate an api key from the mandrill [settings](https://mandrillapp.com/settings). refer to mailchimp's [generate your api key documentation](https://mailchimp.com/developer/transactional/guides/quick-start/#generate-your-api-key) for more detailed instructions.\n mandrill credentials",
66604
66719
  "importantTerms": [
66605
- "malcore",
66606
- "credentials",
66607
- "using",
66608
- "custom",
66720
+ "mailchimp",
66721
+ "mandrill",
66722
+ "transactional",
66609
66723
  "https",
66610
- "operations",
66611
- "refer",
66612
- "more"
66724
+ "credentials",
66725
+ "account",
66726
+ "nodes",
66727
+ "email",
66728
+ "your",
66729
+ "generate"
66613
66730
  ]
66614
66731
  }
66615
66732
  },
@@ -71398,6 +71515,65 @@
71398
71515
  },
71399
71516
  {
71400
71517
  "id": "page-0941",
71518
+ "title": "Rundeck credentials",
71519
+ "url": "https://docs.n8n.io/integrations/builtin/credentials/rundeck/index.md",
71520
+ "urlPath": "integrations/builtin/credentials/rundeck/index.md",
71521
+ "category": "other",
71522
+ "subcategory": null,
71523
+ "nodeName": null,
71524
+ "nodeType": null,
71525
+ "content": {
71526
+ "markdown": "# Rundeck credentials\n\nYou can use these credentials to authenticate the following nodes:\n\n- [Rundeck](../../app-nodes/n8n-nodes-base.rundeck/)\n\n## Prerequisites\n\nCreate a user account on a [Rundeck](https://www.rundeck.com/) server.\n\n## Supported authentication methods\n\n- API token\n\n## Related resources\n\nRefer to [Rundeck's API documentation](https://docs.rundeck.com/docs/api/) for more information about the service.\n\n## Using API token\n\nTo configure this credential, you'll need:\n\n- Your **URL**: Enter the base URL of your Rundeck server, for example `http://myserver:4440`. Refer to [URLs](https://docs.rundeck.com/docs/api/#urls) for more information.\n- A user API **Token**: To generate a user API token, go to your **Profile > User API Tokens**. Refer to [User API tokens](https://docs.rundeck.com/docs/manual/10-user.html#user-api-tokens) for more information.\n",
71527
+ "excerpt": "# Rundeck credentials You can use these credentials to authenticate the following nodes: - [Rundeck](../../app-nodes/n8n-nodes-base.rundeck/) ## Prerequisites Create a user account on a [Rundeck](https://www.rundeck.com/) server. ## Supported authentication methods - API token ## Related resources Refer to [Rundeck's API documentation](https://docs.rundeck.com/docs/api/) for more information about the service. ## Using API token To configure this credential, you'll need: - Your **URL*...",
71528
+ "sections": [
71529
+ {
71530
+ "title": "Rundeck credentials",
71531
+ "level": 1,
71532
+ "content": "You can use these credentials to authenticate the following nodes:\n\n- [Rundeck](../../app-nodes/n8n-nodes-base.rundeck/)"
71533
+ }
71534
+ ]
71535
+ },
71536
+ "metadata": {
71537
+ "keywords": [
71538
+ "rundeck",
71539
+ "credentials",
71540
+ "prerequisites",
71541
+ "supported",
71542
+ "authentication",
71543
+ "methods",
71544
+ "related",
71545
+ "resources",
71546
+ "using",
71547
+ "token"
71548
+ ],
71549
+ "useCases": [],
71550
+ "operations": [],
71551
+ "codeExamples": 0,
71552
+ "complexity": "beginner",
71553
+ "readingTime": "1 min",
71554
+ "contentLength": 873,
71555
+ "relatedPages": []
71556
+ },
71557
+ "searchIndex": {
71558
+ "fullText": "rundeck credentials # rundeck credentials\n\nyou can use these credentials to authenticate the following nodes:\n\n- [rundeck](../../app-nodes/n8n-nodes-base.rundeck/)\n\n## prerequisites\n\ncreate a user account on a [rundeck](https://www.rundeck.com/) server.\n\n## supported authentication methods\n\n- api token\n\n## related resources\n\nrefer to [rundeck's api documentation](https://docs.rundeck.com/docs/api/) for more information about the service.\n\n## using api token\n\nto configure this credential, you'll need:\n\n- your **url**: enter the base url of your rundeck server, for example `http://myserver:4440`. refer to [urls](https://docs.rundeck.com/docs/api/#urls) for more information.\n- a user api **token**: to generate a user api token, go to your **profile > user api tokens**. refer to [user api tokens](https://docs.rundeck.com/docs/manual/10-user.html#user-api-tokens) for more information.\n rundeck credentials",
71559
+ "importantTerms": [
71560
+ "rundeck",
71561
+ "user",
71562
+ "docs",
71563
+ "credentials",
71564
+ "https",
71565
+ "token",
71566
+ "nodes",
71567
+ "refer",
71568
+ "more",
71569
+ "information",
71570
+ "your",
71571
+ "tokens"
71572
+ ]
71573
+ }
71574
+ },
71575
+ {
71576
+ "id": "page-0942",
71401
71577
  "title": "S3 credentials",
71402
71578
  "url": "https://docs.n8n.io/integrations/builtin/credentials/s3/index.md",
71403
71579
  "urlPath": "integrations/builtin/credentials/s3/index.md",
@@ -71496,7 +71672,7 @@
71496
71672
  }
71497
71673
  },
71498
71674
  {
71499
- "id": "page-0942",
71675
+ "id": "page-0943",
71500
71676
  "title": "Salesforce credentials",
71501
71677
  "url": "https://docs.n8n.io/integrations/builtin/credentials/salesforce/index.md",
71502
71678
  "urlPath": "integrations/builtin/credentials/salesforce/index.md",
@@ -71605,65 +71781,6 @@
71605
71781
  ]
71606
71782
  }
71607
71783
  },
71608
- {
71609
- "id": "page-0943",
71610
- "title": "Rundeck credentials",
71611
- "url": "https://docs.n8n.io/integrations/builtin/credentials/rundeck/index.md",
71612
- "urlPath": "integrations/builtin/credentials/rundeck/index.md",
71613
- "category": "other",
71614
- "subcategory": null,
71615
- "nodeName": null,
71616
- "nodeType": null,
71617
- "content": {
71618
- "markdown": "# Rundeck credentials\n\nYou can use these credentials to authenticate the following nodes:\n\n- [Rundeck](../../app-nodes/n8n-nodes-base.rundeck/)\n\n## Prerequisites\n\nCreate a user account on a [Rundeck](https://www.rundeck.com/) server.\n\n## Supported authentication methods\n\n- API token\n\n## Related resources\n\nRefer to [Rundeck's API documentation](https://docs.rundeck.com/docs/api/) for more information about the service.\n\n## Using API token\n\nTo configure this credential, you'll need:\n\n- Your **URL**: Enter the base URL of your Rundeck server, for example `http://myserver:4440`. Refer to [URLs](https://docs.rundeck.com/docs/api/#urls) for more information.\n- A user API **Token**: To generate a user API token, go to your **Profile > User API Tokens**. Refer to [User API tokens](https://docs.rundeck.com/docs/manual/10-user.html#user-api-tokens) for more information.\n",
71619
- "excerpt": "# Rundeck credentials You can use these credentials to authenticate the following nodes: - [Rundeck](../../app-nodes/n8n-nodes-base.rundeck/) ## Prerequisites Create a user account on a [Rundeck](https://www.rundeck.com/) server. ## Supported authentication methods - API token ## Related resources Refer to [Rundeck's API documentation](https://docs.rundeck.com/docs/api/) for more information about the service. ## Using API token To configure this credential, you'll need: - Your **URL*...",
71620
- "sections": [
71621
- {
71622
- "title": "Rundeck credentials",
71623
- "level": 1,
71624
- "content": "You can use these credentials to authenticate the following nodes:\n\n- [Rundeck](../../app-nodes/n8n-nodes-base.rundeck/)"
71625
- }
71626
- ]
71627
- },
71628
- "metadata": {
71629
- "keywords": [
71630
- "rundeck",
71631
- "credentials",
71632
- "prerequisites",
71633
- "supported",
71634
- "authentication",
71635
- "methods",
71636
- "related",
71637
- "resources",
71638
- "using",
71639
- "token"
71640
- ],
71641
- "useCases": [],
71642
- "operations": [],
71643
- "codeExamples": 0,
71644
- "complexity": "beginner",
71645
- "readingTime": "1 min",
71646
- "contentLength": 873,
71647
- "relatedPages": []
71648
- },
71649
- "searchIndex": {
71650
- "fullText": "rundeck credentials # rundeck credentials\n\nyou can use these credentials to authenticate the following nodes:\n\n- [rundeck](../../app-nodes/n8n-nodes-base.rundeck/)\n\n## prerequisites\n\ncreate a user account on a [rundeck](https://www.rundeck.com/) server.\n\n## supported authentication methods\n\n- api token\n\n## related resources\n\nrefer to [rundeck's api documentation](https://docs.rundeck.com/docs/api/) for more information about the service.\n\n## using api token\n\nto configure this credential, you'll need:\n\n- your **url**: enter the base url of your rundeck server, for example `http://myserver:4440`. refer to [urls](https://docs.rundeck.com/docs/api/#urls) for more information.\n- a user api **token**: to generate a user api token, go to your **profile > user api tokens**. refer to [user api tokens](https://docs.rundeck.com/docs/manual/10-user.html#user-api-tokens) for more information.\n rundeck credentials",
71651
- "importantTerms": [
71652
- "rundeck",
71653
- "user",
71654
- "docs",
71655
- "credentials",
71656
- "https",
71657
- "token",
71658
- "nodes",
71659
- "refer",
71660
- "more",
71661
- "information",
71662
- "your",
71663
- "tokens"
71664
- ]
71665
- }
71666
- },
71667
71784
  {
71668
71785
  "id": "page-0944",
71669
71786
  "title": "Salesmate credentials",
@@ -93808,7 +93925,7 @@
93808
93925
  "page-0874",
93809
93926
  "page-0877",
93810
93927
  "page-0934",
93811
- "page-0942",
93928
+ "page-0943",
93812
93929
  "page-0955",
93813
93930
  "page-0958",
93814
93931
  "page-1062",
@@ -93866,7 +93983,7 @@
93866
93983
  "page-0686",
93867
93984
  "page-0694",
93868
93985
  "page-0703",
93869
- "page-0942",
93986
+ "page-0943",
93870
93987
  "page-1147",
93871
93988
  "page-1202",
93872
93989
  "page-1214",
@@ -93909,7 +94026,7 @@
93909
94026
  "page-0710",
93910
94027
  "page-0712",
93911
94028
  "page-0719",
93912
- "page-0942",
94029
+ "page-0943",
93913
94030
  "page-1151",
93914
94031
  "page-1152",
93915
94032
  "page-1191",
@@ -94006,6 +94123,7 @@
94006
94123
  "page-0200",
94007
94124
  "page-0201",
94008
94125
  "page-0204",
94126
+ "page-0205",
94009
94127
  "page-0208",
94010
94128
  "page-0227",
94011
94129
  "page-1205"
@@ -94066,6 +94184,7 @@
94066
94184
  "page-0195",
94067
94185
  "page-0200",
94068
94186
  "page-0201",
94187
+ "page-0205",
94069
94188
  "page-0206",
94070
94189
  "page-0208",
94071
94190
  "page-0813",
@@ -94197,6 +94316,7 @@
94197
94316
  "page-0201",
94198
94317
  "page-0202",
94199
94318
  "page-0203",
94319
+ "page-0205",
94200
94320
  "page-0207",
94201
94321
  "page-0208",
94202
94322
  "page-0209",
@@ -94228,6 +94348,7 @@
94228
94348
  "page-0167",
94229
94349
  "page-0168",
94230
94350
  "page-0204",
94351
+ "page-0205",
94231
94352
  "page-0210",
94232
94353
  "page-0211",
94233
94354
  "page-0213",
@@ -94509,7 +94630,7 @@
94509
94630
  "page-0862",
94510
94631
  "page-0863",
94511
94632
  "page-0864",
94512
- "page-0865",
94633
+ "page-0866",
94513
94634
  "page-0867",
94514
94635
  "page-0868",
94515
94636
  "page-0869",
@@ -94796,6 +94917,7 @@
94796
94917
  "page-0200",
94797
94918
  "page-0201",
94798
94919
  "page-0202",
94920
+ "page-0205",
94799
94921
  "page-0207",
94800
94922
  "page-0544",
94801
94923
  "page-0548",
@@ -94922,7 +95044,7 @@
94922
95044
  "page-0221",
94923
95045
  "page-0374",
94924
95046
  "page-0701",
94925
- "page-0942",
95047
+ "page-0943",
94926
95048
  "page-1171",
94927
95049
  "page-1205",
94928
95050
  "page-1232"
@@ -96117,7 +96239,7 @@
96117
96239
  "page-0700",
96118
96240
  "page-0863",
96119
96241
  "page-0898",
96120
- "page-0942",
96242
+ "page-0943",
96121
96243
  "page-1149",
96122
96244
  "page-1152",
96123
96245
  "page-1170",
@@ -96152,6 +96274,7 @@
96152
96274
  "page-0013",
96153
96275
  "page-0153",
96154
96276
  "page-0204",
96277
+ "page-0205",
96155
96278
  "page-0206",
96156
96279
  "page-0208",
96157
96280
  "page-0348",
@@ -96333,6 +96456,7 @@
96333
96456
  "page-0166",
96334
96457
  "page-0200",
96335
96458
  "page-0201",
96459
+ "page-0205",
96336
96460
  "page-0208",
96337
96461
  "page-0232",
96338
96462
  "page-0540"
@@ -96715,6 +96839,7 @@
96715
96839
  "page-0200",
96716
96840
  "page-0201",
96717
96841
  "page-0202",
96842
+ "page-0205",
96718
96843
  "page-0206",
96719
96844
  "page-0207",
96720
96845
  "page-0208",
@@ -96998,6 +97123,7 @@
96998
97123
  "page-0201",
96999
97124
  "page-0202",
97000
97125
  "page-0204",
97126
+ "page-0205",
97001
97127
  "page-0206",
97002
97128
  "page-0207",
97003
97129
  "page-0208"
@@ -97068,6 +97194,7 @@
97068
97194
  "page-0195",
97069
97195
  "page-0200",
97070
97196
  "page-0201",
97197
+ "page-0205",
97071
97198
  "page-0206",
97072
97199
  "page-0208",
97073
97200
  "page-0701",
@@ -97516,7 +97643,7 @@
97516
97643
  "page-0796",
97517
97644
  "page-0843",
97518
97645
  "page-0884",
97519
- "page-0942",
97646
+ "page-0943",
97520
97647
  "page-0987",
97521
97648
  "page-0997",
97522
97649
  "page-1003",
@@ -98231,6 +98358,7 @@
98231
98358
  "context": [
98232
98359
  "page-0015",
98233
98360
  "page-0201",
98361
+ "page-0205",
98234
98362
  "page-0570",
98235
98363
  "page-1189",
98236
98364
  "page-1205"
@@ -98354,6 +98482,7 @@
98354
98482
  "page-0202",
98355
98483
  "page-0203",
98356
98484
  "page-0204",
98485
+ "page-0205",
98357
98486
  "page-0206",
98358
98487
  "page-0207",
98359
98488
  "page-0208",
@@ -98380,7 +98509,7 @@
98380
98509
  "page-0778",
98381
98510
  "page-0799",
98382
98511
  "page-0800",
98383
- "page-0942",
98512
+ "page-0943",
98384
98513
  "page-0968",
98385
98514
  "page-1011",
98386
98515
  "page-1027",
@@ -99095,6 +99224,7 @@
99095
99224
  "page-0067",
99096
99225
  "page-0200",
99097
99226
  "page-0201",
99227
+ "page-0205",
99098
99228
  "page-0219",
99099
99229
  "page-0220",
99100
99230
  "page-0227",
@@ -100181,7 +100311,7 @@
100181
100311
  "page-0925",
100182
100312
  "page-0933",
100183
100313
  "page-0938",
100184
- "page-0942",
100314
+ "page-0943",
100185
100315
  "page-0954",
100186
100316
  "page-0955",
100187
100317
  "page-0958",
@@ -100217,7 +100347,7 @@
100217
100347
  "page-0874",
100218
100348
  "page-0877",
100219
100349
  "page-0913",
100220
- "page-0942",
100350
+ "page-0943",
100221
100351
  "page-1027",
100222
100352
  "page-1028",
100223
100353
  "page-1205"
@@ -100283,7 +100413,7 @@
100283
100413
  "page-0924",
100284
100414
  "page-0937",
100285
100415
  "page-0940",
100286
- "page-0943",
100416
+ "page-0941",
100287
100417
  "page-0944",
100288
100418
  "page-0952",
100289
100419
  "page-0955",
@@ -100875,6 +101005,7 @@
100875
101005
  "page-0030",
100876
101006
  "page-0166",
100877
101007
  "page-0204",
101008
+ "page-0205",
100878
101009
  "page-0313",
100879
101010
  "page-0314",
100880
101011
  "page-0315",
@@ -101266,6 +101397,7 @@
101266
101397
  "page-0201",
101267
101398
  "page-0202",
101268
101399
  "page-0203",
101400
+ "page-0205",
101269
101401
  "page-0206",
101270
101402
  "page-0207",
101271
101403
  "page-0208",
@@ -101284,6 +101416,7 @@
101284
101416
  "page-0201",
101285
101417
  "page-0202",
101286
101418
  "page-0203",
101419
+ "page-0205",
101287
101420
  "page-0206",
101288
101421
  "page-0207",
101289
101422
  "page-0208",
@@ -101532,7 +101665,7 @@
101532
101665
  "page-0799",
101533
101666
  "page-0874",
101534
101667
  "page-0877",
101535
- "page-0942",
101668
+ "page-0943",
101536
101669
  "page-0955",
101537
101670
  "page-0958",
101538
101671
  "page-0960",
@@ -102050,6 +102183,7 @@
102050
102183
  "page-0061",
102051
102184
  "page-0200",
102052
102185
  "page-0201",
102186
+ "page-0205",
102053
102187
  "page-0497",
102054
102188
  "page-0498",
102055
102189
  "page-0499",
@@ -102538,7 +102672,7 @@
102538
102672
  "page-0862",
102539
102673
  "page-0863",
102540
102674
  "page-0864",
102541
- "page-0865",
102675
+ "page-0866",
102542
102676
  "page-0867",
102543
102677
  "page-0868",
102544
102678
  "page-0869",
@@ -102856,7 +102990,7 @@
102856
102990
  "page-0862",
102857
102991
  "page-0863",
102858
102992
  "page-0864",
102859
- "page-0865",
102993
+ "page-0866",
102860
102994
  "page-0867",
102861
102995
  "page-0868",
102862
102996
  "page-0869",
@@ -103842,6 +103976,7 @@
103842
103976
  "page-0196",
103843
103977
  "page-0200",
103844
103978
  "page-0201",
103979
+ "page-0205",
103845
103980
  "page-0208",
103846
103981
  "page-0223",
103847
103982
  "page-0548",
@@ -104026,7 +104161,7 @@
104026
104161
  "page-0938",
104027
104162
  "page-0940",
104028
104163
  "page-0941",
104029
- "page-0943",
104164
+ "page-0942",
104030
104165
  "page-0944",
104031
104166
  "page-0946",
104032
104167
  "page-0947",
@@ -104288,7 +104423,7 @@
104288
104423
  "page-0099",
104289
104424
  "page-0665",
104290
104425
  "page-0759",
104291
- "page-0941"
104426
+ "page-0942"
104292
104427
  ],
104293
104428
  "versus": [
104294
104429
  "page-0099",
@@ -105738,6 +105873,7 @@
105738
105873
  "page-0200",
105739
105874
  "page-0201",
105740
105875
  "page-0203",
105876
+ "page-0205",
105741
105877
  "page-0799",
105742
105878
  "page-1207"
105743
105879
  ],
@@ -105933,6 +106069,7 @@
105933
106069
  "page-0166",
105934
106070
  "page-0200",
105935
106071
  "page-0201",
106072
+ "page-0205",
105936
106073
  "page-0208"
105937
106074
  ],
105938
106075
  "plain": [
@@ -106147,6 +106284,7 @@
106147
106284
  "page-0180",
106148
106285
  "page-0200",
106149
106286
  "page-0201",
106287
+ "page-0205",
106150
106288
  "page-0208",
106151
106289
  "page-0214",
106152
106290
  "page-0260",
@@ -106389,6 +106527,7 @@
106389
106527
  "page-0200",
106390
106528
  "page-0201",
106391
106529
  "page-0202",
106530
+ "page-0205",
106392
106531
  "page-0207",
106393
106532
  "page-0664"
106394
106533
  ],
@@ -106396,6 +106535,7 @@
106396
106535
  "page-0200",
106397
106536
  "page-0201",
106398
106537
  "page-0202",
106538
+ "page-0205",
106399
106539
  "page-0207",
106400
106540
  "page-1204",
106401
106541
  "page-1207",
@@ -106405,6 +106545,7 @@
106405
106545
  "page-0200",
106406
106546
  "page-0201",
106407
106547
  "page-0204",
106548
+ "page-0205",
106408
106549
  "page-0519",
106409
106550
  "page-0520",
106410
106551
  "page-0522",
@@ -106416,20 +106557,24 @@
106416
106557
  "volume": [
106417
106558
  "page-0200",
106418
106559
  "page-0201",
106560
+ "page-0205",
106419
106561
  "page-0207"
106420
106562
  ],
106421
106563
  "persistent": [
106422
106564
  "page-0200",
106423
106565
  "page-0201",
106566
+ "page-0205",
106424
106567
  "page-0550"
106425
106568
  ],
106426
106569
  "deployments": [
106427
106570
  "page-0200",
106428
- "page-0201"
106571
+ "page-0201",
106572
+ "page-0205"
106429
106573
  ],
106430
106574
  "send": [
106431
106575
  "page-0200",
106432
106576
  "page-0201",
106577
+ "page-0205",
106433
106578
  "page-0415",
106434
106579
  "page-0499",
106435
106580
  "page-0526",
@@ -106445,7 +106590,8 @@
106445
106590
  "page-1216"
106446
106591
  ],
106447
106592
  "kubectl": [
106448
- "page-0201"
106593
+ "page-0201",
106594
+ "page-0205"
106449
106595
  ],
106450
106596
  "digital": [
106451
106597
  "page-0202"
@@ -106455,7 +106601,7 @@
106455
106601
  ],
106456
106602
  "digitalocean": [
106457
106603
  "page-0202",
106458
- "page-0941"
106604
+ "page-0942"
106459
106605
  ],
106460
106606
  "droplet": [
106461
106607
  "page-0202"
@@ -106654,6 +106800,9 @@
106654
106800
  "west1": [
106655
106801
  "page-0204"
106656
106802
  ],
106803
+ "engine": [
106804
+ "page-0205"
106805
+ ],
106657
106806
  "heroku": [
106658
106807
  "page-0206"
106659
106808
  ],
@@ -107295,7 +107444,7 @@
107295
107444
  ],
107296
107445
  "(recommended)": [
107297
107446
  "page-0225",
107298
- "page-0942"
107447
+ "page-0943"
107299
107448
  ],
107300
107449
  "pass": [
107301
107450
  "page-0225",
@@ -107346,7 +107495,7 @@
107346
107495
  "page-0931",
107347
107496
  "page-0934",
107348
107497
  "page-0939",
107349
- "page-0942",
107498
+ "page-0943",
107350
107499
  "page-0980",
107351
107500
  "page-1003",
107352
107501
  "page-1009",
@@ -108522,7 +108671,7 @@
108522
108671
  ],
108523
108672
  "mandrill": [
108524
108673
  "page-0365",
108525
- "page-0865"
108674
+ "page-0866"
108526
108675
  ],
108527
108676
  "marketstack": [
108528
108677
  "page-0366",
@@ -108827,15 +108976,15 @@
108827
108976
  ],
108828
108977
  "rundeck": [
108829
108978
  "page-0430",
108830
- "page-0943"
108979
+ "page-0941"
108831
108980
  ],
108832
108981
  "wasabi": [
108833
108982
  "page-0431",
108834
- "page-0941"
108983
+ "page-0942"
108835
108984
  ],
108836
108985
  "salesforce": [
108837
108986
  "page-0432",
108838
- "page-0942",
108987
+ "page-0943",
108839
108988
  "page-1102",
108840
108989
  "page-1205"
108841
108990
  ],
@@ -109966,7 +110115,7 @@
109966
110115
  "connected": [
109967
110116
  "page-0561",
109968
110117
  "page-0569",
109969
- "page-0942"
110118
+ "page-0943"
109970
110119
  ],
109971
110120
  "conversational": [
109972
110121
  "page-0562"
@@ -111114,7 +111263,7 @@
111114
111263
  "page-0863"
111115
111264
  ],
111116
111265
  "malcore": [
111117
- "page-0866"
111266
+ "page-0865"
111118
111267
  ],
111119
111268
  "(general)": [
111120
111269
  "page-0874"
@@ -111196,13 +111345,13 @@
111196
111345
  "page-0937"
111197
111346
  ],
111198
111347
  "spaces": [
111199
- "page-0941"
111348
+ "page-0942"
111200
111349
  ],
111201
111350
  "(legacy)": [
111202
- "page-0942"
111351
+ "page-0943"
111203
111352
  ],
111204
111353
  "authenticating": [
111205
- "page-0942"
111354
+ "page-0943"
111206
111355
  ],
111207
111356
  "sekoia": [
111208
111357
  "page-0949"
@@ -113049,6 +113198,7 @@
113049
113198
  "page-0202",
113050
113199
  "page-0203",
113051
113200
  "page-0204",
113201
+ "page-0205",
113052
113202
  "page-0206",
113053
113203
  "page-0207",
113054
113204
  "page-0208",