John is out of office
Version 1.0.3 is out!

How to Build a Client CRM in WordPress with OrbitalWP

How To

Customer relationship management (CRM) software helps a business organize its leads and client information in one place.

A CRM can store and track:

  • Client names and contact details
  • Leads and potential customers
  • Emails, calls, and notes
  • Projects, tasks, and deadlines
  • Sales opportunities and deal stages
  • Follow-ups and client history

With OrbitalWP, you can build your own CRM inside WordPress and manage client work in the same system.

This guide will walk you through how to build and manage a CRM using OrbitalWP and WordPress. I have included a practical set of custom fields for a small agency or service business. Change the fields and options to fit the way you work.

Create the Client CRM Data Structure

OrbitalWP does not use a fixed CRM structure. You decide what information to store by creating custom fields for your tasks.

For this tutorial, we’ll create one task for each client. We’ll use the task title for the client or company name, then add custom fields for information such as their email address, phone number, project details, and current stage.

Here is the field structure we will use:

Field nameField keyData typeWhy we need it
Primary Contactprimary_contactText FieldStores the name of the main person you communicate with.
Email Addressemail_addressEmailStores and validates the client’s primary email address.
Phone Numberphone_numberText FieldStores a phone number. A text field allows different phone-number formats.
WebsitewebsiteURLStores the client’s current website address.
Client Phaseclient_phaseDropdownSee the required option list after this table.
Services Neededservices_neededCheckboxSee the required option list after this table.
Lead Sourcelead_sourceRadio ButtonsSee the required option list after this table.
Estimated Project Valueestimated_valueNumberStores the estimated value of the client’s project.
Last Contact Datelast_contact_dateDateRecords the last time you spoke with or emailed the client.
Next Stepnext_stepText FieldRecords the next action you need to take.
Client Notesclient_notesTextareaStores short notes about the client or project.

Some custom fields require a list of options. For this CRM, we will configure options for Client Phase, Services Needed, and Lead Source as we create each field.

Keep Your Client Records Private

Your CRM may contain names, contact details, project values, and private notes. Before adding any clients, check that OrbitalWP is managing who can access your tasks.

  1. Go to Orbital → Plugin Settings.
  2. Select the General tab.
  3. Find Task Access.
  4. Set Task Visibility Mode to Orbital Managed.
  5. Click Save Settings.

This setting keeps access to your client records under OrbitalWP’s permission system. Do not use WordPress Standard for private CRM records because published tasks may be publicly accessible under normal WordPress visibility rules.

Create the Custom Fields in OrbitalWP

To create the fields for your CRM, go to Orbital → Custom Fields in your WordPress dashboard.

The Add New Field section contains the settings for each field. Custom fields are available across all OrbitalWP tasks, so you only need to create each field once. The Location setting places the field in the sidebar or at the bottom of the main content area.

Image

Let’s begin with the Primary Contact field:

  1. Enter primary_contact in Field Key. The field key identifies the field inside OrbitalWP and cannot be changed after the field is created.
  2. Enter Primary Contact in Field Label. This is the name you will see when editing a client.
  3. Choose Text Field under Field Type.
  4. Add a short explanation under Description if one would help your team understand what to enter.
  5. Under Location, choose Sidebar.
  6. Leave Make this field required unchecked unless you want to indicate that the field should be completed for every client.
  7. Click Add Field.

Using Sidebar keeps short client details together in the Orbital → Fields section of the task editor.

Repeat these steps for the other fields that do not require options:

Field LabelField KeyField TypeLocation
Email Addressemail_addressEmailSidebar
Phone Numberphone_numberText FieldSidebar
WebsitewebsiteURLSidebar
Estimated Project Valueestimated_valueNumberSidebar
Last Contact Datelast_contact_dateDateSidebar
Next Stepnext_stepText FieldSidebar
Client Notesclient_notesTextareaMain Content Area

The Main Content Area is a better location for Client Notes because it gives longer notes more room. For Estimated Project Value, enter whole numbers when adding client information because OrbitalWP does not apply currency symbols or currency formatting.

Add the Client Phase Options

Fields created with Dropdown, Checkbox, or Radio Buttons include an additional Options section. Each option has two parts:

  • Value is the internal identifier. Use lowercase letters and underscores.
  • Label is the option name shown to the user.

