No credit card · Free forever to start

You have a big file.
Everyone needs only their part.

Upload or paste any data — Excel, CSV, anything tabular. SortNGo matches it against your roster and delivers clean, individually filtered output per recipient. Copy into Jira, send by email, or export. Done in seconds.

Get started free → See how it works
✓ No credit card required ✓ Your file never stored on our servers ✓ Schedule recurring jobs · Set it and forget it ✓ Tamper-evident audit logs for compliance
New Maintenance Job
Match against client area
NOC Clients
1
Upload File
2
Map Columns
3
Process & Review
4
Email Previews
Dashboard
Clients
New Job
History
TOOLS
Quick Sort
Text Builder
Connectors
Step 1 — Upload your supplier data
Drop an Excel or CSV file, or paste data directly
📁
Drop your Excel or CSV file here, or click to browse
0%
🔒 Privacy Guarantee: All data is parsed entirely on your device. Supplier data is never uploaded to our servers.
Step 2 — Map your columns
Tell SortNGo which column holds the identifier to match against
TKT-ID
CARRIER
CIRCUIT ID ✓
LOCATION
DATE
Matching rows to clients...
Checking row 0 of 96
0 matched
Sorted Results
8 entities matched · 2 unmatched
Plain Text
Jira
Markdown
Email
Email Template Editor
Write your email once — SortNGo personalises it for every client automatically. {{client_name}} {{circuit_list}}
Subject
Maintenance Notification — {{client_name}}
Body
Dear {{client_name}} Team,
The following lines will be affected:
{{circuit_list}}
Please review the maintenance windows above...
Copy All
2 unmatched rows — circuit IDs not belonging to any known client. Review orphans →

You know this pain. We built the fix.

Every person who manages data for multiple parties has lived this exact nightmare.

📋

The spreadsheet that ate your morning

You have 400 rows. 30 clients. You manually filter, copy, paste, and email. For every single one. Every time. Every maintenance window.

🔓

The data leak you don't see coming

You accidentally CC'd two clients in the same email. Or sent Acme Corp's data to Widget Inc. One moment of fatigue. Enormous consequences.

⏱️

The Jira ticket that takes 45 minutes

You copy circuit IDs one by one into Jira. You reformat everything. You do it again next week. And the week after. It never gets faster.

🔀

The format that changes every time

Your supplier sends Excel. Your colleague sends CSV. The portal exports pipe-separated text. Nothing matches. Everything needs reformatting.

Four steps from chaos to done.

One-time setup, used forever

Define your client schema once — the field names that identify your clients. Import your roster. Every job after that is upload, map, match, output. Under two minutes.

1

Upload or paste your data

Drop an Excel or CSV file, or paste raw data from a web portal. Tab, comma, or pipe separated — SortNGo figures it out automatically.

2

Map the identifier column

Tell SortNGo which column holds the circuit ID, case number, unit number, or whatever identifier links rows to your clients.

3

Match runs in your browser

Every row is cross-referenced against your roster. Matched rows are grouped per client. Unmatched rows are flagged as orphans — nothing is silently dropped.

4

Output, email, or export

Switch between Plain Text, Jira markup, Markdown, or the email editor. Personalise per client. Send, copy, or export all in one click.

📊 supplier_maintenance_may2025.xlsx · 96 rows · 5 columns
MatchLON452210→ Nordic ISP Solutions
MatchFIB777342→ Beacon Networks
MatchCIR272908→ Fjord Networks Ltd
OrphanUNK654125→ No match found
MatchNET375048→ Glacier Cloud Services
✓ Glacier Cloud Services — 10 lines
NET375048 · NET397236 · NET358561
NET406370 · + 6 more lines

No roster? No problem.

Quick Sort lets you sort and group any file on the fly — no client list required. Drop any spreadsheet and organise it any way you need in seconds.

🔤

Sort A-Z or Z-A

Group rows alphabetically by any column. Duplicate values are consolidated — each unique entry appears once with a row count.

🔢

Sort numerically

Order by any numeric column — lowest to highest or highest to lowest. Great for invoices, quantities, or IDs.

📅

Sort by date

Chronological ordering on any date column. Handles multiple date formats automatically.

📦

Group by value

Collapse identical values into collapsible groups. See the structure of your data at a glance.

A–Z
Z–A
Numeric
Group
RIGHTSHOLDER_NAME
1Catherine Blackwood3 rows
2James Ellsworth4 rows
3Margaret Thornton3 rows
4Oliver Pemberton3 rows
5Sarah Whitfield4 rows

