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

n8n-nodes-hubseal

v1.0.2

Published

n8n community node for HubSeal e-signature workflows

Readme

n8n-nodes-hubseal


🚀 Why HubSeal?

  • For Everyone — Individual users get 5 free signatures monthly, with Starter and Pro plans available
  • Multi-Tenant Architecture — Built for organizations of all sizes
  • Template-Based Signing — Reusable document templates with predefined fields
  • Anchor Text Detection — Automatically place signature fields using text markers
  • Webhook Events — Real-time notifications for all signature lifecycle events
  • Enterprise Security — HMAC-signed webhooks, API key authentication, role-based access

📦 Installation

n8n Cloud

  1. Go to SettingsCommunity Nodes
  2. Click Install a community node
  3. Enter: n8n-nodes-hubseal
  4. Click Install

n8n Self-Hosted

npm install n8n-nodes-hubseal

Docker

# Add to your n8n Dockerfile
RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-hubseal

⚡ Quick Start

1. Create a HubSeal Account

Sign up for free at https://app.hubwf.com/signup

2. Generate an API Key

  1. Log into your HubSeal dashboard
  2. Navigate to SettingsDeveloper
  3. Click Create API Key
  4. Select scopes:
    • documents:read — List and view signature requests
    • documents:write — Create, send, void signature requests
    • webhooks:read — List webhooks and view delivery logs
    • webhooks:write — Create, update, delete webhook endpoints
  5. Copy your key (format: hubwf_live_sk_xxxxx)

⚠️ Important: API keys are only shown once at creation. Store securely!

3. Configure Credentials in n8n

  1. In n8n, go to CredentialsAdd Credential
  2. Search for HubSeal API
  3. Enter:
    • API Key: Your HubSeal API key
    • API Base URL: https://api.hubwf.com/v1

💡 Your API key automatically includes your tenant information — no separate Tenant ID required.


📋 Features

Document Actions

| Action | Description | Endpoint | |--------|-------------|----------| | Create signature request | Send a document for signing | POST /v1/documents | | Create from template | Use a pre-built template | POST /v1/documents | | Get document | Retrieve document details | GET /v1/documents/:id | | List documents | List all signature requests | GET /v1/documents | | Download signed document | Get the completed PDF | GET /v1/documents/:id/download | | Send reminder | Remind pending signers | POST /v1/documents/:id/remind | | Void document | Cancel a signature request | DELETE /v1/documents/:id |

Template Actions

| Action | Description | Endpoint | |--------|-------------|----------| | Get template | Retrieve template details | GET /v1/templates/:id | | List templates | List all available templates | GET /v1/templates |

Webhook Actions

| Action | Description | Endpoint | |--------|-------------|----------| | Create webhook | Subscribe to events | POST /v1/webhooks | | Delete webhook | Remove a subscription | DELETE /v1/webhooks/:id | | List webhooks | List all webhooks | GET /v1/webhooks |

🔔 Triggers (Webhook Events)

Start workflows automatically when these events occur:

| Event | Description | |-------|-------------| | signature.request.created | New signature request created | | signature.request.sent | Invitation emails sent to signers | | signature.request.viewed | Signer opened the document | | signature.request.completed | All signers finished signing | | signature.request.declined | Signer declined to sign | | signature.request.voided | Request was cancelled | | signature.request.expired | Request expired | | signature.request.reminded | Reminder emails sent to pending signers | | signature.signer.completed | Individual signer finished | | signature.signer.declined | Individual signer declined |


💡 Example Workflows

1. Auto-Send Contracts from CRM

HubSpot: Deal Closed Won → HubSeal: Create from Template → Slack: Notify Sales Team

2. Archive Signed Documents to Cloud Storage

HubSeal Trigger: Document Completed → HubSeal: Download → Google Drive: Upload → Airtable: Log Record

3. Automated Follow-Up for Pending Signatures

Schedule: Daily 9 AM → HubSeal: List Documents → Filter: Pending > 3 days → HubSeal: Send Reminder → Email: Notify Sender

4. Employee Onboarding Automation

BambooHR: New Employee → HubSeal: Create from Template (Offer Letter) → Wait → HubSeal Trigger: Completed → Google Drive: Archive → Slack: Notify HR