Create the Client Phase field as follows:

  1. Enter client_phase under Field Key.
  2. Enter Client Phase under Field Label.
  3. Choose Dropdown under Field Type.
  4. Under Options, enter lead for Value and Lead for Label.
  5. Click Add Option and add each remaining phase:
ValueLabel
discoveryDiscovery
proposal_sentProposal Sent
clientClient
past_clientPast Client
rejectedRejected
  1. Choose Sidebar under Location.
  2. Click Add Field.

The Dropdown field allows you to select one phase for each client. Later, you can also use this field to group clients in Board View.

Add the Services Needed Options

Create the Services Needed field using Checkbox so that you can select more than one service for the same client:

  1. Enter services_needed under Field Key.
  2. Enter Services Needed under Field Label.
  3. Choose Checkbox under Field Type.
  4. Add the following Value and Label pairs under Options, clicking Add Option when you need another row:
ValueLabel
website_designWebsite Design
website_hostingWebsite Hosting
website_maintenanceWebsite Maintenance
seoSEO
graphic_designGraphic Design
consultingConsulting
  1. Choose Sidebar under Location.
  2. Click Add Field.

Add the Lead Source Options

Finally, create Lead Source using Radio Buttons. This field type lets you select one primary source for each client.

  1. Enter lead_source under Field Key.
  2. Enter Lead Source under Field Label.
  3. Choose Radio Buttons under Field Type.
  4. Add these options:
ValueLabel
referralReferral
organic_searchOrganic Search
social_mediaSocial Media
paid_advertisingPaid Advertising
  1. Choose Sidebar under Location.
  2. Click Add Field.

After saving the last field, check the Existing Fields section to confirm that all of your CRM fields are listed. You can use Edit to change a field’s label, type, description, options, location, or required setting. The Field Key cannot be changed after creation.

Add Your First Client

In this CRM setup, each top-level OrbitalWP task represents one client. The task title identifies the client or company, while the custom fields store the details you need to manage the relationship.

To add your first client:

  1. Go to Orbital → Add New. This opens the Add New Task screen.
  2. Enter the client or company name as the task title.
  3. Use the main editor for longer background information, meeting notes, or other details that do not fit in a short custom field.
  4. In the Orbital sidebar, open Fields.
  5. Complete the custom fields you created for your CRM.
  6. Set Due Date to the date when you should next contact the client.
  7. Use Assignee to select the team member responsible for the relationship.
  8. Under Task Categories, add or select a category named CRM. This will help you separate client records from regular project tasks.
  9. Publish the task using the normal WordPress Publish control.

For example, a new client record might contain:

FieldExample
Task titleBrightside Dental
Primary ContactMaya Sanders
Email Address[email protected]
Phone Number(555) 010-2040
Websitehttps://example.com
Client PhaseDiscovery
Services NeededWebsite Design and SEO
Lead SourceReferral
Estimated Project Value6500
Last Contact DateDate of the discovery call
Next StepPrepare and send proposal
Client NotesPrefers email communication
Due DateDate the proposal should be sent
AssigneeTeam member managing the client

We will use OrbitalWP’s built-in Due Date as the next follow-up date. This allows follow-up dates to appear in OrbitalWP’s task filters and Calendar View.

A task needs both a Start Date and a Due Date to appear in Timeline View. Because a proposed client does not have a confirmed work schedule yet, leave Start Date empty for now.

Repeat this process whenever you need to add another client or lead. Each client will have one main task that keeps their contact information, current phase, required services, next action, and follow-up date together.

Organize Clients in Board View

Once you have added several clients, use Board View to see where each one is in your workflow.

  1. Go to Orbital → Kanban & Timeline.
  2. Select Board View.
  3. Open Group tasks by: and select Client Phase.
  4. Open Categories and select CRM.

The board will organize your client tasks into the phases you created:

  • Lead
  • Discovery
  • Proposal Sent
  • Client
  • Past Client
  • Rejected

Make sure you select your custom Client Phase field under Group tasks by:. Do not use the built-in Approval Status field, which controls a separate task approval and completion workflow.

To change a client’s phase, drag their card into another lane. For example, when you send a proposal, move the client from Discovery to Proposal Sent. OrbitalWP will update the task’s Client Phase field automatically.

If a client does not have a phase selected, its card will appear in the uncategorized lane. Open the client task and select the correct Client Phase to place it in your workflow.

