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

@belmontdigitalmarketing/n8n-nodes-smartcsrpro

v1.0.0

Published

n8n community node to create tickets in SmartCSRPro via the webhook-to-ticket API

Downloads

148

Readme

n8n-nodes-smartcsrpro

An n8n community node that integrates with SmartCSRPro to create support tickets via the Webhook-to-Ticket API.

This node allows you to automate ticket creation in SmartCSRPro from any n8n workflow — connect it to email triggers, form submissions, Slack messages, CRM events, or any other data source.

Table of Contents

Installation

Community Node (Recommended)

  1. In your n8n instance, go to Settings > Community Nodes
  2. Select Install
  3. Enter n8n-nodes-smartcsrpro
  4. Agree to the risks and click Install

Manual Installation

For self-hosted n8n instances:

  1. Navigate to your n8n custom nodes directory:

    cd ~/.n8n/custom
    mkdir -p node_modules/n8n-nodes-smartcsrpro
  2. Copy the following files into node_modules/n8n-nodes-smartcsrpro/:

    • package.json
    • dist/ folder (entire directory)
  3. Restart n8n:

    # Docker
    docker restart <n8n-container-name>
    
    # Docker Compose
    docker-compose restart n8n
    
    # PM2
    pm2 restart n8n
    
    # systemd
    sudo systemctl restart n8n

Manual Installation (Docker)

If running n8n in Docker, you can mount the node into the container. Place the node files at a path on the host and mount it:

docker run -it --rm \
  -v ~/.n8n:/home/node/.n8n \
  -v /path/to/n8n-nodes-smartcsrpro:/home/node/.n8n/custom/node_modules/n8n-nodes-smartcsrpro \
  n8nio/n8n

Prerequisites

  • An active SmartCSRPro account
  • A Webhook Secret — found in SmartCSRPro under Settings > Integrations > Webhook-to-Ticket
  • Your Tenant Slug — the subdomain identifier for your SmartCSRPro instance (e.g., unified-insurance)

Credentials

When setting up the SmartCSRPro credential in n8n, you will need:

| Field | Description | Example | |-------|-------------|---------| | Tenant Slug | Your tenant identifier (subdomain) | unified-insurance | | Webhook Secret | Secret key from SmartCSRPro Settings > Integrations > Webhook-to-Ticket | wh_abc123... | | Base URL | (Optional) Override if using a custom domain. Leave blank to use the default https://{tenantSlug}.insforms.cc | https://support.unified.insure |

The credential is automatically validated when you click Test — it calls the SmartCSRPro resources API to confirm the tenant slug and secret are correct.

Node Reference

Create Ticket

Creates a new support ticket in SmartCSRPro. This is currently the only operation available.

Main Fields

These fields are always visible on the node:

| Field | Required | Description | |-------|----------|-------------| | Subject | Yes | The ticket title — becomes the main identifier on the SmartCSRPro dashboard | | Details | No | Markdown-formatted body rendered in the ticket's Details section (see Markdown in Details) | | Priority | No | Ticket priority: Low, Normal (default), High, or Urgent | | Assigned To | No | Dynamic dropdown of active team members. Assigns the ticket to the selected user. If unset, falls through to SmartCSRPro's assignment chain (rules, category routing, branch default, agency default) | | Due Date | No | Date picker for the ticket due date | | Client Email | No | Client's email address — used to match or auto-create a contact record in SmartCSRPro |

Additional Fields

Click Add Field to access these optional fields:

| Field | Description | |-------|-------------| | Form | Dynamic dropdown of active forms. When set, the ticket inherits the form's category and title. When omitted, the ticket is created as a formless "Webhook" ticket with category "operations" | | Branch | Dynamic dropdown of active branches | | Client Name | Client's full name | | Client Phone | Client's phone number | | Tags | Comma-separated list of tags (e.g., billing, urgent) | | External ID | Your external reference ID for idempotency (see Idempotency) | | Metadata | Free-form JSON object stored on the submission for debugging/reference |

Dynamic Dropdowns

Three fields use dynamic dropdowns that pull live data from your SmartCSRPro instance:

  • Assigned To — Lists all active team members (displays name + email)
  • Form — Lists all active forms (displays form title + category)
  • Branch — Lists all active branches

These dropdowns refresh each time you open them, so they always reflect the current state of your SmartCSRPro configuration.

You can also use n8n expressions to set these fields dynamically from upstream node data.

Output

On success, the node outputs:

{
  "ok": true,
  "ticket_id": "0e2de815-dea7-4023-87db-154f20dc1bad",
  "ticket_number": "T-0E2DE815",
  "url": "https://unified-insurance.insforms.cc/portal/tickets/0e2de815-dea7-4023-87db-154f20dc1bad"
}

If the ticket was deduplicated via external_id, the response also includes:

{
  "ok": true,
  "deduplicated": true,
  "ticket_id": "...",
  "ticket_number": "...",
  "url": "..."
}

Usage Examples

Minimal Ticket

Just set the Subject field:

Subject: Weekly reminder: Check UIG for agent notes

This creates a ticket with Form = "Webhook", Category = "operations".

Full Ticket from Upstream Data

Connect the SmartCSRPro node after a trigger (e.g., a webhook, email, or form submission) and map fields using expressions:

  • Subject: ={{ $json.subject }}
  • Details: ={{ $json.body }}
  • Priority: high
  • Assigned To: Select from dropdown or use ={{ $json.agent_email }}
  • Client Name: ={{ $json.customer_name }}
  • Client Email: ={{ $json.customer_email }}
  • Tags: billing, urgent
  • External ID: ={{ $json.id }} (prevents duplicate tickets if the workflow runs again)

Idempotency / Deduplication

Set the External ID field to enable deduplication. If you send the same external_id value twice, SmartCSRPro returns the existing ticket instead of creating a duplicate. This is useful for:

  • Webhook retries
  • Workflows that may re-process the same data
  • Ensuring exactly-once ticket creation

Markdown in Details

The Details field supports Markdown formatting:

**Client Information**
Name: Jane Doe
Phone: +1 555 123 4567

**Request**
- 2024 Honda Civic
- VIN 1HGCM82633A123456

[View policy](https://example.com/policy/123)

Supported syntax:

  • # ## ### headings
  • **bold** and *italic*
  • - bullet lists
  • [link text](url)
  • Bare URLs (auto-linked)

HTML tags are not supported and will render as literal text.

Compatibility

  • n8n version: 0.5.0 and above
  • Node.js: 18.x or later

License

MIT