Understanding the Hubhus data model

Modified on Tue, 5 May at 6:27 PM

Understanding the Hubhus data model

Hubhus is built around campaigns, leads, events, resources, and users — all connected through a flexible, campaign-driven structure. Understanding how these relate is key to designing clean workflows.

TL;DR

Campaign = a self-contained workflow with its own fields and rules. Lead = one customer journey inside a campaign. Event = a calendar booking attached to a lead. Resource = anything bookable (person, vehicle, room). User = someone who logs in — not automatically a resource. Relations link leads across campaigns.

5 core entities

1

Campaign

A campaign is a self-contained workflow module — it defines its own fields, statuses, select lists, booking forms, automations, and integrations. Examples: Quotes, Service visits, Installations, Support cases. Each campaign has its own data model; leads do not share fields across campaigns.

2

Lead

A lead is one instance of work inside a campaign — a customer journey, order, or case. It holds field values, status, files, checklists, events, and history. The same person can be multiple leads across different campaigns (e.g. Quote → Installation → Invoice), each independent.

3

Event

An event is a calendar booking — created by a customer via booking form or manually by an internal user. Every event belongs to a resource. Events drive scheduling and availability but do not define the lead's data model.

4

Resource

A resource is anything that can be booked: a technician, consultant, team, vehicle, or room. Resources have calendars, business hours, travel rules, and external sync options. Resource availability determines what time slots are visible in booking forms.

5

User

A user is a person who logs into Hubhus with specific permissions. Important: a user is not automatically a resource. A user can be assigned to leads (as assigned_person) and manage campaigns — but does not control booking availability unless also configured as a resource.

Read more

Fields — all are campaign-defined

Hubhus has no predefined fields inside campaigns. Every field is created by you — name, API slug, type (text, number, date, select, JSON, checkbox), validation rules, and visibility rules. There is no assumption that leads have email, name, or phone unless you create those fields. Keep API slugs stable once used in automations or integrations.

Relations — linking across campaigns

Relations are links between objects, not fields. Use them to connect a Quote lead to an Installation lead to an Invoice lead — each campaign keeps its own fields and logic, but the records are linked:

Quote campaign → Installation campaign → Invoice campaign

Data hierarchy

  1. Account — contains all campaigns, users, resources
  2. Campaign — defines the data model
  3. Lead — implements the campaign's data model
  4. Event — schedules work via resources
  5. Resource — controls availability and sync
  6. User — controls permissions and access
  7. Relations — connect objects across campaigns

Common searches

Hubhus data model • campaign vs lead • event resource • user vs resource • relations between campaigns

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article