Upload Custom CRM data

Updated by Ole Dallerup

Custom Upload is available to Enterprise customers.

Uploading a custom CRM Source is typically used for customers who are in one of the following situations

  • Customer has a CRM not yet supported by Dreamdata (Dreamdata natively supports Salesforce, HubSpot, Pipedrive, and MS Dynamics).
  • Customer has a self-hosted CRM such as Oracle or MS Dynamics (Dreamdata has native support of MS Dynamics Cloud).
  • Customer has a home build CRM
  • Customer wants to avoid hitting CRM API limits (for example, Salesforce)

You can read more about fileformat and how to upload customer data to Dreamdata here.

The schema expected for a complete CRM upload is included below. To upload a full CRM, you must include at least the company, contact, and stage object.

Companies

Fields

Type

Nullable?

Data Examples

Comment

id

STRING

FALSE

2394762270

Company unique id

created_date

TIMESTAMP

TRUE

2021-01-05T08:11:00.563Z

The timestamp of when the company was created in your system.

name

STRING

FALSE

Dreamdata

Name of the company

website

STRING

TRUE

dreamdata.io

The website of the company. It’s not a required field but highly recommended and Dreamdata works best when available.

additional_websites

ARRAY

TRUE

["dreamdataio.com", "dreamdata.cloud"]

Additional know websites associated with this company. Dreamdata will sometimes try to enrich this field using the primary website field.

country

STRING

TRUE

United States, France, Germany

The main country for the company. Dreamdata will automatically try to enrich this using the website field.

owner_name

STRING

TRUE

Sale Person

The name of the sales or customer success person who owns the account.

owner_email

STRING

TRUE

sales.person@dreamdata.io

The email of the sales or customer success person who owns the account.

industry

STRING

TRUE

Information Technology & Services, Computer Software, Financial Services, Real Estate, Telecommunications

In the companies industry, Dreamdata will automatically try to enrich this using the website field.

number_of_employees

STRING

TRUE

24,1200, 20000, 1 - 10, 10k - 50k

The number of employees within the company. If this is a number, Dreamdata will automatically bucket the data, if this is a bucket, then that bucket will be used as-is. Dreamdata will automatically try to enrich this using the website field.

annual_revenue

STRING

TRUE

10500000, 200000000, 10M - 50M, 50M - 100M

The annual revenue of the company. If this is a number, Dreamdata will automatically bucket the data; if this is a bucket, then that bucket will be used as is

type

STRING

TRUE

prospect, customer, competitor, partner

The type of the company

properties

JSON

TRUE

{"name":"John", "age":30, "car":null}

The CRM fields are used within Dreamdata for reporting.

Contacts

Fields

Type

Nullable?

Data Examples

Comment

id

STRING

FALSE

39551

Contacts unique id

email

STRING

FALSE

friends@dreamdata.io

Primary email

additional_emails

ARRAY

TRUE

["support@dreamdata.io", "friends@dreamdataio.com"]

Any additional emails that might be associated with the contact

created_date

TIMESTAMP

TRUE

2021-01-26T12:23:00.563Z

The timestamp of when the contact was created in your system.

company_id

STRING

TRUE

2394762270

Company id pointing to the company the contact is associated with. If the contact is associated with more than one company, then duplicated contact records is expected

country

STRING

TRUE

United States, France, Germany

The contacts country

website

STRING

TRUE

dreamdata.io

The company website of the contact

name

STRING

TRUE

Ole Dallerup

The contacts name

first_name

STRING

TRUE

Ole

The contacts name

last_name

STRING

TRUE

Dallerup

The contacts name

role

STRING

TRUE

communications, customer_service, education, engineering, finance, health_professional, human_resources, information_technology, leadership, legal, marketing, operations, product, public_relations, real_estate, recruiting, sales

The contacts role

title

STRING

TRUE

VP of Marketing, CEO, Software Engineer, Finance Manager

The contacts title

seniority

STRING

TRUE

executive, director, manager

The contacts seniority

properties

JSON

TRUE

{"name":"John", "age":30, "car":null}

The CRM fields are used within Dreamdata for reporting.

Stage Object (Opportunities / Deals)

It depends on system, often this is called opportunities or deals. We call it stages, because they represent both very steps very early in the funnel and also later when it in fact is close becoming new business bookings.

Fields

Type

Nullable?

Data Examples

Comment

id

STRING

FALSE

4053091339

Unique id for the stage

company_id

STRING

TRUE*

2394762270

Company_id from the primary CRM, if not available see email.

*company_id, email or emails is required

email

STRING

TRUE*

friends@dreamdata.io

The email of the user who did purchase. Dreamdata will use this email to find the company id from the primary crm. Its only used if company_id is not set.

*company_id, email or emails is required

contact_id

STRING

TRUE*

23242349233

emails

ARRAY

TRUE*

["support@dreamdata.io", "friends@dreamdataio.com"]

All email addresses of contacts involved with the opportunity for cases when you want to do opportunity attribution.

*company_id, email or emails is required

name

STRING

TRUE

Dreamdata deal

The name of the opportunity or deal

currency

STRING

FALSE

USD, EUR, GBP

The currency the amount represents. If you are sending mixed currencies Dreamdata will ensure to calculate all amount into your base currency.

properties

JSON

TRUE

{"pipleine":"sales", "stage": "newbiz", "closed_date":null, "created_date": "2021-01-05T08:11:00.563Z", "amount": 34000}

The CRM fields are used within Dreamdata for reporting.

Requirements:

- one field has to be a timestamp or datetime

Events

Events are generic activities a user can do. See below for typical examples. 

Fields

Type

Nullable?

Data Examples

Comment

id

STRING

FALSE

Id of the event

event

STRING

FALSE

task, demo_request, activity

Event name, as such this is free text. However if you use the typical event examples it will be easier to Dreamdata to guess what kind of an event this is.

timestamp

TIMESTAMP

FALSE

2020-11-21T12:23:00.563Z

Timestamp of the event

contact_id

STRING

TRUE*

friends@dreamdata.io

Reference the contact_id from your custom uploaded company data.

You are not able to reference id's from native Dreamdata sources such as Salesforce or HubSpot.

*Either contact_id, email or company_id has to be set

email

STRING

TRUE*

friends@dreamdata.io

The email address of the user.

*Either contact_id, email or company_id has to be set

company_id

STRING

TRUE*

dreamdata.com

Reference the company_id from your custom uploaded company data.

You are not able to reference id's from native Dreamdata sources such as Salesforce or HubSpot.

*Either contact_id, email or company_id has to be set

properties

JSON

TRUE

{"name":"John", "age":30, "car":null}

Additional properties attached from your CRM solution.


How did we do?