From 166703bccc4ebc849efa79ea7ba85b95046c226c Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Mon, 18 Mar 2024 12:29:37 +0000 Subject: [PATCH 1/3] add info on rate limits, add info on custom API calls to all nodes with creds support --- .../app-nodes/operation-not-supported.md | 11 ++++ .../builtin/rate-limits/loop-wait.png | Bin 0 -> 11135 bytes .../app-nodes/n8n-nodes-base.actionnetwork.md | 7 +- .../n8n-nodes-base.activecampaign.md | 5 +- .../builtin/app-nodes/n8n-nodes-base.adalo.md | 3 + .../app-nodes/n8n-nodes-base.airtable.md | 2 + .../app-nodes/n8n-nodes-base.apitemplateio.md | 1 + .../builtin/app-nodes/n8n-nodes-base.asana.md | 3 + .../n8n-nodes-base.awscertificatemanager.md | 2 + .../app-nodes/n8n-nodes-base.awscomprehend.md | 1 + .../app-nodes/n8n-nodes-base.awsdynamodb.md | 2 + .../app-nodes/n8n-nodes-base.awselb.md | 2 + .../app-nodes/n8n-nodes-base.awslambda.md | 3 + .../n8n-nodes-base.awsrekognition.md | 2 + .../builtin/app-nodes/n8n-nodes-base.awss3.md | 4 ++ .../app-nodes/n8n-nodes-base.awsses.md | 3 + .../app-nodes/n8n-nodes-base.awssns.md | 3 + .../app-nodes/n8n-nodes-base.awssqs.md | 3 + .../app-nodes/n8n-nodes-base.awstextract.md | 3 + .../app-nodes/n8n-nodes-base.awstranscribe.md | 2 + .../app-nodes/n8n-nodes-base.beeminder.md | 1 + .../builtin/app-nodes/n8n-nodes-base.bitly.md | 4 ++ .../builtin/app-nodes/n8n-nodes-base.box.md | 3 + .../builtin/app-nodes/n8n-nodes-base.brevo.md | 2 + .../app-nodes/n8n-nodes-base.ciscowebex.md | 4 ++ .../app-nodes/n8n-nodes-base.citrixadc.md | 2 + .../app-nodes/n8n-nodes-base.clickup.md | 3 + .../app-nodes/n8n-nodes-base.clockify.md | 2 + .../app-nodes/n8n-nodes-base.cloudflare.md | 2 + .../app-nodes/n8n-nodes-base.cortex.md | 1 + .../app-nodes/n8n-nodes-base.crowddev.md | 5 +- .../app-nodes/n8n-nodes-base.customerio.md | 1 + .../builtin/app-nodes/n8n-nodes-base.deepl.md | 3 + .../app-nodes/n8n-nodes-base.discord.md | 3 + .../app-nodes/n8n-nodes-base.discourse.md | 3 + .../builtin/app-nodes/n8n-nodes-base.drift.md | 3 + .../app-nodes/n8n-nodes-base.dropbox.md | 2 + .../app-nodes/n8n-nodes-base.dropcontact.md | 1 + .../app-nodes/n8n-nodes-base.elasticsearch.md | 4 ++ .../app-nodes/n8n-nodes-base.erpnext.md | 2 + .../app-nodes/n8n-nodes-base.freshworkscrm.md | 4 ++ .../app-nodes/n8n-nodes-base.getresponse.md | 2 + .../builtin/app-nodes/n8n-nodes-base.ghost.md | 2 + .../app-nodes/n8n-nodes-base.github.md | 3 + .../app-nodes/n8n-nodes-base.gitlab.md | 2 + .../builtin/app-nodes/n8n-nodes-base.gmail.md | 1 + .../app-nodes/n8n-nodes-base.googleads.md | 2 + .../n8n-nodes-base.googleanalytics.md | 1 + .../n8n-nodes-base.googlebigquery.md | 2 + .../app-nodes/n8n-nodes-base.googlebooks.md | 1 + .../n8n-nodes-base.googlecalendar.md | 2 + .../n8n-nodes-base.googlecloudfirestore.md | 1 + ...n-nodes-base.googlecloudnaturallanguage.md | 1 + .../n8n-nodes-base.googlecloudstorage.md | 1 + .../n8n-nodes-base.googlecontacts.md | 2 + .../app-nodes/n8n-nodes-base.googledocs.md | 1 + .../app-nodes/n8n-nodes-base.googledrive.md | 2 +- .../n8n-nodes-base.googleperspective.md | 2 + .../app-nodes/n8n-nodes-base.googlesheets.md | 2 + .../app-nodes/n8n-nodes-base.googleslides.md | 1 + .../app-nodes/n8n-nodes-base.googletasks.md | 2 + .../n8n-nodes-base.googletranslate.md | 2 + .../app-nodes/n8n-nodes-base.gotowebinar.md | 2 + .../app-nodes/n8n-nodes-base.grafana.md | 1 + .../app-nodes/n8n-nodes-base.harvest.md | 2 + .../app-nodes/n8n-nodes-base.helpscout.md | 2 + .../app-nodes/n8n-nodes-base.highlevel.md | 1 + .../app-nodes/n8n-nodes-base.hubspot.md | 2 + .../app-nodes/n8n-nodes-base.invoiceninja.md | 2 + .../builtin/app-nodes/n8n-nodes-base.jira.md | 2 + .../builtin/app-nodes/n8n-nodes-base.keap.md | 2 + .../app-nodes/n8n-nodes-base.kobotoolbox.md | 2 + .../app-nodes/n8n-nodes-base.lemlist.md | 1 + .../builtin/app-nodes/n8n-nodes-base.line.md | 2 + .../app-nodes/n8n-nodes-base.linear.md | 1 + .../app-nodes/n8n-nodes-base.linkedin.md | 2 +- .../app-nodes/n8n-nodes-base.lonescale.md | 2 + .../app-nodes/n8n-nodes-base.magento2.md | 1 + .../app-nodes/n8n-nodes-base.mailchimp.md | 2 + .../app-nodes/n8n-nodes-base.mailgun.md | 2 + .../app-nodes/n8n-nodes-base.mailjet.md | 2 + .../app-nodes/n8n-nodes-base.mattermost.md | 2 + .../app-nodes/n8n-nodes-base.mautic.md | 2 + .../app-nodes/n8n-nodes-base.medium.md | 2 +- .../app-nodes/n8n-nodes-base.metabase.md | 3 +- .../n8n-nodes-base.microsoftdynamicscrm.md | 1 + .../n8n-nodes-base.microsoftexcel.md | 2 + .../n8n-nodes-base.microsoftgraphsecurity.md | 1 + .../n8n-nodes-base.microsoftoutlook.md | 1 + .../n8n-nodes-base.microsoftteams.md | 2 + .../app-nodes/n8n-nodes-base.microsofttodo.md | 1 + .../app-nodes/n8n-nodes-base.mindee.md | 2 +- .../builtin/app-nodes/n8n-nodes-base.misp.md | 1 + .../app-nodes/n8n-nodes-base.mondaycom.md | 2 + .../app-nodes/n8n-nodes-base.nextcloud.md | 2 +- .../app-nodes/n8n-nodes-base.nocodb.md | 1 + .../app-nodes/n8n-nodes-base.notion.md | 2 +- .../builtin/app-nodes/n8n-nodes-base.npm.md | 2 + .../app-nodes/n8n-nodes-base.pagerduty.md | 2 +- .../app-nodes/n8n-nodes-base.phantombuster.md | 2 +- .../app-nodes/n8n-nodes-base.philipshue.md | 2 +- .../app-nodes/n8n-nodes-base.pipedrive.md | 2 + .../app-nodes/n8n-nodes-base.pushbullet.md | 1 + .../app-nodes/n8n-nodes-base.pushover.md | 1 + .../app-nodes/n8n-nodes-base.quickbooks.md | 2 + .../app-nodes/n8n-nodes-base.raindrop.md | 1 + .../app-nodes/n8n-nodes-base.reddit.md | 1 + .../app-nodes/n8n-nodes-base.rocketchat.md | 2 +- .../app-nodes/n8n-nodes-base.rundeck.md | 2 + .../app-nodes/n8n-nodes-base.salesforce.md | 2 + .../app-nodes/n8n-nodes-base.segment.md | 2 + .../app-nodes/n8n-nodes-base.sendgrid.md | 2 + .../app-nodes/n8n-nodes-base.sentryio.md | 1 + .../app-nodes/n8n-nodes-base.servicenow.md | 2 + .../app-nodes/n8n-nodes-base.shopify.md | 2 + .../builtin/app-nodes/n8n-nodes-base.slack.md | 1 + .../app-nodes/n8n-nodes-base.spotify.md | 2 + .../app-nodes/n8n-nodes-base.strapi.md | 2 + .../app-nodes/n8n-nodes-base.strava.md | 1 + .../app-nodes/n8n-nodes-base.stripe.md | 2 + .../app-nodes/n8n-nodes-base.supabase.md | 1 + .../app-nodes/n8n-nodes-base.thehive.md | 3 +- .../app-nodes/n8n-nodes-base.todoist.md | 2 + .../app-nodes/n8n-nodes-base.trello.md | 2 + .../builtin/app-nodes/n8n-nodes-base.twake.md | 2 + .../app-nodes/n8n-nodes-base.twilio.md | 2 + .../builtin/app-nodes/n8n-nodes-base.twist.md | 2 + .../builtin/app-nodes/n8n-nodes-base.uproc.md | 2 +- .../app-nodes/n8n-nodes-base.urlscanio.md | 1 + .../n8n-nodes-base.venafitlsprotectcloud.md | 2 + ...n-nodes-base.venafitlsprotectdatacenter.md | 4 +- .../app-nodes/n8n-nodes-base.webflow.md | 2 +- .../builtin/app-nodes/n8n-nodes-base.wekan.md | 2 +- .../app-nodes/n8n-nodes-base.whatsapp.md | 1 + .../app-nodes/n8n-nodes-base.woocommerce.md | 2 +- .../app-nodes/n8n-nodes-base.wordpress.md | 2 +- .../builtin/app-nodes/n8n-nodes-base.xero.md | 1 + .../app-nodes/n8n-nodes-base.youtube.md | 1 + .../app-nodes/n8n-nodes-base.zendesk.md | 2 + .../app-nodes/n8n-nodes-base.zohocrm.md | 2 + .../builtin/app-nodes/n8n-nodes-base.zoom.md | 2 + .../app-nodes/n8n-nodes-langchain.openai.md | 7 +- .../core-nodes/n8n-nodes-base.httprequest.md | 2 +- docs/integrations/builtin/rate-limits.md | 60 ++++++++++++++++++ document-templates/app-nodes.md | 13 +++- mkdocs.yml | 1 + 146 files changed, 347 insertions(+), 27 deletions(-) create mode 100644 _snippets/integrations/builtin/app-nodes/operation-not-supported.md create mode 100644 docs/_images/integrations/builtin/rate-limits/loop-wait.png create mode 100644 docs/integrations/builtin/rate-limits.md diff --git a/_snippets/integrations/builtin/app-nodes/operation-not-supported.md b/_snippets/integrations/builtin/app-nodes/operation-not-supported.md new file mode 100644 index 00000000000..10630190684 --- /dev/null +++ b/_snippets/integrations/builtin/app-nodes/operation-not-supported.md @@ -0,0 +1,11 @@ +## What to do if your operation isn't supported + +If this node doesn't support the operation you want to do, you can use the [HTTP Request node](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to call the service's API. + +You can use the credential you created for this service in the HTTP Request node: + +1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**. +1. Select the service you want to connect to. +1. Select your credential. + +Refer to [Custom API operations](/integrations/custom-operations/) for more information. diff --git a/docs/_images/integrations/builtin/rate-limits/loop-wait.png b/docs/_images/integrations/builtin/rate-limits/loop-wait.png new file mode 100644 index 0000000000000000000000000000000000000000..f1b0ada19c1456f0f3becfa242f98746ccd642db GIT binary patch literal 11135 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 t%sFbI{vYDsW1T{B4)s66ZY329WnNKNELw + +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md index 280343357c7..59745bfc69d 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md @@ -37,4 +37,6 @@ n8n also provides: * A [node](/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectcloud/) and [trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger/) node for Venafi TLS Protect Cloud. - \ No newline at end of file + + +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.webflow.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.webflow.md index fd41d4fc4d2..9e291ca61eb 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.webflow.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.webflow.md @@ -26,4 +26,4 @@ For usage examples and templates to help you get started, take a look at n8n's [ * Get All * Update - +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.wekan.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.wekan.md index feba2594cf9..6f23da0a2f1 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.wekan.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.wekan.md @@ -50,7 +50,7 @@ For usage examples and templates to help you get started, take a look at n8n's [ * Get the data of a list * Get all board lists - +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" ## FAQs diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp.md index 8385d675a87..400671f60ad 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp.md @@ -32,3 +32,4 @@ Refer to [WhatsApp Business Platform's Cloud API documentation](https://develope View [example workflows and related content](https://n8n.io/integrations/whatsapp-business-cloud/){:target=_blank .external-link} on n8n's website. +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce.md index f73b05c239b..54c606f0155 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce.md @@ -38,5 +38,5 @@ For usage examples and templates to help you get started, take a look at n8n's [ * Get all products * Update a product - +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.wordpress.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.wordpress.md index 9f4ddea688d..9e1e530b537 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.wordpress.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.wordpress.md @@ -35,5 +35,5 @@ For usage examples and templates to help you get started, take a look at n8n's [ * Get all users * Update a user - +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.xero.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.xero.md index acd4d335352..f8208690ba6 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.xero.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.xero.md @@ -36,3 +36,4 @@ View [example workflows and related content](https://n8n.io/integrations/xero/){ Refer to [Xero's API documentation](https://developer.xero.com/documentation/api/accounting/overview){:target=_blank .external-link} for more information about the service. +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.youtube.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.youtube.md index a5e4554c74e..0855398d51e 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.youtube.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.youtube.md @@ -45,3 +45,4 @@ For usage examples and templates to help you get started, take a look at n8n's [ * Video Category * Retrieve all video categories +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zendesk.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zendesk.md index 17e8e6608d2..0e4536e7d57 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zendesk.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zendesk.md @@ -46,3 +46,5 @@ For usage examples and templates to help you get started, take a look at n8n's [ * Get all organizations * Get data related to the organization * Update a organization + +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zohocrm.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zohocrm.md index 7e6600036b3..a34c3ffc201 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zohocrm.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zohocrm.md @@ -90,3 +90,5 @@ For usage examples and templates to help you get started, take a look at n8n's [ * Get a vendor * Get all vendors * Update a vendor + +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zoom.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zoom.md index 130c90e2cc6..3f559e3514f 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zoom.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zoom.md @@ -25,3 +25,5 @@ For usage examples and templates to help you get started, take a look at n8n's [ * Retrieve a meeting * Retrieve all meetings * Update a meeting + +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md b/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md index 122fba1d126..64a4e56e0f8 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md @@ -6,7 +6,7 @@ contentType: integration # OpenAI -Use the OpenAI node to automate work in OpenAI, and integrate OpenAI with other applications. n8n has built-in support for a wide range of OpenAI features, including creating images and chats, as well as moderating, and editing texts. +Use the OpenAI node to automate work in OpenAI, and integrate OpenAI with other applications. n8n has built-in support for a wide range of OpenAI features, including creating images and assistants, as well as chatting with models. On this page, you'll find a list of operations the OpenAI node supports and links to more resources. @@ -54,6 +54,11 @@ Refer to [OpenAI's assistants documentation](https://platform.openai.com/docs/as View [example workflows and related content](https://n8n.io/integrations/openai/){:target=_blank .external-link} on n8n's website. +For help dealing with rate limits, refer to [Handling rate limits](/integrations/builtin/rate-limits/). + +--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md" + + ## Using tools with OpenAI assistants Some operations allow you to connect tools. [Tools](https://docs.n8n.io/advanced-ai/examples/understand-tools/) act like addons that your AI can use to access extra context or resources. diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest.md index 640f9df738b..98ec05f2fd2 100644 --- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest.md +++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest.md @@ -68,7 +68,7 @@ You can choose to send additional information with your request. The data you ne Select **Add Option** to view and select these options. -- **Batching**: control how to batch large responses. +- **Batching**: control how to batch large numbers of input items. - **Ignore SSL Issues**: download the response even if SSL validation isn't possible. - **Redirects**: choose whether to follow redirects. Enabled by default. - **Response**: provide settings about the expected API response. diff --git a/docs/integrations/builtin/rate-limits.md b/docs/integrations/builtin/rate-limits.md new file mode 100644 index 00000000000..54913021668 --- /dev/null +++ b/docs/integrations/builtin/rate-limits.md @@ -0,0 +1,60 @@ +--- +title: Handling API rate limits +pageType: howto +description: How to handle API rate limits when using n8n integrations. +--- + +# Handling API rate limits + +API rate limits are restrictions on request frequency. For example, an API may limit the number of requests you can make per minute, or per day. + +APIs can also limits how much data you can send in one request, or how much data the API sends in a single response. + +## Identify rate limit issues + +When an n8n node hits a rate limit, it errors. n8n displays the error message in the node output panel. + +To check the rate limits for the service you're using, refer to the API documentation for the service. + +## Handle rate limits for app nodes + +There are two ways to handle rate limits in n8n's integrations: using the Retry On Fail setting, or using a combination of the [Loop Over Items](/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) and [Wait](/integrations/builtin/core-nodes/n8n-nodes-base.wait/) nodes: + +* Retry On Fail adds a pause between API request attempts. +* With Loop Over Items and Wait you can break you request data into smaller chunks, as well as pausing between requests. + +### Enable Retry On Fail + +When you enable Retry On Fail, the node automatically tries the request again if it fails the first time. + +1. Open the node. +1. Select **Settings** ![Settings icon](/_images/common-icons/settings.png). +1. Enable the **Retry On Fail** toggle. +1. Configure the retry settings: if using this to work around rate limits, set **Wait Between Tries (ms)** to more than the rate limit. For example, if the API you're using allows one request per second, set **Wait Between Tries (ms)** to `1000` to allow a 1 second wait. + +### Use Loop Over Items and Wait + +Use the Loop Over Items node to batch the input items, and the Wait node to introduce a pause between each request. + +1. Add the Loop Over Items node before the node that calls the API. Refer to [Loop Over Items](/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) for information on how to configure the node. +1. Add the Wait node after the node that calls the API, and connect it back to the Loop Over Items node. Refer to [Wait](/integrations/builtin/core-nodes/n8n-nodes-base.wait/) for information on how to configure the node. + +For example, to handle rate limits when using OpenAI: + +!["Screenshot of a workflow using the Loop Over Items node and Wait node to handle API rate limits for the OpenAI APIs"](/_images/integrations/builtin/rate-limits/loop-wait.png) + +## Handle rate limits in the HTTP Request node + +The HTTP Request node has built-in settings for handling rate limits and large amounts of data. + +### Batch requests + +Use the Batching option to send more than one request, reducing the request size, and introducing a pause between requests. This is the equivalent of using Loop Over Items and Wait. + +1. In the HTTP Request node, select **Add Option** > **Batching**. +1. Set **Items per Batch**: this is the number of input items to include in each request. +1. Set **Batch Interval (ms)** to introduce a delay between requests. For example, if the API you're using allows one request per second, set **Wait Between Tries (ms)** to `1000` to allow a 1 second wait. + +### Paginate results + +APIs paginate their results when they need to send more data than they can handle in a single response. For more information on pagination in the HTTP Request node, refer to [HTTP Request node | Pagination](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/#pagination). diff --git a/document-templates/app-nodes.md b/document-templates/app-nodes.md index da541bdcad1..7905520d634 100644 --- a/document-templates/app-nodes.md +++ b/document-templates/app-nodes.md @@ -36,9 +36,11 @@ On this page, you'll find a list of operations the _Name_ node supports, and lin /// note | Credentials You can find authentication information for this node [here](/integrations/builtin/credentials/_Name_/). /// + /// note | Examples and templates For usage examples and templates to help you get started, refer to n8n's [_Name_'s integrations](https://n8n.io/integrations/_Name_/){:target=_blank .external-link} page. -/// +/// + ## Operations * _Bullet list_ @@ -50,13 +52,20 @@ For usage examples and templates to help you get started, refer to n8n's [_Name_ n8n provides a trigger node for _Name_. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base._Name_trigger/). -View [example workflows and related content](https://n8n.io/integrations/_Name_/){:target=_blank .external-link} on n8n's website. +View [example workflows and related content](https://n8n.io/integrations/_slug_/){:target=_blank .external-link} on n8n's website. Refer to [_Name_'s documentation](){:target=_blank .external-link} for more information about the service. + + + + diff --git a/mkdocs.yml b/mkdocs.yml index bac76713b7f..f253729747b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1063,6 +1063,7 @@ nav: - integrations/builtin/credentials/zscalerzia.md - integrations/builtin/credentials/zulip.md - Custom API actions for existing nodes: integrations/custom-operations.md + - Handle rate limits: integrations/builtin/rate-limits.md - Community nodes: - Installation and management: - integrations/community-nodes/installation/index.md From d7665101c7d3b4248e4278b83eefc8ac803b95e9 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Mon, 18 Mar 2024 12:52:09 +0000 Subject: [PATCH 2/3] add details re error message --- docs/integrations/builtin/rate-limits.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/integrations/builtin/rate-limits.md b/docs/integrations/builtin/rate-limits.md index 54913021668..ba442d72e1a 100644 --- a/docs/integrations/builtin/rate-limits.md +++ b/docs/integrations/builtin/rate-limits.md @@ -12,7 +12,9 @@ APIs can also limits how much data you can send in one request, or how much data ## Identify rate limit issues -When an n8n node hits a rate limit, it errors. n8n displays the error message in the node output panel. +When an n8n node hits a rate limit, it errors. n8n displays the error message in the node output panel. This includes the error message from the service. + +If n8n received error 429 (too many requests) from the service, the error message is **The service is receiving too many requests from you**. To check the rate limits for the service you're using, refer to the API documentation for the service. From 49c27a6306fdd5ceebb866d11fb1044a98252ce1 Mon Sep 17 00:00:00 2001 From: Deborah Date: Mon, 18 Mar 2024 14:25:31 +0000 Subject: [PATCH 3/3] Update docs/integrations/builtin/rate-limits.md --- docs/integrations/builtin/rate-limits.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/builtin/rate-limits.md b/docs/integrations/builtin/rate-limits.md index ba442d72e1a..3a618b1def2 100644 --- a/docs/integrations/builtin/rate-limits.md +++ b/docs/integrations/builtin/rate-limits.md @@ -18,7 +18,7 @@ If n8n received error 429 (too many requests) from the service, the error messag To check the rate limits for the service you're using, refer to the API documentation for the service. -## Handle rate limits for app nodes +## Handle rate limits for integrations There are two ways to handle rate limits in n8n's integrations: using the Retry On Fail setting, or using a combination of the [Loop Over Items](/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) and [Wait](/integrations/builtin/core-nodes/n8n-nodes-base.wait/) nodes: