Upload Custom CRM data
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 | 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 |
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 | 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 |
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 |
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. |