junctionary-pulse

n8n nodes for Junctionary Pulse — finished per-ticker stock briefings for AI agents. Pull briefings, history, trends and alerts; trigger workflows on new briefings via signed webhooks.

Package Information

Released: this month
Downloads: 0 weekly / 0 monthly
Latest Version: 1.0.0
Author: Junctionary Systems LLC

Documentation

n8n-nodes-junctionary-pulse

n8n community nodes for Junctionary Pulse — finished per-ticker stock briefings for AI agents, delivered as structured JSON.

Two nodes:

  • Junctionary Pulse (action) — pull briefings, 90-day history, sentiment trends, and price alerts for any ticker in your subscription.
  • Junctionary Pulse Trigger — fires your workflow the moment a new briefing is delivered via signed webhook (~6am CT on weekday mornings).

Installation

Via the n8n UI (recommended)

  1. In n8n, go to Settings → Community Nodes → Install.
  2. Enter n8n-nodes-junctionary-pulse and install.
  3. Restart n8n if prompted. The nodes appear in the node picker under "Junctionary Pulse".

Via npm

cd ~/.n8n
npm install n8n-nodes-junctionary-pulse

Then restart n8n.

Manual (development)

git clone https://github.com/junctionary-systems/junctionary-pulse.git
cd junctionary-pulse/integrations/n8n
npm install
npm run build
# link into your n8n custom nodes directory, then restart n8n

Credentials

Both nodes use the Junctionary Pulse API credential:

  1. Subscribe to the Agent plan ($5/mo per 5 ticker slots).
  2. Create an API key at junctionarypulse.com/profile.
  3. In n8n, add a Junctionary Pulse API credential and paste your key.
  4. Click Test — it calls GET /api/pulses to verify the key.

The key is sent as the X-API-Key header on every request. Rate limit: 120 requests/min.

Action node: Junctionary Pulse

Resource: Briefing

Operation What it does Endpoint
Get Latest This morning's briefing for the ticker GET /api/pulse/<id>/latest
Get for Date Full briefing for a specific date (YYYY-MM-DD), up to 90 days back GET /api/pulse/<id>/<date>
Get History Per-day rollups — headline, story count, sentiment label — up to 90 days GET /api/pulse/<id>/history?days=N

Resource: Trend

Operation What it does Endpoint
Get Daily sentiment scores, story volume, category mix GET /api/pulse/<id>/trends?days=N

Resource: Alert

Operation What it does Endpoint
Get Recent price-move alerts for the ticker (3% default threshold, checked every 30 min in market hours) GET /api/alerts?ticker=X

The Ticker dropdown is populated live from your account via GET /api/pulses — only tickers in your subscription return data; anything else returns a 403.

A briefing returns headline, tldr, the previous market close, and ranked items — each with summary, why_it_matters, sources (name + URL), and published timestamp.

Trigger node: Junctionary Pulse Trigger

Fires when Junctionary Pulse delivers a new briefing to you via webhook.

One-time setup

  1. Add the trigger to a workflow. n8n will show a webhook URL (use the production URL).
  2. Register that URL with Junctionary Pulse:
curl -X POST https://api.junctionarypulse.com/api/webhooks \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-n8n.example.com/webhook/junctionary-pulse"}'
  1. The response contains a signing secret (shown once — save it).
  2. Paste the secret into the trigger's Webhook Signing Secret field.
  3. Activate the workflow.

Every weekday morning (~6am CT), Junctionary Pulse POSTs each of your entitled briefings as {event: "briefing.daily", pulse, briefing} with X-Pulse-Signature (sha256= + HMAC-SHA256 of timestamp + "." + raw_body) and X-Pulse-Timestamp headers. The trigger verifies the signature before firing — a failed verification rejects the delivery.

Optional: set Ticker Filter (e.g. nvda, aapl) to fire only for specific tickers.

Example workflows

Daily briefing to Slack

Junctionary Pulse Trigger → Slack

Trigger on briefing.daily, then post {{$json.briefing.headline}} and the top stories to a Slack channel. Runs itself every weekday morning — no schedule node needed.

Backfill a missed week

Schedule Trigger (weekly) → Junctionary Pulse (Briefing → Get for Date)

Loop over the last 5 weekdays with an expression for date, pull each day's briefing, and append to a Google Sheet or Notion database. The 90-day archive means this works retroactively — raw news APIs can't reconstruct finished briefings.

Sentiment dashboard

Schedule Trigger (daily) → Junctionary Pulse (Trend → Get, days: 30) → Postgres / Google Sheets

Track per-ticker sentiment scores over time.

Development

npm install
npm run build   # tsc → dist/

Node logic is unit-tested via node -e against the compiled output (HMAC verification, node descriptions). There is no live n8n instance in CI — test webhook flows against the n8n webhook test URL before relying on production delivery.

License

MIT — see LICENSE.

Discussion