Everything you need. Nothing you don't.

Built by someone who lives this problem daily. No fluff, no bloat — just what actually saves time.

Instant matching engine

Cross-reference hundreds of rows against your entire client roster in milliseconds. No formulas, no VLOOKUP, no pivot tables — ever again.

📋

Four output modes

Plain text, Jira wiki markup, Markdown, or full email with custom templates. Switch with one click. Your tool, your format.

🔄

Change detection

Data updated? Upload the new file. SortNGo diffs it against the original and shows only what changed per recipient. Re-notify in seconds.

📂

Flexible data input

Excel files, CSV files, or raw pasted data from web portals and emails. Tab-separated, comma-separated, pipe-separated — handled automatically.

💾

Job history

Every job saved automatically. Reopen any past job, copy outputs again, compare with newer files. Your work is never lost.

🧩

Custom client schema

Define your own fields. Circuit IDs, case numbers, unit numbers, employee IDs — whatever your world calls them. SortNGo adapts to you, not the other way around.

📤

Bulk export

Download all as individual files in a ZIP, one combined PDF, or a clean CSV. Ready to attach to any ticket or report immediately.

New
🧱

Text Builder

Build standardised notification texts from structured dropdown templates. Every team member produces the same professional output — automatically in multiple languages.

New
🔗

Automations & Connectors

Connect to Slack, Microsoft Teams, Zapier, Make, n8n, or any webhook endpoint. When a job completes, your tools are notified automatically.

New
☁️

Cloud Drive integration

Import files directly from Dropbox, Nextcloud, ownCloud, or any WebDAV server. Browse your cloud storage and pick a file without leaving SortNGo.

🔍

Orphan detection

Rows that don't match any known client are flagged separately. Find gaps in your roster before they cause problems downstream.

New
🔐

Two-factor authentication

Protect your account with TOTP authenticator app support. Enable MFA from your security settings — your clients' data stays locked down.

New

Scheduled distributions

Set up recurring sort jobs that run automatically — hourly, daily, weekly, monthly. Watch a cloud folder, run when new files arrive. Set it once. Forget it forever.

New
📜

Tamper-evident audit logs

Every scheduled run is recorded in a SHA-256 hash-chained log. Export a complete audit pack as a ZIP — the evidence trail your ISO 27001, SOC2, or GDPR auditor will ask for.

New
⚙️

Public REST API

Trigger sort jobs, manage your roster, and fetch results programmatically. Standard REST with Bearer token authentication. Build SortNGo into your existing scripts and tools.

New
📝

Reusable email templates

Save email templates once, use them across all your jobs and scheduled distributions. Placeholders, multi-language support, per-client customisation — built in.

Set it once. Forget it forever.

Tired of running the same job every Monday morning? Let SortNGo do it for you. Watch a folder in your cloud drive, run automatically when new files arrive, and dispatch results to every recipient — all while you sleep.

Hourly, daily, weekly, monthly

Pick any cadence that fits your workflow. Schedules run reliably in the background — no laptop required, no missed mornings.

☁️

Drive folder watching

Point a schedule at a Dropbox or Nextcloud folder. When a new file lands, SortNGo picks it up, runs the job, and delivers the output. Your supplier's automation becomes your automation.

📜

Tamper-evident audit log

Every run is recorded in a SHA-256 hash-chained log — the same primitive used by Git and audit systems worldwide. Export a complete evidence pack as a ZIP when your auditor asks.

🛡️

Dry run mode

Test your schedule safely before going live. SortNGo will run the full pipeline, show you what would be sent, but dispatch nothing. Flip the switch when you're confident.

📧

Failure notifications

If a schedule fails — drive offline, file missing, credentials expired — SortNGo emails you immediately with the details. Three consecutive failures and the schedule auto-disables to protect you.

🔒

Opt-in by design

Scheduled automation is OFF by default. You explicitly enable it in your profile settings, with a clear warning about what's stored. We don't quietly turn things on behind your back.

📅 Schedules — Running automatically Live
Weekly supplier maintenance
Mon 07:00 · Dropbox /Supplier Inbox · 47 clients matched
Ran today
Monthly client statements
1st of month 09:00 · Nextcloud /Reports · 312 statements sent
Ran 3 days ago
Daily outage report
Every day 18:00 · WebDAV /Daily · Slack + Email
In 4h 23m
Quarterly portfolio review
1st of quarter 08:00 · 184 recipients · Webhook + Email
In 23 days
🔐 Audit chain verified. 247 runs logged. Last hash: a3f2c1... Export →

