Daily Web3 Digest Email
automation · by zorilla · came with Zorilla
One email a day with new Hacker News stories about web3, blockchain and crypto. Needs a Resend key named resend_key.
5 steps, drawn from the file
What this can do
Read out of the file, not written by the author.
contacts api.resend.comcontacts hn.algolia.comruns custom javascript
Uses your saved keys named resend_key. It binds to your own keys of those names. No key travels in the file.
5 steps, started by Schedule.
This runs javascript written by its author. That code is not sandboxed. It runs with the same access as Zorilla itself. Read it before you install it.
{
"name": "Daily Web3 Digest Email",
"nodes": [
{
"id": "clock",
"type": "core.schedule",
"params": {
"mode": "every",
"every": 1,
"unit": "days"
},
"position": {
"x": 40,
"y": 170
}
},
{
"id": "news",
"type": "hackernews.search",
"params": {
"query": "web3 OR blockchain OR ethereum OR solana",
"tags": "story",
"minPoints": 5,
"limit": 25
},
"position": {
"x": 310,
"y": 170
}
},
{
"id": "fresh",
"type": "logic.once",
"params": {
"key": "{{ $json.id }}"
},
"position": {
"x": 580,
"y": 170
}
},
{
"id": "digest",
"type": "code.js",
"params": {
"code": "const rows = items.map((i) => i.json)\nif (!rows.length) return []\nconst html = rows\n .sort((a, b) => (b.points ?? 0) - (a.points ?? 0))\n .map((s) => `<p><a href=\"${s.url || 'https://news.ycombinator.com/item?id=' + s.id}\">${s.title}</a><br><small>${s.points ?? 0} points</small></p>`)\n .join('')\nreturn [{ json: { count: rows.length, html } }]",
"timeout": 15
},
"position": {
"x": 850,
"y": 170
}
},
{
"id": "mail",
"type": "resend.send",
"params": {
"credential": "resend_key",
"to": "you@example.com",
"subject": "Web3 digest: {{ $json.count }} new stories",
"html": "{{ $json.html }}"
},
"position": {
"x": 1120,
"y": 170
}
}
],
"edges": [
{
"from": "clock",
"fromPort": "main",
"to": "news",
"toPort": "main"
},
{
"from": "news",
"fromPort": "main",
"to": "fresh",
"toPort": "main"
},
{
"from": "fresh",
"fromPort": "main",
"to": "digest",
"toPort": "main"
},
{
"from": "digest",
"fromPort": "main",
"to": "mail",
"toPort": "main"
}
]
}Download it, then in Zorilla press add one from a file. You get a screen listing what it contacts and which keys it asks for before anything is saved.