Setup Checklist

First-week tasks to get HotCRM production-ready for your team.

Setup Checklist

A practical, week-one checklist for the new HotCRM admin. Work through it in order — each section builds on the previous.

✅ Day 1 — Foundation

1. Company profile

Navigate to Setup → Company:

  • Company name, address, time zone, default currency
  • Fiscal year start month (used by all forecast reports)
  • Default language

2. Business hours — nothing to configure

There is no Setup → Business Hours screen. This app ships no working-day calendar, no working-hours window and no holiday list — nothing to fill in here, and nothing a deadline could be counted against. The section is kept only so the admin who came looking for that screen stops looking.

What follows from that is on the SLA side: deadlines run on calendar hours. Every case now gets a computed deadline — src/objects/case.hook.ts looks the case's priority up against its account's Customer Tier and adds that many elapsed hours to the wall clock — so a Critical case opened at 4pm on a Friday is due at 8pm that same Friday, and a Low case opened before a public holiday runs its week down through it. Nights, weekends and holidays all count against every target, at every priority. See SLA & Escalation.

3. Email setup

Setup → Email:

  • Inbound email forwarding for cases (e.g., support@yourdomain.com)
  • Outbound email signature templates
  • DKIM / SPF for sender authentication

✅ Day 2 — People

4. User invites

Setup → Users:

  • Import or invite all users
  • Assign each user a profile
  • Assign each user their positions — a user may hold more than one
  • Set a manager for each user (drives approval routing)

5. Positions

Setup → Users, and the 12 positions listed in Sharing & security:

  • Map your org onto the shipped positions. They are flat — they distribute access, they do not stack into a reporting line, and nothing rolls up from one to another
  • For every position you add, add the sharing rule (or permission-set binding) that names it — a position no rule names grants nothing at all

6. Profiles & permissions

Setup → Permission Sets — what this checklist calls a profile is a permission set, and Setup ships no screen called Profiles:

  • Review the six built-in profiles (see Profiles)
  • Clone and customise if needed (e.g., a Junior Sales Rep profile with limited delete rights)

✅ Day 3 — Data foundations

7. Account & contact ownership

  • Decide org-wide default for accounts and contacts (private vs public read vs public read/write) — see Sharing & security
  • Configure account teams if you sell as pods rather than solo reps

8. Lead routing — nothing to configure

There is no Setup → Lead Settings screen, and there are no routing rules to write. An ownerless lead — web-to-lead, CSV import, API capture — is assigned on insert by src/objects/lead.hook.ts: it goes to whichever holder of the sales_rep position has the fewest open leads. That is a self-balancing round-robin, not a rule matching region, industry or source; there is no territory routing, no queue, and no auto-response email to the submitter. If nobody holds sales_rep the hook does nothing and the lead stays ownerless until someone claims it.

  • Assign the sales_rep position to every rep who should receive intake — that pool is the routing table
  • Read what happens next in the lead_assignment flow (a rating-based follow-up date, and an alert to the new owner) at Studio → Automation → Flows

9. Product catalog

  • Import products — at minimum: code, name, list price
  • Set up product manager (the contact for each product line)
  • Upload datasheets — a PDF file field on the product record, there for people to open; no knowledge base ingests it

✅ Day 4 — Process

10. Opportunity stages

Confirm the 7-stage default pipeline matches your sales process. Stages and probabilities are:

StageProbability
Prospecting10%
Qualification25%
Needs Analysis40%
Proposal60%
Negotiation80%
Closed Won100%
Closed Lost0%

If your process differs, that is a source edit rather than a screen: there is no Setup → Opportunity → Stages page. The seven stages are the stage field's own options (OPPORTUNITY_STAGE_OPTIONS in src/objects/_picklists.ts), and the probabilities are the STAGE_PROBABILITY map in src/objects/opportunity.hook.ts — which re-derives Probability and Expected Revenue from the stage on every save, so a probability typed onto a deal by hand does not survive the next one. Changing either is a code change plus a redeploy.

11. Case SLAs

Confirm the default SLA matrix:

PriorityStrategicEnterpriseMid-MarketSMB
Critical4h4h4h4h
High6h8h8h8h
Medium24h36h48h48h
Low96h120h168h168h

Every cell is a deadline the app keeps. The case_sla_defaults hook (src/objects/case.hook.ts) stamps sla_due_date at now + the matching number of calendar hours on every case, and the hourly case_sla_monitor sweep picks up any of them whose due date has passed. The column is chosen by the account's Customer Tier — so part of confirming this matrix is confirming that your accounts are actually classified. An account with a blank tier, or one the case's creator cannot read, is treated as SMB.

There is no first-response target to confirm. This checklist used to carry a whole First response column — 1 hour at Critical through 1 business day at Low — and none of those four numbers exists anywhere in the app; the SLA page this section links to does not carry a first-response target either. What does exist is the stamp: First Response Date is written the first time an interaction that already took place is recorded against the case (the event_activity_bubble hook, src/objects/event.hook.ts). It is never compared against anything — case_metrics declares no first-response measure, so no report or dashboard tile reports on it, and no flow alerts on it. Promise your customers a first response time by all means; the app records when it happened and nothing else.

Adjust if your support promise differs — the sixteen numbers live in src/objects/_case-sla.ts and a matching table inside src/objects/case.hook.ts, not on a Setup screen, and both copies have to change together.

12. Approval process

  • Confirm the discount approval threshold ($500K default) — see Approvals
  • Confirm approvers (manager + director by role)
  • Test by submitting a sample opportunity

✅ Day 5 — Knowledge & AI

13. Knowledge articles

HotCRM ships one knowledge object, not a set of knowledge bases. Everything below is an ordinary record you create under Service → Knowledge, filed under one of the seven categories the object defines.

  • Write your top 20 FAQs as articles under Troubleshooting, How-To or Getting Started
  • Put support hours, SLA promises and data-handling commitments under Policy
  • Set each article's AudienceInternal for runbooks, Public for anything you would send a customer
  • Publish them — the Copilot queries published articles only, so a draft may as well not exist
  • Check the categories and tags before you call it done: matching is by category and tags, not by meaning, so a misfiled article is an invisible one

There is nothing to seed called Sales Knowledge, Product Information or Competitive Intel — HotCRM ships no such libraries, and no competitor object for battle cards to hang off. See Knowledge Bases for what the Copilot can and cannot do with an article.

14. AI Copilot

  • Confirm the AI Copilot is enabled (Setup → AI)
  • Choose which skills to enable
  • Run a sample query ("Give me Customer 360 on [test account]") to verify
  • Configure data sensitivity rules — which fields the Copilot must redact

✅ Day 6 — Dashboards & reports

  • Pin CRM Overview as the home dashboard for everyone
  • Set up team-specific dashboards (sales / service / exec)
  • Schedule weekly subscription emails for managers
  • Review the standard reports and customise filters

✅ Day 7 — Launch

  • Run the migration check (all imported records have owners and required fields)
  • Run a smoke test: create a lead → convert → opportunity → quote → close-won → contract
  • Train users on their daily workflow (45-minute role-based sessions)
  • Set up an internal #hotcrm-help channel for questions

After launch

  • Week 2: Review dashboard usage and adoption metrics.
  • Month 1: First retrospective — what's working, what's not.
  • Quarterly: Review profiles, sharing rules, knowledge bases for drift.

Need help?

On this page