Package Information
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)
- In n8n, go to Settings → Community Nodes → Install.
- Enter
n8n-nodes-junctionary-pulseand install. - 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:
- Subscribe to the Agent plan ($5/mo per 5 ticker slots).
- Create an API key at junctionarypulse.com/profile.
- In n8n, add a Junctionary Pulse API credential and paste your key.
- Click Test — it calls
GET /api/pulsesto 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
- Add the trigger to a workflow. n8n will show a webhook URL (use the production URL).
- 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"}'
- The response contains a signing secret (shown once — save it).
- Paste the secret into the trigger's Webhook Signing Secret field.
- 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.