Test mode: calls are simulated, nothing is dialed or billed.
SmallWeb CRM

SmallWeb CRM
    Incoming call from
    Ready when you are

    Your next lead shows up here.

    Start calling picks the best one in your queue: callbacks that are due first, then the highest-rated.

    Today

    Callbacks due

      Replies and payments

        Missed calls

          Keyboard shortcuts
          C
          Call
          H
          Hang up
          N
          Skip or next lead
          M
          Mute
          1–8
          Pick the outcome
          /
          Find a lead
          Esc
          Close
          Export CSV
          BusinessPhoneCategoryLocation RatingAssignedStatusTries Last callNext callSign-up
          Export calls CSV

          By person

          Calls per day

          Outcomes after talking

          Pipeline right now (all leads)

          By import file (all time)

          Import leads from CSV

          Works with the market.py export and reviews.py CSVs, or any CSV with a business name and phone column. Duplicate phone numbers and numbers on the do-not-call list are skipped.

          No file chosen

          Match columns

          Preview

          Assign to

          
                
          NumbersCalling rulesSign-up linkDo-not-callAppearancePeople

          Caller-ID numbers

          Calls rotate through these, least recently used first. Texts go out from the number the lead was last called from.

          NumberLabelCallsLast usedIn rotation

          Calling rules

          States whose do-not-call lists aren't set up yet.

          A lead there is only called once its line type is set to landline.

          These leads load but wait for you to press Call.

          to24-hour clock
          todays, at the other half of the day
          calls with no contact before a lead is set aside
          seconds between calls
          seconds before a call counts as no answer

          Sign-up link

          What goes out when you text or email a lead the sign-up link.

          Each lead gets its own copy of this link, so a payment marks that lead as paid.

          Twilio texting needs the A2P 10DLC campaign approved first. From a phone, you scan the code, Messages opens with the text filled in, you press send and tell the CRM.

          Fill-ins: {owner_first} {owner_name} {business} {caller} {pay_link} {agreement_link}. The email always adds the business, the owner, the key terms, the sign-up button and the agreement link.

          Do-not-call list

          Numbers here are never dialed or texted, and are skipped on import.

          NumberReasonAdded

          Appearance

          Saved on this computer only.

          People

          NameUsernameRole

          Add or reset someone with node scripts/add-user.mjs. The steps are in the README.