npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@friday430/n8n-nodes-friday430

v0.1.6

Published

n8n community node for Friday 4:30 — food safety incident and crisis management

Readme

@friday430/n8n-nodes-friday430

An n8n community node for Friday 4:30 — food safety incident and crisis management.

Unlike the Zapier app, this needs no app-directory review: it's an npm package you install into your own n8n.

Install

In n8n: Settings → Community nodes → Install, then enter @friday430/n8n-nodes-friday430.

Self-hosted from source:

npm run build
npm link
cd ~/.n8n/nodes && npm link @friday430/n8n-nodes-friday430

Restart n8n afterwards so it picks the node up.

Connect

1. Get your client ID and secret

Email [email protected] from the address on your Friday 4:30 account, or raise it through Support in the dashboard, asking for n8n integration credentials. You'll be sent a client ID and client secret.

These are n8n-specific — deliberately not the Zapier pair — and they identify n8n as the tool, not you as the customer. They are not a password: the access grant happens on the consent screen below, under your own login, and nothing can be read or written until an admin approves it there.

An active Friday 4:30 subscription is required. Organisations on the Morning Brief-only plan cannot use the automation API.

2. Add the credential

Add a Friday 4:30 OAuth2 API credential and paste the pair in. Leave Dashboard URL and API URL at their defaults unless you're pointing at a staging environment.

3. Approve the connection

Clicking connect sends you to a Friday 4:30 consent screen, which shows the hostname the access will be sent to. That check matters: because n8n is self-hosted, Friday 4:30 cannot know your n8n's address in advance, so the person approving is the one confirming the destination is really theirs. Only your own n8n's /rest/oauth2-credential/callback over HTTPS is accepted (plus localhost for local installs).

The connection inherits the permissions of whoever approved it, so approve with an account whose role covers what your workflows do. If that account is later deactivated in Friday 4:30, the credential stops working and needs reconnecting.

Nodes

Friday 4:30 — actions and searches:

| Resource | Operations | |---|---| | Incident | Create, Update, Search | | Task | Create, Complete, Search, Get Overdue | | Comment | Create | | Complaint | Create | | Incident Cost | Create | | Product | Search | | Retailer | Search |

Searches emit one item per result, so they compose with the rest of a workflow directly.

Friday 4:30 Trigger — instant, via REST hooks. It registers its webhook URL when the workflow is activated and removes it on deactivation. Events:

new_incident, incident_updated, incident_closed, new_comment, task_assigned, task_completed, new_complaint, recall_match_found

Example workflows

Escalate a serious complaint. Friday 4:30 Trigger (new_complaint) → IF severity is highFriday 4:30 (Incident → Create) with the complaint's description, then Friday 4:30 (Task → Create) on the returned incident ID to assign the first investigation step.

Post incidents to Slack. Friday 4:30 Trigger (new_incident) → Slack (Send message), using title, severity and url from the trigger output. The url field links straight to the incident in the dashboard.

Chase overdue work every morning. Schedule Trigger (daily) → Friday 4:30 (Task → Get Overdue) → Slack or Send Email. Each overdue task arrives as its own item, so the downstream node runs once per task without a loop.

Log a supplier credit against an incident. Webhook (from your finance tool) → Friday 4:30 (Incident → Search) to find the incident by title → Friday 4:30 (Incident Cost → Create) with amount_minor and category.

One behaviour worth knowing

A workflow cannot trigger itself. Friday 4:30 deliberately fires no trigger for a write that arrived from an automation tool, so an "Incident Created" trigger will not fire for an incident your own workflow just created. Without that, wiring Create Incident to the Incident Created trigger would loop forever.

The same applies across tools: an incident created from n8n won't wake a Zapier trigger either, which is what stops n8n → Zapier → n8n cycles.

If you need a workflow to react to its own writes, branch within the workflow rather than round-tripping through a trigger.

Releasing

Publishing is done by .github/workflows/publish.yml, not from a laptop: n8n Cloud verification requires a provenance statement, which only a Trusted Publisher release can produce. Bump the version in package.json, then publish a GitHub release tagged v<version> — the workflow refuses a tag that disagrees with package.json. Use the manual Run workflow button (dry run on) to rehearse.

Amounts and dates

amount_minor on Incident Cost is in the smallest currency unit — 1250 is £12.50. Date fields accept ISO-8601.