Package Information
Documentation
@skhema/n8n-nodes-skhema
An n8n community node for Skhema — the
strategy platform. Trigger workflows when people join your organization or
projects, and create projects, strategy elements, and compliance
completions from any n8n workflow.
The node mirrors Skhema's Zapier and Make integrations exactly (same triggers,
actions, field semantics, and output shapes), so an automation recipe built on
one platform replicates on the others.
Installation · Credentials · Triggers · Actions · Example · Resources
Installation
Follow the n8n community nodes installation guide:
in your n8n instance, go to Settings → Community Nodes → Install and enter@skhema/n8n-nodes-skhema.
Self-hosted n8n requires Node.js 20.19–24.
Credentials
The node authenticates with Skhema OAuth2 (Authorization Code + PKCE, as a
public client — no client secret). A connection represents your Skhema
organization.
- In Skhema, have an organization owner or admin register your n8n
instance's OAuth callback URL under Connections:https://<your-instance>/rest/oauth2-credential/callback
(for n8n Cloud:https://<workspace>.app.n8n.cloud/rest/oauth2-credential/callback).
Skhema refuses OAuth flows targeting unregistered callbacks — this is what
ties a connection to your instance. - Add a new Skhema OAuth2 API credential in n8n. The Client ID is
prefilled (Skhema's shared public client) and there is no secret to enter;
the endpoints and scopes are pre-configured. - Click Connect and authorize as an organization admin or owner, selecting
the organization the connection should act for.
Upgrading to 0.3.0: delete and re-create your Skhema credential. Saved
credentials keep the previous authorization endpoints, which no longer exist,
and tokens issued by them can no longer be refreshed.
Upgrading to 0.4.0 (breaking, SK-415): the workspace concept is renamed
to project ecosystem-wide, with no compatibility aliases. The resource
dropdown valueWorkspaceis nowProject; parameter names change fromworkspace/workspaceMemberId/workspaceFiltertoproject/projectMemberId/projectFilter; the trigger event moves fromworkspace.member_addedtoproject.member_added; and every REST call moves
from/v1/workspaces…to/v1/projects…. These parameter names are
serialised into your saved workflow JSON, so existing workflows will show
the old parameters as unresolved after upgrading — open each Skhema node
and re-select its resource/operation; on the Skhema Trigger node, its saved
Events valueworkspace.member_addedmust be re-selected asproject.member_added. Re-map any expression that referencedworkspaceId,workspaceMemberId, orworkspaceFilter(e.g.{{ $json.newState.workspaceMemberId }}→{{ $json.newState.projectMemberId }}) to the new field names before
reactivating the workflow.
Trigger node — Skhema Trigger
Instant, webhook-backed trigger — no polling. Subscriptions are registered
automatically when the workflow is activated and removed when it is
deactivated. Pick one or both events:
| Event | Fires when | Payload highlights |
|---|---|---|
| New User | a member joins your organization | user_name, user_email, role, joined_at |
| New Project Member | a member joins a project | the above plus projectName, membership source, and pendingCompliance (see example) |
The New Project Member event also carries has_pending_compliance,pending_compliance_count, and pending_compliance_names — flat fields that
are easy to filter on. An optional Project parameter restricts the trigger to
a single project; leave it empty to fire for every project in the
organization.
Action node — Skhema
| Resource | Operation | What it does |
|---|---|---|
| Project | Create | Create a project (name, visibility) |
| Project | Find | Find a project by name or ID |
| Element | Create | Create a strategy element in a project |
| Compliance | Find Requirement | List a project's compliance requirements |
| Compliance | Complete Member Compliance | Mark a member's compliance requirement as satisfied |
Create Element understands Skhema's component → element-type structure: the
element-type options scope to the chosen component. Project, member, and
requirement fields accept values from dropdowns or — the common pattern —
mapped expressions from a trigger, e.g.{{ $json.newState.projectMemberId }}.
Example: compliance hand-off
Automate project compliance (e.g. NDAs) end to end:
- Skhema Trigger — New Project Member, filtered on
has_pending_compliancebeing true. - Your e-signature node (PandaDoc, DocuSign, …) sends the document to
user_email. - On completion, Skhema — Complete Member Compliance marks the requirement
satisfied — mappingprojectId,newState.projectMemberId, andmetadata.pendingCompliance[0].idstraight from the trigger.
The trigger payload carries everything the completion action needs, so the
Skhema side of the workflow is exactly two nodes.
Compatibility
- n8n on Node.js 20.19–24 (self-hosted)
- Tested against n8n 2.x