News to X

automation · by zorilla · came with Zorilla

Finds new Hacker News stories about a subject you choose, has Claude draft a post, and puts it on X. Needs a Claude key named claude_key and an X key named x_key.

ScheduleEvery 30 minutesSearch Hacker NewsAbout "Robinhood Chain"Only the first timeOnce per id, everAsk Claudeclaude-sonnet-5Post to XPosts one message per item. 2…

5 steps, drawn from the file

What this can do

Read out of the file, not written by the author.

contacts api.anthropic.comcontacts api.x.comcontacts hn.algolia.com

Uses your saved keys named claude_keyx_key. It binds to your own keys of those names. No key travels in the file.

5 steps, started by Schedule.

Contents
{
  "name": "News to X",
  "nodes": [
    {
      "id": "clock",
      "type": "core.schedule",
      "params": {
        "mode": "every",
        "every": 30,
        "unit": "minutes"
      },
      "position": {
        "x": 40,
        "y": 170
      }
    },
    {
      "id": "news",
      "type": "hackernews.search",
      "params": {
        "query": "Robinhood Chain",
        "tags": "story",
        "minPoints": 0,
        "limit": 20
      },
      "position": {
        "x": 310,
        "y": 170
      }
    },
    {
      "id": "fresh",
      "type": "logic.once",
      "params": {
        "key": "{{ $json.id }}"
      },
      "position": {
        "x": 580,
        "y": 170
      }
    },
    {
      "id": "draft",
      "type": "anthropic.ask",
      "params": {
        "credential": "claude_key",
        "prompt": "Write one post for X about this story. Under 240 characters, no hashtags, no emoji, say what happened and why it matters.\n\n{{ $json.title }}\n{{ $json.url }}",
        "model": "claude-sonnet-5",
        "system": "You write for a technical audience that dislikes hype.",
        "maxTokens": 300
      },
      "position": {
        "x": 850,
        "y": 170
      }
    },
    {
      "id": "post",
      "type": "x.post",
      "params": {
        "credential": "x_key",
        "text": "{{ $json.text }}"
      },
      "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": "draft",
      "toPort": "main"
    },
    {
      "from": "draft",
      "fromPort": "main",
      "to": "post",
      "toPort": "main"
    }
  ]
}
Back

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.