Directoryz + n8n
The n8n-nodes-directoryz package ships two nodes: a Directoryz action node that reads directories and listings through the REST API, and a Directoryz Trigger that starts workflows from signed webhooks. One OAuth account connection covers both.
What you can automate
Directoryz handles submissions, listings, and leads. n8n carries the result to the rest of your stack.
Track listing status
Poll any directory on a schedule, compare draft and published listings against the last run, and write changes to a spreadsheet, a database, or a channel.
React to approved submissions
An approved submission becomes a published listing. Detect new published listings on each run and notify the people who need to know.
Route new leads instantly
The Directoryz Trigger registers a signed lead.created webhook when the workflow activates, so inquiries can create tasks, CRM records, or alerts within seconds and without polling.
Report on the workspace
List every directory in a workspace, count listings, and send a digest to Slack or email on the cadence you choose.
Install the node
Both nodes ship in the npm package n8n-nodes-directoryz 3.2.0 and run on n8n Cloud or on a self-hosted instance.
Search for Directoryz in the nodes panel
- 01Open the nodes panel
In any n8n Cloud workflow, click the plus button and search for Directoryz. Verified community nodes install from the panel without a package name.
- 02Add the Directoryz node or Directoryz Trigger
Select either node from the results. n8n installs n8n-nodes-directoryz for your instance the first time you add it, and both nodes become available.
- 03Create the credential
Choose Directoryz OAuth2 API when the node asks for a credential, then continue with the account connection steps below.
Settings > Community Nodes > n8n-nodes-directoryz
- 01Open Settings > Community Nodes
Sign in to your self-hosted n8n as the instance owner and open Settings, then Community Nodes, then Install.
- 02Enter n8n-nodes-directoryz
Paste the npm package name n8n-nodes-directoryz, accept the community node notice, and click Install. The node appears in the panel after n8n reloads.
- 03Use n8n 2.40.7 or newer
The Directoryz credential relies on OAuth dynamic client registration, which n8n added in 2.40.7. Upgrade older instances before connecting, and give the instance a public HTTPS webhook URL if you plan to use the trigger.
Connect your account
Authentication is a one-time OAuth connection. n8n registers itself with Directoryz and refreshes the token on your behalf.
- 01Add a Directoryz OAuth2 API credential
Open the Directoryz node or the Directoryz Trigger, choose Create new credential, and keep the defaults. No client ID, client secret, or API key is typed into n8n.
- 02Click Connect my account
n8n discovers the Directoryz authorization server, registers its own client, and opens the Directoryz consent screen in a new window. The flow uses the authorization code grant with PKCE, expiring access tokens, and refresh tokens.
- 03Approve the connection in Directoryz
Sign in to directoryz.app if prompted, review the workspace and permissions shown on the consent screen, and approve. The credential asks for read access plus webhooks:manage so the trigger can register its own subscription; the screen explains that lead contact details can be delivered to your workflow.
- 04Save and pick a resource
Save the credential, select a resource and operation such as Account > Get Profile, and execute the node once to confirm the response. The same credential works on the Directoryz Trigger.
Where keys and secrets live
Three credentials cover every n8n use case. Only the first is required for the node itself.
Account connection for both nodes
Inside n8n: Directoryz OAuth2 API credential > Connect my accountThe action node and the trigger authenticate with OAuth against the REST resource at api.directoryz.app/v1, not with an API key. The grant covers your workspace profile, directories, listings, and webhook subscriptions. Revoke it from n8n by deleting the credential.
Workspace API key for HTTP Request nodes
Directoryz app > sidebar > API (directoryz.app/app/api-keys)Workspace owners and admins create scoped, expiring keys with directories:read, directories:write, listings:read, and listings:write scopes. The full key is shown once. Use it as a bearer token in the n8n HTTP Request node against the REST API documented at api.directoryz.app/docs.
Webhook signing secret
Directoryz app > open a directory > Leads > Webhooks > Add endpointThe Directoryz Trigger registers its own subscription and stores the signing secret inside n8n, so nothing needs to be copied for trigger workflows. The manual path above is only for a generic n8n Webhook node or another system: Directoryz reveals the signing secret once when the endpoint is created, and you verify every delivery yourself.
Operations by resource
The Directoryz action node calls the REST API at api.directoryz.app/v1. Every operation in version 3.2.0 is a read and returns the same structured data the Directoryz dashboard uses.
Account
Identify the connected account and the workspace the credential belongs to.
| Operation | Access | Input | What it returns |
|---|---|---|---|
Get Profileget_profile | Read | No input | GET /v1/account. Returns the connected account and workspace profile. Use it to confirm the credential before scheduling anything. |
Directory
Read the directories owned by the connected workspace without publishing or changing them.
| Operation | Access | Input | What it returns |
|---|---|---|---|
List Directorieslist_directories | Read | Return All or Limit | GET /v1/directories. Lists the directories in the selected workspace with slug, status, listing count, public URL, submission settings, and domain state. |
Get Directoryget_directory | Read | Directory ID | GET /v1/directories/:directoryId. Reads one owned directory, including its published or draft status, custom listing fields, submission mode, lead capture settings, and public URL. |
Listing
Read listings inside a directory you own, including submissions that were approved and published.
| Operation | Access | Input | What it returns |
|---|---|---|---|
List Listingslist_listings | Read | Directory ID, Return All or Limit | GET /v1/directories/:directoryId/listings. Follows the API pagination and returns listings with name, slug, category, tags, featured flag, draft or published status, views, custom values, and updated_at. |
Directoryz Trigger and signed webhooks
Event-driven workflows start from the Directoryz Trigger node, which receives signed lead.created webhooks.
Directoryz Trigger node
Receive signed Directoryz webhooks. The trigger manages its own subscription and verifies every delivery before your workflow runs.
- 01Add the Directoryz Trigger
Start a new workflow with the Directoryz Trigger node and select the same Directoryz OAuth2 API credential. No endpoint, secret, or event list is typed in.
- 02Activate the workflow
On activation the node registers a signed lead.created webhook subscription with Directoryz using the n8n webhook URL. The URL must be public HTTPS.
- 03Receive verified events
Each delivery is checked against the stored signing secret, the five-minute timestamp window, and the event ID before the payload reaches your workflow. Invalid requests are rejected with 401.
- 04Deactivate to clean up
Deactivating the workflow deletes only the subscription this node created. Endpoints you added by hand in the Directoryz app are left untouched.
Webhook events
Events delivered to the Directoryz Trigger, or to any HTTPS endpoint you register by hand in the Directoryz app.
| Event | Status | When it fires |
|---|---|---|
lead.created | Live | Sent when a visitor submits the inquiry form on a published listing. The payload carries the contact details, message, listing context, consent, referrer, and UTM attribution. The Directoryz Trigger subscribes to this event automatically. |
webhook.test | Test | Sent when you click Send test on an endpoint in the Directoryz app. The Directoryz Trigger accepts it, so you can confirm the workflow end to end before a real lead arrives. |
Verify every delivery
Headers: X-Directoryz-Signature X-Directoryz-Timestamp X-Directoryz-Event X-Directoryz-Event-Id X-Directoryz-Delivery
v1=hex(HMAC_SHA256(signing_secret, X-Directoryz-Timestamp + "." + raw_body))- The Directoryz Trigger does all of this for you: constant-time signature comparison, a five-minute timestamp window, a 256 KB body limit, and an event ID check against X-Directoryz-Event-Id.
- If you use a generic n8n Webhook node instead, compare the computed signature with X-Directoryz-Signature using a constant-time comparison and reject deliveries whose timestamp is older than five minutes.
- Deliveries time out after ten seconds, retry with exponential backoff, and land in a dead-letter queue after repeated failures, so respond quickly and do the work after the response.
- Use X-Directoryz-Event-Id to deduplicate retried deliveries.
Workflow recipes
Six starting points that combine the action node, the Directoryz Trigger, and the tools your team already uses.
Post approved submissions to Slack
Schedule trigger every 15 minutes- Directoryz: List Listings for the directory that accepts submissions
- Split Out the items array, then Filter on status equals published
- Remove Duplicates by id, keeping items seen in previous executions
- Slack: post the listing name, category, and public URL to #directory
Every submission your team approves shows up in Slack within minutes, without anyone copying links by hand.
Log listing status to Airtable
Schedule trigger nightly- Directoryz: List Listings for each directory you track
- Split Out the items array and map id, name, status, featured, category, and updated_at
- Airtable: upsert on the Directoryz id field
A living Airtable base of every listing, its draft or published status, and when it last changed.
Email the founder when a directory goes live
Schedule trigger every hour- Directoryz: Get Directory with the directory id
- IF status equals published and the previous run stored draft
- Gmail or SMTP: send the public URL and a short launch note
The person who asked for the directory hears the moment it is published, with the live link in hand.
Weekly submissions digest
Schedule trigger every Monday at 09:00- Directoryz: List Directories, then List Listings for each one
- Filter listings whose updated_at falls inside the last seven days
- Code node: group by directory and count published and draft listings
- Email or Slack: send the summary to the operations channel
A Monday summary of what was submitted, approved, and published across the workspace.
Create tasks in Notion from new leads
Directoryz Trigger receiving lead.created- Directoryz Trigger: activate the workflow and the node registers its signed webhook subscription
- IF type equals lead.created, so webhook.test deliveries are ignored
- Notion: create a page in the Follow-ups database with the contact, listing, and message
Every inquiry on a published listing becomes an assignable task in Notion within seconds, with the signature already verified.
Keep a Google Sheet in sync with every listing
Schedule trigger every six hours- Directoryz: List Directories
- Loop over directories and run List Listings for each
- Google Sheets: append or update rows keyed by listing id
A spreadsheet your wider team can filter and share, refreshed automatically from the directories you operate.
Why n8n
n8n gives directory operators a self-hostable automation layer with hundreds of integrations and a visual editor.
No secrets in workflow fields
Both nodes use OAuth with dynamic client registration and PKCE. n8n stores and refreshes the token, and the trigger keeps its own signing secret; nothing sensitive is pasted into a workflow.
Read-only actions
Every action operation in version 3.2.0 is a read. Workspace roles, ownership checks, and plan limits still apply on the Directoryz side.
A real trigger node
The Directoryz Trigger registers, verifies, and cleans up its own signed webhook subscription, so event-driven workflows need no manual endpoint setup.
Usable as an AI tool
The action node is marked usable as a tool, so n8n AI agents can read your directories and listings when a conversation calls for it.
Runs anywhere n8n runs
Install from the n8n Cloud nodes panel or from Settings > Community Nodes on a self-hosted instance running 2.40.7 or newer.
Open source and inspectable
The package is MIT licensed, built and published from GitHub Actions with provenance, and installs no external runtime dependencies.
Frequently asked questions
Does the Directoryz n8n node need an API key?
No. Both nodes authenticate with a Directoryz OAuth2 API credential and the Connect my account button. Workspace API keys are only needed if you call the REST API directly from an HTTP Request node.
Can the node create or publish listings?
Version 3.2.0 ships read operations: Get Profile, List Directories, Get Directory, and List Listings. For writes, use the REST API with a scoped workspace API key from the HTTP Request node.
Is there a dedicated Directoryz trigger node?
Yes. The Directoryz Trigger registers a signed lead.created webhook subscription when the workflow activates, verifies every delivery, and deletes only its own subscription when the workflow deactivates. It needs a workspace admin role, a paid plan, and a public HTTPS n8n webhook URL.
Which plan do I need?
The action node works with any Directoryz workspace. The Directoryz Trigger and signed lead webhooks require a paid workspace and a workspace admin role, and lead capture requires the directory to have lead forms enabled.
Where do I report a problem with the node?
Open an issue on the GitHub repository for n8n-nodes-directoryz. Account, billing, and workspace questions go through Directoryz support.