mirror of
https://github.com/n8n-io/n8n-docs.git
synced 2026-03-27 09:28:43 +07:00
add info and example for setting creds dynamically using expressions
This commit is contained in:
BIN
docs/_images/credentials/dynamic-creds-example-workflow.png
Normal file
BIN
docs/_images/credentials/dynamic-creds-example-workflow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
@@ -1,8 +1,6 @@
|
||||
## Using the example
|
||||
|
||||
To load the template into your n8n instance:
|
||||
|
||||
1. [Download the workflow JSON file](/_workflows/advanced-ai/examples/[[ page.meta.workflowFile ]]){:target=_blank .external-link}.
|
||||
1. [Download the workflow JSON file](/_workflows/[[ page.meta.workflowFile ]]){:target=_blank .external-link}.
|
||||
1. Open a new workflow in your n8n instance.
|
||||
1. Copy in the JSON, or select **Workflow menu** <span class="inline-image"></span> > **Import from file...**.
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
{
|
||||
"name": "Dynamic credentials using expressions",
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {
|
||||
"path": "da4071f2-7550-4dae-aa48-8bced4291643",
|
||||
"formTitle": "Test dynamic credentials",
|
||||
"formDescription": "This form is for testing an n8n workflow that demonstrates setting credentials with expressions.",
|
||||
"formFields": {
|
||||
"values": [
|
||||
{
|
||||
"fieldLabel": "Enter your NASA API key",
|
||||
"requiredField": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"responseMode": "responseNode"
|
||||
},
|
||||
"id": "cc6f2b1e-0ed0-4d22-8a44-d7223ba283b4",
|
||||
"name": "n8n Form Trigger",
|
||||
"type": "n8n-nodes-base.formTrigger",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
560,
|
||||
520
|
||||
],
|
||||
"webhookId": "da4071f2-7550-4dae-aa48-8bced4291643"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"additionalFields": {}
|
||||
},
|
||||
"id": "ef336bae-3d4f-419c-ab5c-b9f0de89f170",
|
||||
"name": "NASA",
|
||||
"type": "n8n-nodes-base.nasa",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
900,
|
||||
520
|
||||
],
|
||||
"credentials": {
|
||||
"nasaApi": {
|
||||
"id": "QDDBOZOD6k3ijL5t",
|
||||
"name": "NASA account"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"respondWith": "redirect",
|
||||
"redirectURL": "={{ $json.url }}",
|
||||
"options": {}
|
||||
},
|
||||
"id": "143bcdb6-aca0-4dd8-9204-9777271cd230",
|
||||
"name": "Respond to Webhook",
|
||||
"type": "n8n-nodes-base.respondToWebhook",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
1220,
|
||||
520
|
||||
]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"content": "This workflow shows how to set credentials dynamically using expressions.\n\n\nFirst, set up your NASA credential: \n\n1. Create a new NASA credential.\n1. Hover over **API Key**.\n1. Toggle **Expression** on.\n1. In the **API Key** field, enter `{{ $json[\"Enter your NASA API key\"] }}`.\n\n\nThen, test the workflow:\n\n1. Get an [API key from NASA](https://api.nasa.gov/)\n2. Select **Test workflow**\n3. Enter your key using the form.\n4. The workflow runs and sends you to the NASA picture of the day.\n\n\nFor more information on expressions, refer to [n8n documentation | Expressions](https://docs.n8n.io/code/expressions/).",
|
||||
"height": 564,
|
||||
"width": 322
|
||||
},
|
||||
"id": "0a0dee23-fa16-4f09-b5e0-856f47fb53d0",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
120,
|
||||
140
|
||||
]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"content": "User submits an API key using the form",
|
||||
"height": 319
|
||||
},
|
||||
"id": "dd766e32-334d-4e46-9daa-7800b134a3a5",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
500,
|
||||
380
|
||||
]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"content": "The workflow passes the key to the NASA node. You can reference the value using the expression `$json[\"Enter your NASA API key\"]`. This is also available to the node credential. ",
|
||||
"height": 319
|
||||
},
|
||||
"id": "3d8f02e6-e029-41dc-89ad-0f5cffe09348",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
820,
|
||||
380
|
||||
]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"content": "The Respond to Webhook node controls the form response (in this example, redirecting the user to an image)",
|
||||
"height": 319
|
||||
},
|
||||
"id": "096eb6ab-c276-4687-9dc0-50e16a8f709a",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
1140,
|
||||
380
|
||||
]
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"n8n Form Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "NASA",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"NASA": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Respond to Webhook",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
contentType: overview
|
||||
title: Call an API to fetch data
|
||||
description: Use the n8n workflow tool to load data from an API using the HTTP Request node into your AI workflow.
|
||||
workflowFile: let_your_ai_call_an_api.json
|
||||
workflowFile: advanced-ai/examples/let_your_ai_call_an_api.json
|
||||
---
|
||||
|
||||
# Call an API to fetch data
|
||||
@@ -11,7 +11,7 @@ Use n8n to bring data from any API to your AI. This workflow uses the [Chat Trig
|
||||
|
||||
<figure markdown>
|
||||

|
||||
<figcaption markdown>[Download the example workflow](/_workflows/advanced-ai/examples/[[ page.meta.workflowFile ]])</figcaption>
|
||||
<figcaption markdown>[Download the example workflow](/_workflows/[[ page.meta.workflowFile ]])</figcaption>
|
||||
</figure>
|
||||
|
||||
## Key features
|
||||
@@ -23,4 +23,6 @@ This workflow uses:
|
||||
* [Custom n8n Workflow Tool](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow/): plug in n8n workflows as custom tools. In AI, a tool is an interface the AI can use to interact with the world (in this case, the data provided by your workflow). It allows the AI model to access information beyond its built-in dataset.
|
||||
* A [Basic LLM Chain](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainllm/) with an [Auto-fixing Output Parser](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserautofixing/) and [Structured Output Parser](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/) to read the user's query and set parameters for the API call based on the user input.
|
||||
|
||||
[[% include "_includes/advanced-ai/examples-color-key.html" %]]
|
||||
## Using the example
|
||||
|
||||
[[% include "_includes/examples-color-key.html" %]]
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
contentType: howto
|
||||
title: Chat with a Google Sheet using AI
|
||||
description: Use the n8n workflow tool to load data from Google Sheets into your AI workflow.
|
||||
workflowFile: chat_with_google_sheets_docs_version.json
|
||||
workflowFile: advanced-ai/examples/chat_with_google_sheets_docs_version.json
|
||||
---
|
||||
|
||||
# Chat with a Google Sheet using AI
|
||||
@@ -11,7 +11,7 @@ Use n8n to bring your own data to AI. This workflow uses the [Chat Trigger](/int
|
||||
|
||||
<figure markdown>
|
||||

|
||||
<figcaption markdown>[Download the example workflow](/_workflows/advanced-ai/examples/[[ page.meta.workflowFile ]])</figcaption>
|
||||
<figcaption markdown>[Download the example workflow](/_workflows/[[ page.meta.workflowFile ]])</figcaption>
|
||||
</figure>
|
||||
|
||||
## Key features
|
||||
@@ -22,4 +22,7 @@ This workflow uses:
|
||||
* [Agent](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/): the key piece of the AI workflow. The Agent interacts with other components of the workflow and makes decisions about what tools to use.
|
||||
* [Custom n8n Workflow Tool](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow/): plug in n8n workflows as custom tools. In AI, a tool is an interface the AI can use to interact with the world (in this case, the data provided by your workflow). It allows the AI model to access information beyond its built-in dataset.
|
||||
|
||||
[[% include "_includes/advanced-ai/examples-color-key.html" %]]
|
||||
|
||||
## Using the example
|
||||
|
||||
[[% include "_includes/examples-color-key.html" %]]
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
contentType: overview
|
||||
title: Set a human fallback for AI workflows
|
||||
description: Have a workflow that triggers a human answer when the AI can't help.
|
||||
workflowFile: ask_a_human.json
|
||||
workflowFile: advanced-ai/examples/ask_a_human.json
|
||||
---
|
||||
|
||||
# Have a human fallback for AI workflows
|
||||
@@ -13,7 +13,7 @@ This workflow uses the [Chat Trigger](/integrations/builtin/core-nodes/n8n-nodes
|
||||
|
||||
<figure markdown>
|
||||

|
||||
<figcaption markdown>[Download the example workflow](/_workflows/advanced-ai/examples/[[ page.meta.workflowFile ]])</figcaption>
|
||||
<figcaption markdown>[Download the example workflow](/_workflows/[[ page.meta.workflowFile ]])</figcaption>
|
||||
</figure>
|
||||
|
||||
## Key features
|
||||
@@ -24,4 +24,6 @@ This workflow uses:
|
||||
* [Agent](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/): the key piece of the AI workflow. The Agent interacts with other components of the workflow and makes decisions about what tools to use.
|
||||
* [Custom n8n Workflow Tool](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow/): plug in n8n workflows as custom tools. In AI, a tool is an interface the AI can use to interact with the world (in this case, the data provided by your workflow). It allows the AI model to access information beyond its built-in dataset.
|
||||
|
||||
[[% include "_includes/advanced-ai/examples-color-key.html" %]]
|
||||
## Using the example
|
||||
|
||||
[[% include "_includes/examples-color-key.html" %]]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
description: Creating and editing credentials.
|
||||
contentType: howto
|
||||
workflowFile: credentials/dynamic_credentials_using_expressions.json
|
||||
---
|
||||
|
||||
# Create and edit credentials
|
||||
@@ -17,3 +18,23 @@ When you save a credential, n8n tests it to confirm it works.
|
||||
/// note | Credentials naming
|
||||
n8n names new credentials "*node name* account" by default. You can rename the credentials by clicking on the name, similarly to renaming nodes. It's good practice to give them names that identify the app or service, type, and purpose of the credential. A naming convention makes it easier to keep track of and identify your credentials.
|
||||
///
|
||||
|
||||
## Expressions in credentials
|
||||
|
||||
You can use expressions to set credentials dynamically as your workflow runs:
|
||||
|
||||
1. In your workflow, find the data path containing the credential. This varies depending on the exact parameter names in your data. Make sure that the data containing the credential is available in the workflow when you get to the node that needs it.
|
||||
1. When creating your credential, hover over the field where you want to use an expression.
|
||||
1. Toggle **Expression** on.
|
||||
1. Enter your expression.
|
||||
|
||||
### Example workflow
|
||||
|
||||
<figure markdown>
|
||||

|
||||
<figcaption markdown>[Download the example workflow](/_workflows/[[ page.meta.workflowFile ]])</figcaption>
|
||||
</figure>
|
||||
|
||||
#### Using the example
|
||||
|
||||
[[% include "_includes/examples-color-key.html" %]]
|
||||
|
||||
Reference in New Issue
Block a user