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

Required

Data Examples

Comment

id

STRING

TRUE

2394762270

Company unique id

created_date

TIMESTAMP

FALSE

2021-01-05T08:11:00Z

YYYY-MM-DDTHH:MM:SSZ

The timestamp of when the company was created in your system in UTC timezone

name

STRING

TRUE

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

FALSE

["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

FALSE

United States, France, Germany

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

owner_name

STRING

FALSE

Sale Person

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

owner_email

STRING

FALSE

sales.person@dreamdata.io

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

industry

STRING

FALSE

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

FALSE

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

FALSE

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

FALSE

prospect, customer, competitor, partner

The type of the company

properties

JSON

FALSE

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

The CRM fields are used within Dreamdata for reporting.

Contacts

Fields

Type

Required

Data Examples

Comment

id

STRING

TRUE

39551

Contacts unique id

email

STRING

TRUE

friends@dreamdata.io

Primary email

additional_emails

ARRAY

FALSE

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

Any additional emails that might be associated with the contact

created_date

TIMESTAMP

FALSE

2021-01-05T08:11:00Z

YYYY-MM-DDTHH:MM:SSZ

The timestamp of when the contact was created in your system in UTC timezone

company_id

STRING

FALSE

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

FALSE

United States, France, Germany

The contacts country

website

STRING

FALSE

dreamdata.io

The company website of the contact

name

STRING

FALSE

Ole Dallerup

The contacts name

first_name

STRING

FALSE

Ole

The contacts name

last_name

STRING

FALSE

Dallerup

The contacts name

role

STRING

FALSE

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

FALSE

VP of Marketing, CEO, Software Engineer, Finance Manager

The contacts title

seniority

STRING

FALSE

executive, director, manager

The contacts seniority

properties

JSON

FALSE

{"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

Required

Data Examples

Comment

id

STRING

TRUE

4053091339

Unique id for the stage

company_id

STRING

TRUE*

2394762270

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

*company_id, contact_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, contact_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, contact_id, email or emails is required

name

STRING

FALSE

Dreamdata deal

The name of the opportunity or deal

currency

STRING

TRUE

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.

created_date

TIMESTAMP

TRUE*

2021-01-05T08:11:00Z

YYYY-MM-DDTHH:MM:SSZ

The timestamp has to be in UTC timezone

*created_date or closed_date is required

closed_date

TIMESTAMP

TRUE*

2021-01-05T08:11:00Z

YYYY-MM-DDTHH:MM:SSZ

The timestamp has to be in UTC timezone

*created_date or closed_date is required

amount

FLOAT

TRUE

1000

The amount of the deal

properties

JSON

FALSE

{"pipleine":"sales", "stage": "newbiz"}

The CRM fields are used within Dreamdata for reporting.

Events

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

Fields

Type

Required

Data Examples

Comment

id

STRING

TRUE

Id of the event

event

STRING

TRUE

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

TRUE

2021-01-05T08:11:00Z

YYYY-MM-DDTHH:MM:SSZ

Timestamp of the event in UTC timezone

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

FALSE

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

Additional properties attached from your CRM solution.


How did we do?