Core Concepts

Before diving into the different models and data types available in Planhat, it’s worth understanding some core concepts that tie together the platform and models:

There are some other important concepts that are particular to certain models. These are mentioned further down - for example, Company group structures are described as part of the Company header under Business models, and some important email logic is mentioned under the Email header.

  • Keys (planhatId, sourceId, externalId)

  • Paths, permissions, and “links”

  • Formulas and Validation

  • Logs and Field History

Before diving into the different models and data types available in Planhat, it’s worth understanding some core concepts that tie together the platform and models:

There are some other important concepts that are particular to certain models. These are mentioned further down - for example, Company group structures are described as part of the Company header under Business models, and some important email logic is mentioned under the Email header.

  • Keys (planhatId, sourceId, externalId)

  • Paths, permissions, and “links”

  • Formulas and Validation

  • Logs and Field History

Before diving into the different models and data types available in Planhat, it’s worth understanding some core concepts that tie together the platform and models:

There are some other important concepts that are particular to certain models. These are mentioned further down - for example, Company group structures are described as part of the Company header under Business models, and some important email logic is mentioned under the Email header.

  • Keys (planhatId, sourceId, externalId)

  • Paths, permissions, and “links”

  • Formulas and Validation

  • Logs and Field History

Keys

There are a few different keys available to you:

PlanhatId is Planhat’s own UUID, system-generated, immutable.

Most models also support external keys: sourceId, and externalId, to facilitate integrating data from one or more sources. For models which support both, it’s worth noting that sourceId takes precedence over externalId, when both are provided in the payload.

Email can also be used as the key for Endusers. Endusers can be created with only an email, first name, last name, and companyId. They can also be updated using the email as the key. However, this requires the email to be unique in the tenant, something which is not enforced by Planhat across companies. You can read more about keys under the respective endpoints in the API docs.

  • planhatId

  • sourceId

  • externalID

  • email

Keys

There are a few different keys available to you:

PlanhatId is Planhat’s own UUID, system-generated, immutable.

Most models also support external keys: sourceId, and externalId, to facilitate integrating data from one or more sources. For models which support both, it’s worth noting that sourceId takes precedence over externalId, when both are provided in the payload.

Email can also be used as the key for Endusers. Endusers can be created with only an email, first name, last name, and companyId. They can also be updated using the email as the key. However, this requires the email to be unique in the tenant, something which is not enforced by Planhat across companies. You can read more about keys under the respective endpoints in the API docs.

  • planhatId

  • sourceId

  • externalID

  • email

Keys

There are a few different keys available to you:

PlanhatId is Planhat’s own UUID, system-generated, immutable.

Most models also support external keys: sourceId, and externalId, to facilitate integrating data from one or more sources. For models which support both, it’s worth noting that sourceId takes precedence over externalId, when both are provided in the payload.

Email can also be used as the key for Endusers. Endusers can be created with only an email, first name, last name, and companyId. They can also be updated using the email as the key. However, this requires the email to be unique in the tenant, something which is not enforced by Planhat across companies. You can read more about keys under the respective endpoints in the API docs.

  • planhatId

  • sourceId

  • externalID

  • email

Formulas and Validation

There are many parts of Planhat where custom or system-encoded calculations take place. Some are mentioned elsewhere - for example, there is a separate collection exploring Automations in detail. Below, we will take a look at Filters, Field Rules, Formula Fields, and some System Calculations.

Filters

Filters, also known as Global Filters, are available on most models, and regularly calculate which records to include and exclude, based on custom-created conditions. These conditions can relate to data on the same model, but can also reference across models, via the Company. Read more about filters here.

Field Rules

Field Rules are custom rules, enforcing data validation. They are constructed with conditions referencing fields on the same record, and/or properties of the Actor interacting with the record. They can then enforce either the mandatory state, or locked state, of selected fields. For example, you could say that for users with role “CSM”, and Companies with status “customer”, it is mandatory to have a value for the field “Industry”. Importantly, it is possible to configure whether a Field Rule should be enforced for “All Actors” (Including API and Integration) or only Users. Read more about Field Rules here.

Formula Fields and Other Calculations

Formula Fields are custom fields which regularly run calculations. The formulas can reference other fields on the same record, but Formula Fields on the Company level can also aggregate data from nested models and records. Read more about Formula Fields here.

There are also a number of “system” calculated fields, where jobs ensure that data is aggregated and calculated on a regular basis. Some examples of this are Health Profiles, which give Companies scores based on custom criteria, and Company mrr and arr fields, which aggregate data from the license model. Both of these topics are mentioned in a bit more detail in the Business Models section, but can also be found in this article describing the Company model.

Formulas and Validation

There are many parts of Planhat where custom or system-encoded calculations take place. Some are mentioned elsewhere - for example, there is a separate collection exploring Automations in detail. Below, we will take a look at Filters, Field Rules, Formula Fields, and some System Calculations.

Filters

Filters, also known as Global Filters, are available on most models, and regularly calculate which records to include and exclude, based on custom-created conditions. These conditions can relate to data on the same model, but can also reference across models, via the Company. Read more about filters here.

Field Rules

Field Rules are custom rules, enforcing data validation. They are constructed with conditions referencing fields on the same record, and/or properties of the Actor interacting with the record. They can then enforce either the mandatory state, or locked state, of selected fields. For example, you could say that for users with role “CSM”, and Companies with status “customer”, it is mandatory to have a value for the field “Industry”. Importantly, it is possible to configure whether a Field Rule should be enforced for “All Actors” (Including API and Integration) or only Users. Read more about Field Rules here.

Formula Fields and Other Calculations

Formula Fields are custom fields which regularly run calculations. The formulas can reference other fields on the same record, but Formula Fields on the Company level can also aggregate data from nested models and records. Read more about Formula Fields here.

There are also a number of “system” calculated fields, where jobs ensure that data is aggregated and calculated on a regular basis. Some examples of this are Health Profiles, which give Companies scores based on custom criteria, and Company mrr and arr fields, which aggregate data from the license model. Both of these topics are mentioned in a bit more detail in the Business Models section, but can also be found in this article describing the Company model.

Formulas and Validation

There are many parts of Planhat where custom or system-encoded calculations take place. Some are mentioned elsewhere - for example, there is a separate collection exploring Automations in detail. Below, we will take a look at Filters, Field Rules, Formula Fields, and some System Calculations.

Filters

Filters, also known as Global Filters, are available on most models, and regularly calculate which records to include and exclude, based on custom-created conditions. These conditions can relate to data on the same model, but can also reference across models, via the Company. Read more about filters here.

Field Rules

Field Rules are custom rules, enforcing data validation. They are constructed with conditions referencing fields on the same record, and/or properties of the Actor interacting with the record. They can then enforce either the mandatory state, or locked state, of selected fields. For example, you could say that for users with role “CSM”, and Companies with status “customer”, it is mandatory to have a value for the field “Industry”. Importantly, it is possible to configure whether a Field Rule should be enforced for “All Actors” (Including API and Integration) or only Users. Read more about Field Rules here.

Formula Fields and Other Calculations

Formula Fields are custom fields which regularly run calculations. The formulas can reference other fields on the same record, but Formula Fields on the Company level can also aggregate data from nested models and records. Read more about Formula Fields here.

There are also a number of “system” calculated fields, where jobs ensure that data is aggregated and calculated on a regular basis. Some examples of this are Health Profiles, which give Companies scores based on custom criteria, and Company mrr and arr fields, which aggregate data from the license model. Both of these topics are mentioned in a bit more detail in the Business Models section, but can also be found in this article describing the Company model.

Logs and Field History

Planhat also has multiple ways of exploring historical events.

There is the Logs Explorer, a filterable and searchable list of events on all Business Models (e.g. Company, Enduser, Asset, Churn, et.c.), displaying the event, the type of change that happened, and the actor. This is described in more detail here.

Then there are logs for various system features - Automations have logs, as do some integrations, such as the Salesforce and Snowflake integrations. Private Apps also have logs.

Finally, there is Field History, a list similar to the Logs Explorer, but displaying a filtered and paginated list of events involving a particular field on a particular record. Read more here.

Logs and Field History

Planhat also has multiple ways of exploring historical events.

There is the Logs Explorer, a filterable and searchable list of events on all Business Models (e.g. Company, Enduser, Asset, Churn, et.c.), displaying the event, the type of change that happened, and the actor. This is described in more detail here.

Then there are logs for various system features - Automations have logs, as do some integrations, such as the Salesforce and Snowflake integrations. Private Apps also have logs.

Finally, there is Field History, a list similar to the Logs Explorer, but displaying a filtered and paginated list of events involving a particular field on a particular record. Read more here.

Logs and Field History

Planhat also has multiple ways of exploring historical events.

There is the Logs Explorer, a filterable and searchable list of events on all Business Models (e.g. Company, Enduser, Asset, Churn, et.c.), displaying the event, the type of change that happened, and the actor. This is described in more detail here.

Then there are logs for various system features - Automations have logs, as do some integrations, such as the Salesforce and Snowflake integrations. Private Apps also have logs.

Finally, there is Field History, a list similar to the Logs Explorer, but displaying a filtered and paginated list of events involving a particular field on a particular record. Read more here.