Contacts, deals & tasks
The day-to-day CRM.
Contacts
The contact list lives at the top of the left sidebar. Each contact has the basics (name, phone, email, company, position), an address book (multiple addresses, primary pin), tags, custom fields, deals, notes, tasks, and a full timeline of every text/call/email exchanged with them.
Click any column header to sort. Filter via the search bar or via saved views (left sidebar → click the + under "Saved views" to make one).
Deals
Deals belong to contacts (or to companies). Each one has a title, value, stage (Lead → Qualified → Proposal → Won/Lost — customize at Settings → Fields & pipeline → Deal stages), and an expected close date. View as a list or as a kanban board (top-right toggle on the Deals page).
More than one pipeline. If you sell two kinds of work, such as buyers and listings, or installs and service calls, give each its own pipeline: Settings → Fields & pipeline → Deal stages → New pipeline, name it, and pick a starting set of stages (you can change them after). Each pipeline has its own stages, its own Won and Lost, and its own board: the Deals page shows a Pipeline picker once there is more than one, and its totals and forecast are for that pipeline. To move a deal to another pipeline, open it and pick the pipeline beside Stage; it goes to that pipeline's first open stage. Your first pipeline can be renamed but not deleted, and a pipeline with deals in it can't be deleted until they're moved. Workflow steps show stages as Pipeline › Stage, and your AI assistant sees which pipeline each stage is in. On the Android app, the board has a chip for each pipeline.
Forecast. Give a stage a chance of winning (a percentage, in the stage's settings) and the board shows a Weighted figure beside Open: each open deal's value times its stage's chance. Each column shows its own weighted total too. Stages without a chance are left out of the weighted figure.
Idle cards. On the web app's board, a card nobody has changed in a while shows a small clock with the days. By default that is after 14 days; set Card shows idle after on a stage to change it for that stage (a quick stage like Quote sent might want 3 days).
Why it was lost. Moving a deal to a Lost stage asks why (you can skip it). The reason shows on the deal under Lost because, where you can change it, and on its timeline. Moving the deal out of a Lost stage clears it. Your AI assistant can set it too.
Tasks, events & meetings
Same calendar, three flavors:
- Task — a due-by-date item ("Follow up with Bob"). Repeats daily, every weekday, weekly, monthly or yearly.
- Event — start + end time on a specific day ("Team standup, 9-9:30")
- Meeting — start + end + location, with an automatic confirmation and reminders to the linked contact, by email and text. ("Coffee with Sue at Pilot, 3pm").
They live on the Calendar page in the sidebar, color-coded by type (red = task, green = event, blue = meeting) unless you give one a colour of its own under Colour. Click any day on the calendar to add one for that date. Calendar supports Day, Week, and Month views and drag-to-reschedule, and a list view for plain to-dos.
Meetings — confirmation + reminders
When you create a Meeting with a linked contact, pick a Reminders schedule. The contact gets:
- A confirmation when you create the meeting, with a calendar file attached
- Reminders at your chosen intervals before the meeting (e.g. 24 hours + 1 hour)
Both go by email when the contact has an email address, from the address set under Bookings → Booking emails come from (see Where booking emails come from). They go by text as well when the contact has a mobile number and you have a number to text from; texts are billed by Twilio on your own account.
Reminder presets: none / 1h before / 24h before / 24h + 1h / 2 days + 24h + 1h. No reminders sends the contact nothing, not even the confirmation. A meeting made here has no booking page, so instead of a change-or-cancel link the email asks them to reply, and the reply comes to you. A meeting moved later keeps its reminders at the new time. The emails ask whether they're coming, with Yes, No and Maybe buttons (see Are you going to attend?).
Two-way Google Calendar sync
Connect your Google account once (Settings → Google Calendar) and everything syncs both ways:
- Tasks, events, and meetings you create in Groundbase show up on your Google Calendar within seconds — including across mobile, web, and AI assistant writes.
- Events you add in Google Calendar (an interview, an appointment, an invite you accept) come into Groundbase as events within a minute or two. If someone on the invite is already one of your contacts, the event is linked to them.
- Edits you make in Google Calendar (reschedule a meeting, change the title, update the location) sync back to Groundbase within a minute or two.
- Deleting a task in Groundbase asks whether to also remove it from your Google Calendar. Nothing is removed from your calendar unless you tick that box. See Deleting a task.
You can disconnect any time from the same settings page. Disconnecting stops sync; existing events stay where they are.
Full guide: Google Calendar.
Companies
Like contacts but for organizations. Linking a contact to a company auto-groups them on the company's detail page.
Statuses
Every contact can have one status: where you are with that person, such as New lead, Talking, Customer or Past customer. It shows under their name on their page (click it to change it), as a Status column on the Contacts list, and in the list's Filter.
- Change one: click the status on the contact's page and pick another. The change goes on their timeline.
- Change many: filter the list (by a tag, for example), select all, then Edit → Status.
- New contacts get the starred status from your list. The New contact form has an optional Status: leave it on Default and they get the starred one, or pick another (or No status).
- Importing: the import has a Status for these contacts choice. Leave it alone and new contacts get the default while contacts you already have keep theirs, or pick one status for everyone in the file. A Status column in the file wins for its rows; a name that isn't in your list is reported after the import. The contacts export includes a Status column, so a file round-trips.
- Forms: each form has a Status setting: what the people who fill it in become. Someone who is already one of your contacts keeps their status when they fill it in, unless you tick Also apply it when someone already in my contacts fills it in. Either way, only the person filling in the form changes; the rest of your contacts are never touched.
- Booking pages: each meeting type has a Status for new bookers. Someone new who books gets it; contacts you already have keep theirs.
- Workflows: start one with When: Contact status changed (pick the status it changes to), use the Set contact status step (for example "when a deal is won, set status to Customer"), or check it in a condition with
entity.status. A bulk edit or an import doesn't start these workflows. - Campaigns: pick Contacts in a status as the audience. It sends to whoever is in that status when it goes out. An ongoing campaign re-checks its audience every few minutes, so anyone who moves into the status later joins it. On a drip, tick Their status changed under a step's "skip the rest if" and anyone whose status changes after the previous step stops getting the rest (a trial series stops once they're a customer).
- Dashboard: add the Contacts by status card (Customize the dashboard) to see how many people are in each; click one to open the list filtered to it.
- Zapier: the Contact Status Changed trigger and the Set Contact Status action.
- On Android: the status shows on each contact in the list, and the Status chip above the list filters by it.
- Merge tags:
{{status}}writes the contact's status into an email, text or template.
Contacts you had before statuses existed start with none, so you can sort them yourself; a long-standing customer is never labelled a new lead. The list lives in Settings → Fields & pipeline → Contact statuses.
Tags
User-defined labels. Apply to contacts in bulk from a filtered list (Actions → Tag). Tag definitions live at Settings → Fields & pipeline → Tags. Where someone is with you is their status, not a tag, so tags stay a short list of your own labels.
Consent records
The Consent card on a contact's page shows when and how they agreed to email and to texts: the date, where it came from (a lead form, or recorded by you) and the wording they agreed to. It's the record to show if anyone ever asks.
- From a lead form: a tick box set to record consent files it automatically when it's ticked, with the box's wording and the form's name.
- By hand: Record consent, then say how they agreed ("signed up on paper at the open house") and the date.
- Remove deletes a record.
It's a record, not a switch: nothing is blocked for a contact without one, since consent can also be implied (an existing customer, for example). An opt-out always wins: someone who unsubscribed or texted STOP is skipped whatever the card says, and the card shows it.