Results delivered. Automatically.

When a job completes, SortNGo notifies your tools instantly. No manual copy-paste into Slack, no missed steps, no human error.

🔗

Webhooks — Zapier, Make, n8n & more

Send a raw JSON payload to any HTTP endpoint when a job completes. Plug directly into Zapier, Make, n8n, or your own internal systems with zero extra setup.

#

Slack

Post a formatted message to any Slack channel the moment a job finishes — showing the job name, roster, how many clients were matched, and how many rows were unmatched.

💬

Microsoft Teams

Send an adaptive card to any Teams channel automatically. Your NOC team sees a clean summary the moment a maintenance sort completes — no chasing, no manual updates.

Roster-scoped by design. Each connector is attached to a specific client roster — it only fires when a job runs against that roster. No accidental notifications, no data leaking between client groups.
How connectors fire
Job completes
NOC Clients roster · 47 matched · 3 orphaned
Roster: NOC Clients
fires connectors attached to this roster
🔗
Webhook
✓ Fired
#
Slack
✓ Fired
💬
Teams
✓ Fired
Other rosters are unaffected. A connector on your NOC Clients roster never fires when you run a job against your MSP Clients roster. Isolation is enforced, not optional.

Import files directly from your cloud.

Connect your cloud storage once. Then browse and pick files directly from within SortNGo — no downloading, no re-uploading, no switching tabs.

📦

Dropbox

Connect your Dropbox account once from the Connectors page. In the New Job wizard, click From Drive, pick your file, and start sorting immediately. The Dropbox file picker handles everything.

Easy setup
🖥️

Nextcloud, ownCloud & WebDAV

Connect any self-hosted cloud storage that speaks WebDAV — Nextcloud, ownCloud, Seafile, and more. Enter your server URL and an app password once. Then browse your folders and pick files directly from within SortNGo.

EU data sovereignty ✓
Self-hosted means your data stays yours. When using Nextcloud or WebDAV, your file travels directly from your own server to SortNGo's processing pipeline. No third-party cloud ever touches it.
📁 Nextcloud — Maintenance Files
Home NOC Maintenance Files
📁 Archive 2024
📁 Supplier Reports
📗 maintenance_may_2025.xlsx 248 KB
📗 maintenance_apr_2025.xlsx 201 KB
📄 notes.txt 2 KB
Use selected file →

Standardised texts. Built in seconds.

Stop writing the same notification from scratch every time. Build structured templates from dropdowns — every team member produces the same professional output, in multiple languages, instantly.

🧩

Build once, use forever

Create templates with dropdown slots, free-text fields, and static phrases. Once built, anyone on your team can assemble a professional notification in under 30 seconds.

🌍

Multilingual output

Configure your templates with as many languages as you need. Every selection produces output in all configured languages simultaneously — Icelandic and English, or Italian and German, or any combination.

🧠

Remembers your last choices

Used a template yesterday? Your last selections are pre-populated when you open it again. Change only what's different. Save minutes every time.

✉️

Drops into your emails

Use Text Builder as a standalone tool or invoke it directly in Step 4 of any sort job. The assembled text inserts into your email template with one click — per-client language overrides included.

Text Builder — Maintenance Window 🇫🇷 FR · 🇬🇧 EN
Subject type
Network users
Preposition
in
Location (free text)
Manchester
Incident type
may experience service disruption
Cause
due to planned maintenance work
🇫🇷 Français
Les utilisateurs du réseau à Manchester peuvent subir des interruptions de service en raison d'une maintenance planifiée.
🇬🇧 English
Network users in Manchester may experience service disruption due to planned maintenance work.

Built for the data you actually care about.

Designed from day one to give compliance officers, auditors, and IT leaders what they actually ask for — clear architecture, immutable evidence, and honest terms.

🔒

Client-side file processing

Your uploaded Excel and CSV files are parsed entirely in your browser using SheetJS. The raw content never leaves your device — not a single byte of it reaches our servers.

🛡️

Row-level security on all data

Your client roster is encrypted and row-level secured in Supabase. No other user — including us — can access your clients, job history, or matched results.

🔐

Two-factor authentication

Enable TOTP-based MFA from your security settings. Every login requires both your password and your authenticator app — your operational data stays locked down even if your password is compromised.

📜

Tamper-evident audit logs

Scheduled distributions produce a SHA-256 hash-chained log of every run. Export as a complete audit pack ZIP with PDF cover sheet — the evidence your ISO 27001, SOC2, or GDPR Article 30 auditor will recognise immediately.

