All the data in Gtmhub is stored in what we call entities. Entity can contain any number of fields in which data is stored. For example, you can imaging an entity called Sales Opportunity which has fields Name, Value and Stage. Similarly, you could imagine another entity called Twitter Account with fields such as Name, Followers Count, Friends Count, Statuses Count and Favourites Count.

Entities are populated with data through connectors.

Getting data into Gtmhub is the required first step, before you can start working with insights, goals and metrics. One easy way to get data into Gtmhub is using 'masterplans', which provide predefined entities, connectors and insights and allow you to start in minutes.

Creating entities

As we have said, the simplest way to start working with Gtmhub is through masterplans, which will create common entities for you. Masterplans are, however, available only for SaaS systems with known purpose and data structure. Often times you may need to get raw data from a database, spreadsheet or CSV file. In such cases, Gtmhub provides a simple way to create a new entity.

How to create a new entity

  • In Gtmhub navigate to Setup
  • Click on the Entities tab
  • Click on the Create custom entity button
  • Define the new entity in YAML format - the simplest way is just to modify the existing sample definition

Entity is defined by 4 properties:

  • name - programmatic name of the entity. This value must start with a letter, it can contain only letters, numbers and underscores and it must be unique. No two entities in your account can have same entity name
  • title - this value will be used in the user interface, so make it something that is humanly understandable
  • description - this value is a description of the purpose of the entity
  • fields - this is a collection of fields in which entity data will be stored. 

Every field is defined by three properties:

  • name - programmatic name of the field. This value must start with a letter, it can contain only letters, numbers and underscores and it must be unique within the entity. No two fields in the entity can have same field name
  • title - this value will be used in the user interface, so make it something that is humanly understandable
  • type - type of the data you plan to store in the field. 

Possible field types are:

  • string - Any text value, such as customer name or task description
  • date - A value which represents date and time. For example, order date or taks completion date would have this type
  • double - A floating point number. For example, deal value or percentage completed would be double.
  • integer - An integer number. For example, deals count or person age would be integer

Sample entity definition:

name: sales_opp
title: Sales Opportunities
description: Your sales opportunities and automatic online orders
fields:
  -
    name: deal_name
    title: Deal Name
    type: string
  -
    name: amount
    title: Amount
    type: double
  -
    name: created
    title: Created
    type: date
  -
    name: activities_count
    title: Activities count
    type: integer

Populating entities with data

Once we have defined entities, it's time to populate them with data. Entity can be populated with any kind of data coming from any data source.

To populate entity with data do following:

  • Click on the entity which you want to connect to data source
  • Select the data source or add a new one
  • Map the data source fields to the fields of your entity
  • Click save

Once the data is synced, you are ready to create insights.

Did this answer your question?