Board View displays the top-level tasks that represent your clients. Subtasks you add later for individual pieces of client work do not become separate client cards on this board.

Plan Client Work with Dates and Subtasks

Use Start Date and Due Date differently depending on how much work has been scheduled for the client.

For a lead or proposed client, leave Start Date empty and use Due Date for the next follow-up. The client will appear on that date in Calendar View, but it will not appear in Timeline View.

This is usually the best setup while you are waiting for a reply, scheduling a discovery call, or deciding whether the project will move forward. There is no reason to create a project schedule before the work has been planned.

Once you begin a defined piece of work, you can use both dates to create a working period for the client. For example, while preparing a proposal:

  • Set Start Date to the date you will begin preparing the proposal.
  • Set Due Date to the date the proposal should be sent.

In this example, Due Date still works as the next follow-up because sending the proposal is the next client action. With both dates entered, the top-level client task can also appear in Timeline View.

Only add a Start Date when it represents real scheduled work. Do not add one merely to make every client appear on the Timeline.

Add a Subtask for Client Work

If you want to break the scheduled work into smaller actions, add them as subtasks under the client. For example, you could add a subtask for writing the proposal.

First, save or publish the top-level client task. Subtasks cannot be added until the parent task has been created.

Then:

  1. Open the client task.
  2. In the Orbital sidebar, open Subtasks.
  3. Click Add Subtask.
  4. In the Create New Subtask panel, click Reset Fields.

OrbitalWP initially copies many field values and categories from the parent task into the subtask form. Clicking Reset Fields clears those copied values so that the client’s contact details, phase, services, and notes are not unnecessarily duplicated on the subtask.

After resetting the form, complete only the information needed for this piece of work:

FieldExample
Subtask TitleWrite Proposal
Subtask DescriptionPrepare the project scope, timeline, and estimated cost.
StatusPublished
CategoriesCRM
Start DateDate proposal writing begins
Due DateDate the draft should be finished
AssigneeTeam member writing the proposal

Leave the remaining custom fields blank. Information such as Primary Contact, Email Address, Client Phase, and Estimated Project Value belongs on the top-level client task.

Keep the subtask’s dates within the working period established by the parent task. The parent might run from the day proposal work begins through the day it will be sent, while the Write Proposal subtask ends a day earlier to leave time for review.

Click Create Subtask when you are finished.

When the parent and subtask both have dates, Timeline View can display the client’s overall working period with the more detailed action underneath it. A subtask without its own dates may be shown across the parent’s date range with a Missing Dates label, so set both dates when the subtask represents scheduled work.

Subtasks also contribute to the parent task’s progress. Completing every subtask can complete the parent task, so this approach works best when the top-level task represents a defined client engagement or current work cycle rather than a permanent client account.

Manage Client Follow-Ups in Calendar View

The CRM only stays useful when the next action is easy to find. While a client is still a lead or proposal, we are using Due Date as the next follow-up date. Calendar View gives you a simple schedule of upcoming calls, emails, proposals, and other client actions.

  1. Go to Orbital → Kanban & Timeline.
  2. Select Calendar View.
  3. Open Categories and select CRM.
  4. Review the client tasks scheduled for the current day and the week ahead.
  5. Open a client task when it is time to complete the next action.

After each conversation or completed action, update the Last Contact Date, Next Step, and Due Date. Change the Client Phase when the relationship moves forward. These four updates keep the client record current and place the next action back on your calendar.

For example, after a discovery call, record the call date, change the next step to Prepare and send proposal, and set the due date for the day the proposal should be sent. If the call moved the lead forward, drag the client into the appropriate lane in Board View.

After the client becomes an active project, the parent task’s dates may represent the full working period instead. In that case, create a dated subtask for the next scheduled action so it still appears on the calendar without changing the project’s overall due date.

Keep the CRM Simple

You do not need to recreate every feature found in a large sales platform. Start with the information your team actually uses, then add or change fields as your process becomes clearer.

The main idea is to keep each client’s contact information, current phase, next action, follow-up date, and related work in one place. Board View shows where every relationship stands. Calendar View shows what needs your attention next. Subtasks and Timeline View help you plan the work after a lead becomes an active project.

Once the structure is in place, add a few real clients and use it for a week. You will quickly see which fields help, which ones you can remove, and what your team needs to manage clients without another separate platform.