Automation
Orvyn in n8n
A workflow that reads the number on a schedule and passes it on, step by step, for someone who has never installed anything.
- Takes
- About 3 minutes
- You need
- An n8n account, cloud or on your own server
- Nothing to pay: the free number needs no key
- Costs
- Nothing for the free number, which runs a little behind. The signed, newest number takes a pack bought on the feed’s page; every guide ends with how.
First, pick the number you want
Every line further down is then written for it, ready to copy.
You picked
EUR / USD, ECB reference rate
by Orvyn · changes every day · its page
Its address, which the lines below carry:orvyn/eur-usd-ecb-reference
The free number right now
1.1411
measured · runs 15 minutes behind
Then follow the steps
In about three minutes a workflow reads EUR / USD, ECB reference rate on a schedule and hands the number to whatever comes next: a message, a row in a sheet, a switch. You paste a ready made workflow; nothing is installed, so it works on n8n cloud too.
Copy the workflow
The whole thing, with the copy button. It holds three steps: a schedule, a request to Orvyn, and a step that turns the answer into a plain number.
workflow.json { "name": "Orvyn: EUR / USD, ECB reference rate", "nodes": [ { "parameters": { "rule": { "interval": [ { "field": "days", "daysInterval": 1 } ] } }, "name": "Runs every day", "type": "n8n-nodes-base.scheduleTrigger", "typeVersion": 1.2, "position": [ 0, 0 ] }, { "parameters": { "url": "https://orvyn.me/gw/v1/feeds/orvyn/eur-usd-ecb-reference/preview", "options": {} }, "name": "Read from Orvyn", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 260, 0 ] }, { "parameters": { "assignments": { "assignments": [ { "id": "value", "name": "value", "value": "={{ Number($json.preview.value) / 10 ** $json.decimals }}", "type": "number" }, { "id": "observedAt", "name": "observedAt", "value": "={{ new Date(Number($json.preview.observedAtMs)).toISOString() }}", "type": "string" }, { "id": "feed", "name": "feed", "value": "orvyn/eur-usd-ecb-reference", "type": "string" }, { "id": "unit", "name": "unit", "value": "", "type": "string" } ] }, "options": {} }, "name": "The number", "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 520, 0 ] } ], "connections": { "Runs every day": { "main": [ [ { "node": "Read from Orvyn", "type": "main", "index": 0 } ] ] }, "Read from Orvyn": { "main": [ [ { "node": "The number", "type": "main", "index": 0 } ] ] } } }Paste it on an empty canvas
In n8n, press Create workflow. Click once on the empty canvas and paste (Ctrl+V, or ⌘V on a Mac).You should see: Three connected nodes appear: a schedule, Read from Orvyn, and The number.
Run it once
Press Execute workflow at the bottom. Then open the last node, The number, and look at its output on the right.You should see:
valueis the number, 1.1411 right now, as a number you can compare and calculate with,observedAtis when it was measured, andunitis its unit.Add what should happen next, and switch it on
Press the + after The number and pick anything: Gmail, Slack, Google Sheets, Telegram, an IF that only goes on when the number crosses a line. Usevaluefrom The number in it. Then Save and set the toggle at the top right to Active. The workflow runs every day, which is how often this feed changes; more often would find the same number again.
The Orvyn node, for search, history and a trigger
The node adds a search, the feed’s details, the signed report, past reports, and a trigger that starts a workflow once per new report and spends nothing while it waits. Once it is on npm: Settings › Community nodes › Install › n8n-nodes-orvyn. Until then it goes into a server you run yourself:
npm install https://orvyn.me/toolkit/n8n/n8n-nodes-orvyn-0.1.0.tgz --legacy-peer-deps --ignore-scripts # then restart n8n and search for Orvyn in the node panel
Want the signed number instead?
What you set up above shows the free number. It runs 15 minutes behind and is not signed, which is fine for a dashboard. The signed number is the newest one, and it comes with a proof anyone can check on the check page or on chain. It costs a little: you buy a pack of reads once, with your wallet, then a key spends from that pack. Three steps, in this order.
- 1
Buy a pack on the feed’s page. The smallest is enough to start; a pack is a number of reads, and the page says what each costs.
- 2
Make a key with the wallet that bought the pack. Sign in here and it is made for you, or make one under Dashboard, API keys, with the read scope only. A read key can spend the reads you bought and nothing more, and you revoke it there.
- 3
Put the key in n8n. Without the node: open Read from Orvyn, change the end of its URL from
/previewto/latest, switch on Send Headers, add a header namedAuthorizationwith the valueBearer lk_…, and in The number read$json.report.valueinstead of$json.preview.value. With the node: Credentials › Orvyn API, paste the key; the Latest operation and the trigger then read the signed report oforvyn/eur-usd-ecb-reference.
No tool holds a wallet or pays by itself. However often a sheet recalculates or a workflow runs, a feed is read from your pack at most once every day, because that is how often it changes.
If something looks wrong
| You see | It means |
|---|---|
| Nothing appears when pasting | Click on the canvas itself first, so it has the focus, then paste again. Make sure the whole JSON was copied, from the first brace to the last. |
| No calls left for … | Your key holds no pack for this feed. Buy one on the feed’s page. |
| The API key was refused (401) | The key is wrong or was revoked. Make a new one. |
| No feed at … (404) | The address in the URL has a typo. Pick the feed above and copy the workflow again. |
| Too many requests (429) | The free number is rate limited. Run it less often; the schedule in the pasted workflow already matches the feed. |
Still stuck? Say so on X with the words on your screen, and we will answer.
Take it out again
Delete the workflow. If you installed the node, Settings › Community nodes › Uninstall, and delete the Orvyn API credential.