5. Multi-Step Approval Workflow

Form Submission → HubSeal: Create Request (Manager) → Wait for Completion → HubSeal: Create Request (Director) → Wait for Completion → Email: Send Final Copy

🔧 Troubleshooting

Common Errors

| Error Code | Message | Solution | |------------|---------|----------| | 401 | Unauthorized | Check that your API key is correct and includes the Bearer prefix in the Authorization header | | 403 | Forbidden | Your API key lacks required scopes. Create a new key with the necessary permissions | | 404 | Not Found | Verify the document or template ID exists and belongs to your tenant | | 409 | Conflict | Cannot modify completed, voided, or cancelled documents | | 422 | Unprocessable Entity | Check that all required fields are provided and email addresses are valid | | 429 | Too Many Requests | Rate limit exceeded. Wait 60 seconds before retrying |

Webhook Issues

| Problem | Solution | |---------|----------| | Webhook not receiving events | Ensure your endpoint URL is HTTPS and publicly accessible | | Signature verification failing | Check that you're using the correct webhook secret and the X-HubWF-Signature header | | Duplicate events received | Implement idempotency using the event_id in the webhook payload |

Document Creation Issues

| Problem | Solution | |---------|----------| | Template fields not populating | Ensure field names in your request match exactly with template field names | | Signer not receiving email | Verify the email address is valid and check spam folders | | PDF upload failing | Ensure file is under 10MB and is a valid PDF format |

Still Need Help?

  1. Check the API Documentation
  2. Open an issue on GitHub
  3. Contact support at [email protected]

🔐 Security

  • API Key Authentication — Secure Bearer token authentication
  • HMAC Webhook Signatures — Verify webhook authenticity with SHA-256 signatures
  • Rate Limiting — 100 requests/minute per tenant
  • Scope-Based Access — Granular API key permissions

Verifying Webhook Signatures

Webhooks include a signature header X-HubWF-Signature for verification:

const crypto = require('crypto');

function verifyWebhook(payload, signature, timestamp, secret) {
  const signedPayload = `${timestamp}.${JSON.stringify(payload)}`;
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(signedPayload)
    .digest('hex');
  
  return signature === `sha256=${expectedSignature}`;
}

📖 API Reference

| Setting | Value | |---------|-------| | Base URL | https://api.hubwf.com/v1 | | Authentication | Bearer Token (API Key) | | Content-Type | application/json | | Rate Limit | 100 requests/minute |

Request Headers

Authorization: Bearer hubwf_live_sk_your_api_key_here
Content-Type: application/json

Response Format

{
  "success": true,
  "document": {
    "id": "doc_abc123",
    "name": "Contract Agreement",
    "status": "pending",
    "created_at": "2026-01-17T10:00:00Z",
    "expires_at": "2026-01-24T10:00:00Z"
  },
  "recipients": [
    {
      "id": "signer_xyz",
      "name": "John Doe",
      "email": "[email protected]",
      "status": "sent",
      "signing_url": "https://app.hubwf.com/sign/..."
    }
  ]
}

Document Statuses

| Status | Description | |--------|-------------| | draft | Document created but not yet sent | | sent | Document sent to recipients, awaiting signatures | | viewed | At least one recipient has viewed the document | | partially_signed | Some recipients have signed, others pending | | completed | All recipients have signed the document | | declined | A recipient has declined to sign | | expired | Document expired before all signatures collected | | voided | Document was cancelled by sender |


🔗 Resources

| Resource | Link | |----------|------| | HubSeal Website | https://hubwf.com | | API Documentation | https://hubwf.com/docs | | Create Account | https://app.hubwf.com/signup | | Pricing | https://hubwf.com/pricing | | npm Package | https://www.npmjs.com/package/n8n-nodes-hubseal |


🛠 Support

| Channel | Contact | |---------|---------| | Email | [email protected] | | GitHub Issues | Report a bug | | Documentation | https://hubwf.com/docs |


📝 Changelog

v1.0.0 (2026-01-17)

  • Initial release
  • Document actions: Create, Get, List, Download, Remind, Void
  • Template actions: Get, List
  • Webhook actions: Create, Delete, List
  • 9 webhook event triggers

📄 License

MIT © HubSeal