Oura n8n integrationAutomate Oura with n8n.
Ring data is more useful in a workflow than in an app you have to open. The Oura n8n integration ships 4 operations across 2 resources, profile and summary. Every run starts from a Schedule Trigger or another node, and the results flow into the tools you already use.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Oura n8n integration actually do?
The Oura node talks to the Oura API using a personal access token stored in a credential, the saved login n8n keeps once and reuses everywhere. Two resources are available. Profile returns the personal information attached to the account. Summary returns activity, readiness and sleep summaries for the date range you ask for, as items, the individual records n8n passes from node to node.
Three shapes cover most of what gets built with this node. A weekly log: a Schedule Trigger fires on Monday, the node reads the activity summary for the days before, and the rows land in Google Sheets next to everything else being tracked. A morning digest: the readiness summary arrives in Slack as one message. A written record: the sleep summary becomes an entry in a Notion database, one per execution.
The three summary operations share the same controls, which makes them quick to learn together. A Filters collection holds Start Date and End Date. Return All and Limit decide how much of the window comes back in a single run. Profile sits apart: it takes no parameter at all, which also makes it the fastest way to check that a fresh credential works.
When an operation is missing from the dedicated node, the HTTP Request node calls any endpoint of the Oura API and reuses the same credential through its predefined authentication. Nothing to configure twice.
One habit worth picking up early. The dates are optional, but they are not neutral. Left empty, End Date falls on the current day and Start Date goes back a week. That is right for a daily run and wrong for a backfill, so set both when the window matters. Values coming from an earlier node are written as an expression, the n8n syntax that reads a value out of the incoming item, in the form {{ $json.field }}.
Still deciding whether n8n is the right home for this? The n8n review walks through the trade-offs, and the n8n training covers what actually slows people down, expressions and error handling first.
How do you connect Oura to n8n?
- 01
Open an Oura developer account
The credential starts outside n8n. Create an Oura account on the Oura developer site, which is the prerequisite listed in the n8n credentials documentation for this node. The same account is what the token will later read, so use the one whose data belongs in the workflow rather than a spare address created for the occasion.
- 02
Generate a Personal Access Token
Go to the Personal Access Tokens page of the Oura cloud console and select Create A New Personal Access Token. That token is the single piece of information n8n needs. Keep it somewhere you control while you finish the setup, because it is what you will paste into the credential in the next step.
- 03
Save the credential in n8n
In n8n, open the Credentials menu, create an Oura credential and paste the personal access token into it. Back in the workflow, drop an Oura node, pick that credential from the dropdown, then choose a resource and an operation. Profile is the shortest first run because it needs nothing else filled in.
What the Oura node can do
The Oura node exposes 4 operations across 2 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Get | Get Activity Summary | Get Readiness Summary | Get Sleep Periods |
|---|---|---|---|---|
| Profile | ✓ | |||
| Summary | ✓ | ✓ | ✓ |
Operations index
Profile
1 operationGet a profile
profile.getWhat you see in n8n
Notes & use cases
Returns the personal information held on the Oura account behind the token, as a single item in the workflow. There is nothing to fill in: select the Profile resource, run the node, read the output.
Summary
3 operationsGet activity summary
summary.getActivityWhat you see in n8n
Notes & use cases
Asks Oura for the activity summaries covering a window of days and passes them on as workflow items.
Key parameters
- Start Date and End Date: the two fields inside the Filters collection. Skip End Date and it defaults to the current day; skip Start Date and it defaults to a week earlier.
- Return All: switched on, n8n walks through the API pages until the whole window is back. Switched off, Limit caps how many summaries come through.
{{ $json.field }}.Get readiness summary
summary.getReadinessWhat you see in n8n
Notes & use cases
Same Summary resource, different call: this one hands back the readiness summaries for the period requested.
Key parameters
- Return All: leave it off for a short daily check and let Limit hold the number of summaries down to what the next node can handle.
- End Date: inside Filters, the last day of the window. Left empty it lands on the current day, which is usually what a morning workflow wants.
Get sleep summary
summary.getSleepWhat you see in n8n
Notes & use cases
Reads the sleep summaries over a chosen range of dates, which makes it the operation to reach for when a run has to cover more than yesterday.
Key parameters
- Start Date: inside Filters, the first day of the window. Feed it from an earlier node with
{{ $json.field }}to make the range depend on the data instead of a fixed setting. - Return All: on for a full export of the range, off when Limit should keep the run small.
Need help automating Oura with n8n?
A person reads every message.