👁️

Session activity log

See every login, password change, and security event on your account. Approximate location, browser, device, timestamp. Spot unauthorised access fast.

🇪🇺

EU-hosted by default

Built in Iceland 🇮🇸. Authentication, database, and email relay all run on EU infrastructure. Data sovereignty isn't an upsell — it's the default.

📝

Honest terms. No surprises.

We don't sell your data. We don't train AI on your data. We store only what's necessary to make the tool work. Sensitive features are opt-in with explicit warnings. Read our full privacy policy — it's written in plain language.

📁
You upload your data file
Excel, CSV, or pasted text
Your device
↓ Processed entirely in your browser
Matching runs locally
JavaScript in your browser tab only
Browser only
↓ Only match results saved
☁️
SortNGo servers receive
Job metadata and match results only
Encrypted
↓ Raw file content is never sent
🚫
Your actual file data
The sensitive content you uploaded
Never stored

Build SortNGo into your stack.

Trigger jobs from your scripts. Sync rosters from anywhere. Fetch results into your dashboards. Standard REST, Bearer token authentication, no surprises.

🔑

API keys you control

Generate keys in your settings. Name them, see when each was last used, revoke instantly. Standard SHA-256 hashed storage — only you ever see the full key.

Trigger jobs programmatically

POST your data to /api/v1/jobs, get back matched results in JSON. Drop SortNGo into n8n, Make, Zapier, or your own scripts.

👥

Manage your roster

Add clients, list rosters, fetch past job results — all via the API. Keep SortNGo in sync with your CRM, RMM, or HR system without copy-paste.

📖

Documented and copy-pasteable

Every endpoint has curl examples that work out of the box. Full request and response schemas. Error codes that mean something. Built for developers who don't have time to guess.

terminal — trigger a sort job
# Run a sort job from anywhere curl -X POST https://sortngo.com/api/v1/jobs \ -H "Authorization: Bearer sng_live_..." \ -H "Content-Type: application/json" \ -d '{ "roster_id": "your-roster-id", "data": "Acme Corp,LON452210\nGlobex,LON685031", "format": "csv", "identifier_column": 1, "include_all_data": true }'
Response · 200 OK
{ "job_id": "a3f2c...", "status": "completed", "summary": { "matched_clients": 2, "unmatched_rows": 0 }, "results": [...] }

If you split data for multiple parties, this is for you.

Built for operations professionals. Useful for anyone who deals with shared data and private recipients.

🌐

IT & NOC Teams

Maintenance notifications split per client. Stop copy-pasting into Jira forever.

🔧

MSP Technicians

Distribute client-specific reports without exposing other clients' data.

⚙️

DevOps & SysOps

Fan out deployment updates, incident logs, and change notices per team or service.

⚖️

Law Firms

Sort case data by client. Each client sees only their matter, no one else's.

🏢

Operations Managers

Distribute performance reports, KPIs, and schedules per department privately.

🏘️

Property Managers

Maintenance schedules distributed per building, unit, or tenant automatically.

🎓

Schools & Education

Results, reports, and schedules distributed per class, teacher, or student group.

📦

Logistics & Field Ops

Job schedules, delivery routes, and task lists distributed per driver or team.

Your tool. Your format.

SortNGo doesn't force you into one output. Pick what fits your workflow and switch anytime.

Plain Text
Jira Format
Markdown
✉️ Email Editor
Export ZIP

You shape what gets built next.

Every user can request features and vote on what matters most. We build what you actually need — not what we assume you need.

Feature Requests & Roadmap
Open for votes
47
votes
Scheduled email sending — pick a date and time
Send notifications at a specific time rather than immediately
Built ✓
38
votes
Slack and Teams integration for output delivery
Send sorted output directly to a Slack channel or Teams chat
Built ✓
31
votes
API access to trigger sort jobs programmatically
Automate SortNGo from your own scripts and workflows
Built ✓
24
votes
Nextcloud & WebDAV cloud drive integration
Import files directly from self-hosted cloud storage
Built ✓
19
votes
Tamper-evident audit log export for compliance
SHA-256 hash-chained record of every scheduled run, exportable as ZIP
Built ✓
14
votes
Multi-language auto-detection from template
Detect client language and auto-select the right template
New

Sign up to vote and submit your own requests →

Stop sorting manually.
Start sorting smartly.

Free forever to start. No credit card. No time limit. Your data stays yours.

✓ Free forever ✓ No credit card ✓ Your file never stored on our servers ✓ Built in Iceland 🇮🇸