Vendor coordination

Vendors. In the ticket.

A lightweight CRM lives next to your tickets — companies, contacts, vendor-visible comments, per-vendor color pills, mute + daily digest. Email loops back into the same thread, attributed and color-coded.

To Vendor From Acme Corp From BlueSky From OrangePeel
Built-in CRM

Companies + contacts. No second tool.

Companies, scoped to projects

Each vendor company belongs to a project and carries an optional domain used for inbound sender-domain matching. Move a ticket between projects → vendor contacts detach (vendor scope is project-bound).

Contacts with real fields

Name, email, phone, role / title — all encrypted under standard mode. Email also gets HMAC'd into a blind index so inbound webhooks can look up senders without decrypting the table.

Generic mailbox blocklist

support@, helpdesk@, noreply@ and friends are rejected at write time to prevent reply loops with the vendor's own helpdesk. The list is extensible per workspace via auth_settings.email_blocklist.

Attach contacts to tickets

Attached contacts receive vendor-visible comments and can be CC'd in inbound creation flows. Attaching a contact does not auto-enroll them in status updates — that takes a Notify Vendor click first.

Color-coded threads

Same vendor, same color. Always.

Vendor-visible comments show a brand-colored TO VENDOR pill. Inbound vendor replies (auto-ingested via email match) show a FROM {company} pill in a deterministic per-vendor color hashed from the company id.

  • Same vendor → same color across users, sessions, and renders.
  • Hue spread is theme-aware — pastel + dark text on light, muted dark + light text on dark.
  • Skips the sickly yellow-green band so vendor pills never collide with the brand accent.
  • Multiple vendors on one ticket stay distinct and readable.
# Ticket WEB-0042 thread
To Vendor Hi — could you confirm the SKU?
From Acme Confirmed — part #88-A2.
From BlueSky We can stage by Friday.
From Acme Tracking attached.
Outbound discipline

Notify Vendor is a deliberate click.

Resolvd never auto-blasts a vendor on ticket creation. Staff review the ticket, then click Notify Vendor. After that first outbound, status-change and resolved updates fire automatically — but only because someone said the relationship is real.

Event Trigger Attachments
new_ticket Manual — Notify Vendor button Yes (images)
new_comment Admin / Manager marks comment 'Share with vendor' Yes (images)
status_change After first vendor outbound succeeds Body only
ticket_resolved After first vendor outbound succeeds Body only
ticket_reopened Auto-reopen or manual Body only

Internal-only comments never leak through templates — the renderer filters on is_external_visible=true.

Mute + daily digest

Noisy vendor? Mute the firehose.

Toggle Auto-mute vendor replies on a ticket. Matched vendor replies still land in the thread but with is_muted=true; the UI collapses them into a "N muted vendor replies" bucket. Followers don't get paged.

A daily digest at the configured local time (default 15:00, configurable via auth_settings.muted_digest_timezone) catches up every follower with a summary of muted replies in the prior 24h. Admin / Manager can un-mute any single comment to bring it back into the main thread.

Per-company prefs

Tune notifications per company.

Each company under Admin → Companies has a notification preferences panel:

Status change notifications on

Fires on status_change events

Filter to specific statuses all

Uncheck "All statuses" to select individual status names

Ticket resolved on

Fires on ticket_resolved

Ticket reopened off

Fires on ticket_reopened (auto- or manual)

new_ticket and new_comment always send regardless of company prefs — those are explicitly triggered by staff.

On phone calls?

Spell ticket refs cleanly.

Hover or focus any ticket reference in the UI to get a NATO phonetic readback popover — WEB-0079 reads as "Whiskey Echo Bravo · 0 0 7 9". Letters become NATO words; digits and dashes stay as-is. Toggleable per-org and per-user.

Need phonetic spelling outside Resolvd — for serial numbers, license plates, confirmation codes? Pair with AlphabetSoup, a standalone NATO parser by the same team. Web app today; browser extensions on the roadmap.

# Hover popover
WEB-0079

Whiskey Echo Bravo
- 0 0 7 9
Org: enabled
Per-user: on

Set up your first vendor.

Admin → Companies → New. Add contacts, attach to tickets, click Notify Vendor when you're ready to engage.