n8n/packages/nodes-base/nodes/Hubspot/GenericFunctions.ts
Omar Ajoue 7ce7285f7a
Load credentials from the database (#1741)
* Changes to types so that credentials can be always loaded from DB

This first commit changes all return types from the execute functions
and calls to get credentials to be async so we can use await.

This is a first step as previously credentials were loaded in memory and
always available. We will now be loading them from the DB which requires
turning the whole call chain async.

* Fix updated files

* Removed unnecessary credential loading to improve performance

* Fix typo

*  Fix issue

* Updated new nodes to load credentials async

*  Remove not needed comment

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-08-20 18:57:30 +02:00

1891 lines
38 KiB
TypeScript

import {
OptionsWithUri,
} from 'request';
import {
IExecuteFunctions,
IExecuteSingleFunctions,
IHookFunctions,
ILoadOptionsFunctions,
} from 'n8n-core';
import {
IDataObject,
NodeApiError,
} from 'n8n-workflow';
export async function hubspotApiRequest(this: IHookFunctions | IExecuteFunctions | IExecuteSingleFunctions | ILoadOptionsFunctions, method: string, endpoint: string, body: any = {}, query: IDataObject = {}, uri?: string): Promise<any> { // tslint:disable-line:no-any
let authenticationMethod = this.getNodeParameter('authentication', 0);
if (this.getNode().type.includes('Trigger')) {
authenticationMethod = 'developerApi';
}
const options: OptionsWithUri = {
method,
qs: query,
uri: uri || `https://api.hubapi.com${endpoint}`,
body,
json: true,
useQuerystring: true,
};
try {
if (authenticationMethod === 'apiKey') {
const credentials = await this.getCredentials('hubspotApi');
options.qs.hapikey = credentials!.apiKey as string;
return await this.helpers.request!(options);
} else if (authenticationMethod === 'developerApi') {
const credentials = await this.getCredentials('hubspotDeveloperApi');
options.qs.hapikey = credentials!.apiKey as string;
return await this.helpers.request!(options);
} else {
// @ts-ignore
return await this.helpers.requestOAuth2!.call(this, 'hubspotOAuth2Api', options, { tokenType: 'Bearer', includeCredentialsOnRefreshOnBody: true });
}
} catch (error) {
throw new NodeApiError(this.getNode(), error);
}
}
/**
* Make an API request to paginated hubspot endpoint
* and return all results
*/
export async function hubspotApiRequestAllItems(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions, propertyName: string, method: string, endpoint: string, body: any = {}, query: IDataObject = {}): Promise<any> { // tslint:disable-line:no-any
const returnData: IDataObject[] = [];
let responseData;
query.limit = query.limit || 250;
query.count = 100;
body.limit = body.limit || 100;
do {
responseData = await hubspotApiRequest.call(this, method, endpoint, body, query);
query.offset = responseData.offset;
query.vidOffset = responseData['vid-offset'];
returnData.push.apply(returnData, responseData[propertyName]);
//ticket:getAll endpoint does not support setting a limit, so return once the limit is reached
if (query.limit && query.limit <= returnData.length && endpoint.includes('/tickets/paged')) {
return returnData;
}
} while (
responseData['hasMore'] || responseData['has-more']
);
return returnData;
}
export function validateJSON(json: string | undefined): any { // tslint:disable-line:no-any
let result;
try {
result = JSON.parse(json!);
} catch (exception) {
result = '';
}
return result;
}
// tslint:disable-next-line: no-any
export function clean(obj: any) {
for (const propName in obj) {
if (obj[propName] === null || obj[propName] === undefined || obj[propName] === '') {
delete obj[propName];
}
}
return obj;
}
export const propertyEvents = [
'contact.propertyChange',
'company.propertyChange',
'deal.propertyChange',
];
export const contactFields = [
{
'id': 'company_size',
'label': 'testingricardo',
},
{
'id': 'date',
'label': 'Date',
},
{
'id': 'date_of_birth',
'label': 'Date of birth',
},
{
'id': 'days_to_close',
'label': 'Days To Close',
},
{
'id': 'degree',
'label': 'Degree',
},
{
'id': 'field_of_study',
'label': 'Field of study',
},
{
'id': 'first_conversion_date',
'label': 'First Conversion Date',
},
{
'id': 'first_conversion_event_name',
'label': 'First Conversion',
},
{
'id': 'first_deal_created_date',
'label': 'First Deal Created Date',
},
{
'id': 'gender',
'label': 'Gender',
},
{
'id': 'graduation_date',
'label': 'Graduation date',
},
{
'id': 'hs_additional_emails',
'label': 'Additional email addresses',
},
{
'id': 'hs_all_contact_vids',
'label': 'All vids for a contact',
},
{
'id': 'hs_analytics_first_touch_converting_campaign',
'label': 'First Touch Converting Campaign',
},
{
'id': 'hs_analytics_last_touch_converting_campaign',
'label': 'Last Touch Converting Campaign',
},
{
'id': 'hs_avatar_filemanager_key',
'label': 'Avatar FileManager key',
},
{
'id': 'hs_buying_role',
'label': 'Buying Role',
},
{
'id': 'hs_calculated_form_submissions',
'label': 'All form submissions for a contact',
},
{
'id': 'hs_calculated_merged_vids',
'label': 'Merged vids with timestamps of a contact',
},
{
'id': 'hs_calculated_mobile_number',
'label': 'Calculated Mobile Number in International Format',
},
{
'id': 'hs_calculated_phone_number',
'label': 'Calculated Phone Number in International Format',
},
{
'id': 'hs_calculated_phone_number_area_code',
'label': 'Calculated Phone Number Area Code',
},
{
'id': 'hs_calculated_phone_number_country_code',
'label': 'Calculated Phone Number Country Code',
},
{
'id': 'hs_calculated_phone_number_region_code',
'label': 'Calculated Phone Number Region',
},
{
'id': 'hs_content_membership_email_confirmed',
'label': 'Email Confirmed',
},
{
'id': 'hs_content_membership_notes',
'label': 'Membership Notes',
},
{
'id': 'hs_content_membership_registered_at',
'label': 'Registered At',
},
{
'id': 'hs_content_membership_registration_domain_sent_to',
'label': 'Domain to which registration email was sent',
},
{
'id': 'hs_content_membership_registration_email_sent_at',
'label': 'Time registration email was sent',
},
{
'id': 'hs_content_membership_status',
'label': 'Status',
},
{
'id': 'hs_conversations_visitor_email',
'label': 'Conversations visitor email',
},
{
'id': 'hs_count_is_unworked',
'label': 'Count of unengaged contacts',
},
{
'id': 'hs_count_is_worked',
'label': 'Count of engaged contacts',
},
{
'id': 'hs_created_by_conversations',
'label': 'Created By Conversations',
},
{
'id': 'hs_created_by_user_id',
'label': 'Created by user ID',
},
{
'id': 'hs_createdate',
'label': 'Object create date/time',
},
{
'id': 'hs_document_last_revisited',
'label': 'Recent Document Revisit Date',
},
{
'id': 'hs_email_bad_address',
'label': 'Invalid email address',
},
{
'id': 'hs_email_customer_quarantined_reason',
'label': 'Email address quarantine reason',
},
{
'id': 'hs_email_domain',
'label': 'Email Domain',
},
{
'id': 'hs_email_hard_bounce_reason',
'label': 'Email hard bounce reason',
},
{
'id': 'hs_email_hard_bounce_reason_enum',
'label': 'Email hard bounce reason',
},
{
'id': 'hs_email_quarantined',
'label': 'Email Address Quarantined',
},
{
'id': 'hs_email_quarantined_reason',
'label': 'Email address internal quarantine reason',
},
{
'id': 'hs_email_recipient_fatigue_recovery_time',
'label': 'Email Address Recipient Fatigue Next Available Sending Time',
},
{
'id': 'hs_email_sends_since_last_engagement',
'label': 'Sends Since Last Engagement',
},
{
'id': 'hs_emailconfirmationstatus',
'label': 'Marketing email confirmation status',
},
{
'id': 'hs_facebook_ad_clicked',
'label': 'Clicked Facebook ad',
},
{
'id': 'hs_facebook_click_id',
'label': 'Facebook click id',
},
{
'id': 'hs_facebookid',
'label': 'Facebook ID',
},
{
'id': 'hs_feedback_last_nps_follow_up',
'label': 'Last NPS survey comment',
},
{
'id': 'hs_feedback_last_nps_rating',
'label': 'Last NPS survey rating',
},
{
'id': 'hs_feedback_last_survey_date',
'label': 'Last NPS survey date',
},
{
'id': 'hs_feedback_show_nps_web_survey',
'label': 'Should be shown an NPS web survey',
},
{
'id': 'hs_first_engagement_object_id',
'label': 'ID of first engagement',
},
{
'id': 'hs_google_click_id',
'label': 'Google ad click id',
},
{
'id': 'hs_googleplusid',
'label': 'googleplus ID',
},
{
'id': 'hs_ip_timezone',
'label': 'IP Timezone',
},
{
'id': 'hs_is_contact',
'label': 'Is a contact',
},
{
'id': 'hs_is_unworked',
'label': 'Contact unworked',
},
{
'id': 'hs_last_sales_activity_date',
'label': 'last sales activity date old',
},
{
'id': 'hs_last_sales_activity_timestamp',
'label': 'Last Engagement Date',
},
{
'id': 'hs_lastmodifieddate',
'label': 'Object last modified date/time',
},
{
'id': 'hs_lead_status',
'label': 'Lead Status',
},
{
'id': 'hs_legal_basis',
'label': 'Legal basis for processing contact\'s data',
},
{
'id': 'hs_linkedinid',
'label': 'Linkedin ID',
},
{
'id': 'hs_marketable_reason_id',
'label': 'Marketing contact status source name',
},
{
'id': 'hs_marketable_reason_type',
'label': 'Marketing contact status source type',
},
{
'id': 'hs_marketable_status',
'label': 'Marketing contact status',
},
{
'id': 'hs_marketable_until_renewal',
'label': 'Marketing contact until next update',
},
{
'id': 'hs_merged_object_ids',
'label': 'Merged object IDs',
},
{
'id': 'hs_object_id',
'label': 'Contact ID',
},
{
'id': 'hs_predictivecontactscore_v2',
'label': 'Likelihood to close',
},
{
'id': 'hs_predictivescoringtier',
'label': 'Contact priority',
},
{
'id': 'hs_sa_first_engagement_date',
'label': 'Date of first engagement',
},
{
'id': 'hs_sa_first_engagement_descr',
'label': 'Description of first engagement',
},
{
'id': 'hs_sa_first_engagement_object_type',
'label': 'Type of first engagement',
},
{
'id': 'hs_sales_email_last_clicked',
'label': 'Recent Sales Email Clicked Date',
},
{
'id': 'hs_sales_email_last_opened',
'label': 'Recent Sales Email Opened Date',
},
{
'id': 'hs_searchable_calculated_international_mobile_number',
'label': 'Calculated Mobile Number with country code',
},
{
'id': 'hs_searchable_calculated_international_phone_number',
'label': 'Calculated Phone Number with country code',
},
{
'id': 'hs_searchable_calculated_mobile_number',
'label': 'Calculated Mobile Number without country code',
},
{
'id': 'hs_searchable_calculated_phone_number',
'label': 'Calculated Phone Number without country code',
},
{
'id': 'hs_sequences_is_enrolled',
'label': 'Currently in Sequence',
},
{
'id': 'hs_testpurge',
'label': 'testpurge',
},
{
'id': 'hs_testrollback',
'label': 'testrollback',
},
{
'id': 'hs_time_between_contact_creation_and_deal_close',
'label': 'Time between contact creation and deal close',
},
{
'id': 'hs_time_between_contact_creation_and_deal_creation',
'label': 'Time between contact creation and deal creation',
},
{
'id': 'hs_time_to_first_engagement',
'label': 'Lead response time',
},
{
'id': 'hs_time_to_move_from_lead_to_customer',
'label': 'Time to move from lead to customer',
},
{
'id': 'hs_time_to_move_from_marketingqualifiedlead_to_customer',
'label': 'Time to move from marketing qualified lead to customer',
},
{
'id': 'hs_time_to_move_from_opportunity_to_customer',
'label': 'Time to move from opportunity to customer',
},
{
'id': 'hs_time_to_move_from_salesqualifiedlead_to_customer',
'label': 'Time to move from sales qualified lead to customer',
},
{
'id': 'hs_time_to_move_from_subscriber_to_customer',
'label': 'Time to move from subscriber to customer',
},
{
'id': 'hs_twitterid',
'label': 'Twitter ID',
},
{
'id': 'hs_updated_by_user_id',
'label': 'Updated by user ID',
},
{
'id': 'hs_user_ids_of_all_owners',
'label': 'User IDs of all owners',
},
{
'id': 'hubspot_owner_assigneddate',
'label': 'Owner Assigned Date',
},
{
'id': 'ip_city',
'label': 'IP City',
},
{
'id': 'ip_country',
'label': 'IP Country',
},
{
'id': 'ip_country_code',
'label': 'IP Country Code',
},
{
'id': 'ip_latlon',
'label': 'IP Latitude & Longitude',
},
{
'id': 'ip_state',
'label': 'IP State/Region',
},
{
'id': 'ip_state_code',
'label': 'IP State Code/Region Code',
},
{
'id': 'ip_zipcode',
'label': 'IP Zipcode',
},
{
'id': 'job_function',
'label': 'Job function',
},
{
'id': 'lastmodifieddate',
'label': 'Last Modified Date',
},
{
'id': 'marital_status',
'label': 'Marital Status',
},
{
'id': 'military_status',
'label': 'Military status',
},
{
'id': 'num_associated_deals',
'label': 'Associated Deals',
},
{
'id': 'num_conversion_events',
'label': 'Number of Form Submissions',
},
{
'id': 'num_unique_conversion_events',
'label': 'Number of Unique Forms Submitted',
},
{
'id': 'recent_conversion_date',
'label': 'Recent Conversion Date',
},
{
'id': 'recent_conversion_event_name',
'label': 'Recent Conversion',
},
{
'id': 'recent_deal_amount',
'label': 'Recent Deal Amount',
},
{
'id': 'recent_deal_close_date',
'label': 'Recent Deal Close Date',
},
{
'id': 'relationship_status',
'label': 'Relationship Status',
},
{
'id': 'school',
'label': 'School',
},
{
'id': 'seniority',
'label': 'Seniority',
},
{
'id': 'start_date',
'label': 'Start date',
},
{
'id': 'testing',
'label': 'testing',
},
{
'id': 'total_revenue',
'label': 'Total Revenue',
},
{
'id': 'work_email',
'label': 'Work email',
},
{
'id': 'firstname',
'label': 'First Name',
},
{
'id': 'hs_analytics_first_url',
'label': 'First Page Seen',
},
{
'id': 'hs_email_delivered',
'label': 'Marketing emails delivered',
},
{
'id': 'hs_email_optout_6871816',
'label': 'Opted out of email: Marketing Information',
},
{
'id': 'hs_email_optout_8363428',
'label': 'Opted out of email: One to One',
},
{
'id': 'twitterhandle',
'label': 'Twitter Username',
},
{
'id': 'currentlyinworkflow',
'label': 'Currently in workflow',
},
{
'id': 'followercount',
'label': 'Follower Count',
},
{
'id': 'hs_analytics_last_url',
'label': 'Last Page Seen',
},
{
'id': 'hs_email_open',
'label': 'Marketing emails opened',
},
{
'id': 'lastname',
'label': 'Last Name',
},
{
'id': 'hs_analytics_num_page_views',
'label': 'Number of Pageviews',
},
{
'id': 'hs_email_click',
'label': 'Marketing emails clicked',
},
{
'id': 'salutation',
'label': 'Salutation',
},
{
'id': 'twitterprofilephoto',
'label': 'Twitter Profile Photo',
},
{
'id': 'email',
'label': 'Email',
},
{
'id': 'hs_analytics_num_visits',
'label': 'Number of Sessions',
},
{
'id': 'hs_email_bounce',
'label': 'Marketing emails bounced',
},
{
'id': 'hs_persona',
'label': 'Persona',
},
{
'id': 'hs_social_last_engagement',
'label': 'Most Recent Social Click',
},
{
'id': 'hs_analytics_num_event_completions',
'label': 'Number of event completions',
},
{
'id': 'hs_email_optout',
'label': 'Unsubscribed from all email',
},
{
'id': 'hs_social_twitter_clicks',
'label': 'Twitter Clicks',
},
{
'id': 'mobilephone',
'label': 'Mobile Phone Number',
},
{
'id': 'phone',
'label': 'Phone Number',
},
{
'id': 'fax',
'label': 'Fax Number',
},
{
'id': 'hs_analytics_first_timestamp',
'label': 'Time First Seen',
},
{
'id': 'hs_email_last_email_name',
'label': 'Last marketing email name',
},
{
'id': 'hs_email_last_send_date',
'label': 'Last marketing email send date',
},
{
'id': 'hs_social_facebook_clicks',
'label': 'Facebook Clicks',
},
{
'id': 'address',
'label': 'Street Address',
},
{
'id': 'engagements_last_meeting_booked',
'label': 'Date of last meeting booked in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_campaign',
'label': 'Campaign of last booking in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_medium',
'label': 'Medium of last booking in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_source',
'label': 'Source of last booking in meetings tool',
},
{
'id': 'hs_analytics_first_visit_timestamp',
'label': 'Time of First Session',
},
{
'id': 'hs_email_last_open_date',
'label': 'Last marketing email open date',
},
{
'id': 'hs_latest_meeting_activity',
'label': 'Latest meeting activity',
},
{
'id': 'hs_sales_email_last_replied',
'label': 'Recent Sales Email Replied Date',
},
{
'id': 'hs_social_linkedin_clicks',
'label': 'LinkedIn Clicks',
},
{
'id': 'hubspot_owner_id',
'label': 'Contact owner',
},
{
'id': 'notes_last_contacted',
'label': 'Last Contacted',
},
{
'id': 'notes_last_updated',
'label': 'Last Activity Date',
},
{
'id': 'notes_next_activity_date',
'label': 'Next Activity Date',
},
{
'id': 'num_contacted_notes',
'label': 'Number of times contacted',
},
{
'id': 'num_notes',
'label': 'Number of Sales Activities',
},
{
'id': 'owneremail',
'label': 'HubSpot Owner Email (legacy)',
},
{
'id': 'ownername',
'label': 'HubSpot Owner Name (legacy)',
},
{
'id': 'surveymonkeyeventlastupdated',
'label': 'SurveyMonkey Event Last Updated',
},
{
'id': 'webinareventlastupdated',
'label': 'Webinar Event Last Updated',
},
{
'id': 'city',
'label': 'City',
},
{
'id': 'hs_analytics_last_timestamp',
'label': 'Time Last Seen',
},
{
'id': 'hs_email_last_click_date',
'label': 'Last marketing email click date',
},
{
'id': 'hs_social_google_plus_clicks',
'label': 'Google Plus Clicks',
},
{
'id': 'hubspot_team_id',
'label': 'HubSpot Team',
},
{
'id': 'linkedinbio',
'label': 'LinkedIn Bio',
},
{
'id': 'twitterbio',
'label': 'Twitter Bio',
},
{
'id': 'hs_all_owner_ids',
'label': 'All owner ids',
},
{
'id': 'hs_analytics_last_visit_timestamp',
'label': 'Time of Last Session',
},
{
'id': 'hs_email_first_send_date',
'label': 'First marketing email send date',
},
{
'id': 'hs_social_num_broadcast_clicks',
'label': 'Broadcast Clicks',
},
{
'id': 'state',
'label': 'State/Region',
},
{
'id': 'hs_all_team_ids',
'label': 'All team ids',
},
{
'id': 'hs_analytics_source',
'label': 'Original Source',
},
{
'id': 'hs_email_first_open_date',
'label': 'First marketing email open date',
},
{
'id': 'zip',
'label': 'Postal Code',
},
{
'id': 'country',
'label': 'Country/Region',
},
{
'id': 'hs_all_accessible_team_ids',
'label': 'All accessible team ids',
},
{
'id': 'hs_analytics_source_data_1',
'label': 'Original Source Drill-Down 1',
},
{
'id': 'hs_email_first_click_date',
'label': 'First marketing email click date',
},
{
'id': 'linkedinconnections',
'label': 'LinkedIn Connections',
},
{
'id': 'hs_analytics_source_data_2',
'label': 'Original Source Drill-Down 2',
},
{
'id': 'hs_email_is_ineligible',
'label': 'Is globally ineligible',
},
{
'id': 'hs_language',
'label': 'Preferred language',
},
{
'id': 'kloutscoregeneral',
'label': 'Klout Score',
},
{
'id': 'hs_analytics_first_referrer',
'label': 'First Referring Site',
},
{
'id': 'hs_email_first_reply_date',
'label': 'First marketing email reply date',
},
{
'id': 'jobtitle',
'label': 'Job Title',
},
{
'id': 'photo',
'label': 'Photo',
},
{
'id': 'hs_analytics_last_referrer',
'label': 'Last Referring Site',
},
{
'id': 'hs_email_last_reply_date',
'label': 'Last marketing email reply date',
},
{
'id': 'message',
'label': 'Message',
},
{
'id': 'closedate',
'label': 'Close Date',
},
{
'id': 'hs_analytics_average_page_views',
'label': 'Average Pageviews',
},
{
'id': 'hs_email_replied',
'label': 'Marketing emails replied',
},
{
'id': 'hs_analytics_revenue',
'label': 'Event Revenue',
},
{
'id': 'hs_lifecyclestage_lead_date',
'label': 'Became a Lead Date',
},
{
'id': 'hs_lifecyclestage_marketingqualifiedlead_date',
'label': 'Became a Marketing Qualified Lead Date',
},
{
'id': 'hs_lifecyclestage_opportunity_date',
'label': 'Became an Opportunity Date',
},
{
'id': 'lifecyclestage',
'label': 'Lifecycle Stage',
},
{
'id': 'hs_lifecyclestage_salesqualifiedlead_date',
'label': 'Became a Sales Qualified Lead Date',
},
{
'id': 'createdate',
'label': 'Create Date',
},
{
'id': 'hs_lifecyclestage_evangelist_date',
'label': 'Became an Evangelist Date',
},
{
'id': 'hs_lifecyclestage_customer_date',
'label': 'Became a Customer Date',
},
{
'id': 'hubspotscore',
'label': 'HubSpot Score',
},
{
'id': 'company',
'label': 'Company Name',
},
{
'id': 'hs_lifecyclestage_subscriber_date',
'label': 'Became a Subscriber Date',
},
{
'id': 'hs_lifecyclestage_other_date',
'label': 'Became an Other Lifecycle Date',
},
{
'id': 'website',
'label': 'Website URL',
},
{
'id': 'numemployees',
'label': 'Number of Employees',
},
{
'id': 'annualrevenue',
'label': 'Annual Revenue',
},
{
'id': 'industry',
'label': 'Industry',
},
{
'id': 'associatedcompanyid',
'label': 'Associated Company ID',
},
{
'id': 'associatedcompanylastupdated',
'label': 'Associated Company Last Updated',
},
{
'id': 'hs_predictivecontactscorebucket',
'label': 'Lead Rating',
},
{
'id': 'hs_predictivecontactscore',
'label': 'Predictive Lead Score',
},
];
export const companyFields = [
{
'id': 'about_us',
'label': 'About Us',
},
{
'id': 'closedate_timestamp_earliest_value_a2a17e6e',
'label': 'closedate_timestamp_earliest_value_a2a17e6e',
},
{
'id': 'facebookfans',
'label': 'Facebook Fans',
},
{
'id': 'first_contact_createdate_timestamp_earliest_value_78b50eea',
'label': 'first_contact_createdate_timestamp_earliest_value_78b50eea',
},
{
'id': 'first_conversion_date',
'label': 'First Conversion Date',
},
{
'id': 'first_conversion_date_timestamp_earliest_value_61f58f2c',
'label': 'first_conversion_date_timestamp_earliest_value_61f58f2c',
},
{
'id': 'first_conversion_event_name',
'label': 'First Conversion',
},
{
'id': 'first_conversion_event_name_timestamp_earliest_value_68ddae0a',
'label': 'first_conversion_event_name_timestamp_earliest_value_68ddae0a',
},
{
'id': 'first_deal_created_date',
'label': 'First Deal Created Date',
},
{
'id': 'founded_year',
'label': 'Year Founded',
},
{
'id': 'hs_additional_domains',
'label': 'Additional Domains',
},
{
'id': 'hs_analytics_first_timestamp',
'label': 'Time First Seen',
},
{
'id': 'hs_analytics_first_timestamp_timestamp_earliest_value_11e3a63a',
'label': 'hs_analytics_first_timestamp_timestamp_earliest_value_11e3a63a',
},
{
'id': 'hs_analytics_first_touch_converting_campaign',
'label': 'First Touch Converting Campaign',
},
{
'id': 'hs_analytics_first_touch_converting_campaign_timestamp_earliest_value_4757fe10',
'label': 'hs_analytics_first_touch_converting_campaign_timestamp_earliest_value_4757fe10',
},
{
'id': 'hs_analytics_first_visit_timestamp',
'label': 'Time of First Session',
},
{
'id': 'hs_analytics_first_visit_timestamp_timestamp_earliest_value_accc17ae',
'label': 'hs_analytics_first_visit_timestamp_timestamp_earliest_value_accc17ae',
},
{
'id': 'hs_analytics_last_timestamp',
'label': 'Time Last Seen',
},
{
'id': 'hs_analytics_last_timestamp_timestamp_latest_value_4e16365a',
'label': 'hs_analytics_last_timestamp_timestamp_latest_value_4e16365a',
},
{
'id': 'hs_analytics_last_touch_converting_campaign',
'label': 'Last Touch Converting Campaign',
},
{
'id': 'hs_analytics_last_touch_converting_campaign_timestamp_latest_value_81a64e30',
'label': 'hs_analytics_last_touch_converting_campaign_timestamp_latest_value_81a64e30',
},
{
'id': 'hs_analytics_last_visit_timestamp',
'label': 'Time of Last Session',
},
{
'id': 'hs_analytics_last_visit_timestamp_timestamp_latest_value_999a0fce',
'label': 'hs_analytics_last_visit_timestamp_timestamp_latest_value_999a0fce',
},
{
'id': 'hs_analytics_num_page_views',
'label': 'Number of Pageviews',
},
{
'id': 'hs_analytics_num_page_views_cardinality_sum_e46e85b0',
'label': 'hs_analytics_num_page_views_cardinality_sum_e46e85b0',
},
{
'id': 'hs_analytics_num_visits',
'label': 'Number of Sessions',
},
{
'id': 'hs_analytics_num_visits_cardinality_sum_53d952a6',
'label': 'hs_analytics_num_visits_cardinality_sum_53d952a6',
},
{
'id': 'hs_analytics_source',
'label': 'Original Source Type',
},
{
'id': 'hs_analytics_source_data_1',
'label': 'Original Source Data 1',
},
{
'id': 'hs_analytics_source_data_1_timestamp_earliest_value_9b2f1fa1',
'label': 'hs_analytics_source_data_1_timestamp_earliest_value_9b2f1fa1',
},
{
'id': 'hs_analytics_source_data_2',
'label': 'Original Source Data 2',
},
{
'id': 'hs_analytics_source_data_2_timestamp_earliest_value_9b2f9400',
'label': 'hs_analytics_source_data_2_timestamp_earliest_value_9b2f9400',
},
{
'id': 'hs_analytics_source_timestamp_earliest_value_25a3a52c',
'label': 'hs_analytics_source_timestamp_earliest_value_25a3a52c',
},
{
'id': 'hs_avatar_filemanager_key',
'label': 'Avatar FileManager key',
},
{
'id': 'hs_created_by_user_id',
'label': 'Created by user ID',
},
{
'id': 'hs_createdate',
'label': 'Object create date/time',
},
{
'id': 'hs_ideal_customer_profile',
'label': 'Ideal Customer Profile Tier',
},
{
'id': 'hs_is_target_account',
'label': 'Target Account',
},
{
'id': 'hs_last_booked_meeting_date',
'label': 'Last Booked Meeting Date',
},
{
'id': 'hs_last_logged_call_date',
'label': 'Last Logged Call Date',
},
{
'id': 'hs_last_open_task_date',
'label': 'Last Open Task Date',
},
{
'id': 'hs_last_sales_activity_date',
'label': 'last sales activity date old',
},
{
'id': 'hs_last_sales_activity_timestamp',
'label': 'Last Engagement Date',
},
{
'id': 'hs_lastmodifieddate',
'label': 'Last Modified Date',
},
{
'id': 'hs_merged_object_ids',
'label': 'Merged object IDs',
},
{
'id': 'hs_num_blockers',
'label': 'Number of blockers',
},
{
'id': 'hs_num_contacts_with_buying_roles',
'label': 'Number of contacts with a buying role',
},
{
'id': 'hs_num_decision_makers',
'label': 'Number of decision makers',
},
{
'id': 'hs_num_open_deals',
'label': 'Number of open deals',
},
{
'id': 'hs_object_id',
'label': 'Company ID',
},
{
'id': 'hs_predictivecontactscore_v2',
'label': 'Likelihood to close',
},
{
'id': 'hs_predictivecontactscore_v2_next_max_max_d4e58c1e',
'label': 'hs_predictivecontactscore_v2_next_max_max_d4e58c1e',
},
{
'id': 'hs_target_account',
'label': 'Target Account',
},
{
'id': 'hs_target_account_probability',
'label': 'Target Account Probability',
},
{
'id': 'hs_target_account_recommendation_snooze_time',
'label': 'Target Account Recommendation Snooze Time',
},
{
'id': 'hs_target_account_recommendation_state',
'label': 'Target Account Recommendation State',
},
{
'id': 'hs_total_deal_value',
'label': 'Total open deal value',
},
{
'id': 'hs_updated_by_user_id',
'label': 'Updated by user ID',
},
{
'id': 'hs_user_ids_of_all_owners',
'label': 'User IDs of all owners',
},
{
'id': 'hubspot_owner_assigneddate',
'label': 'Owner Assigned Date',
},
{
'id': 'is_public',
'label': 'Is Public',
},
{
'id': 'num_associated_contacts',
'label': 'Associated Contacts',
},
{
'id': 'num_associated_deals',
'label': 'Associated Deals',
},
{
'id': 'num_conversion_events',
'label': 'Number of Form Submissions',
},
{
'id': 'num_conversion_events_cardinality_sum_d095f14b',
'label': 'num_conversion_events_cardinality_sum_d095f14b',
},
{
'id': 'recent_conversion_date',
'label': 'Recent Conversion Date',
},
{
'id': 'recent_conversion_date_timestamp_latest_value_72856da1',
'label': 'recent_conversion_date_timestamp_latest_value_72856da1',
},
{
'id': 'recent_conversion_event_name',
'label': 'Recent Conversion',
},
{
'id': 'recent_conversion_event_name_timestamp_latest_value_66c820bf',
'label': 'recent_conversion_event_name_timestamp_latest_value_66c820bf',
},
{
'id': 'recent_deal_amount',
'label': 'Recent Deal Amount',
},
{
'id': 'recent_deal_close_date',
'label': 'Recent Deal Close Date',
},
{
'id': 'timezone',
'label': 'Time Zone',
},
{
'id': 'total_money_raised',
'label': 'Total Money Raised',
},
{
'id': 'total_revenue',
'label': 'Total Revenue',
},
{
'id': 'name',
'label': 'Name',
},
{
'id': 'owneremail',
'label': 'HubSpot Owner Email',
},
{
'id': 'twitterhandle',
'label': 'Twitter Handle',
},
{
'id': 'ownername',
'label': 'HubSpot Owner Name',
},
{
'id': 'phone',
'label': 'Phone Number',
},
{
'id': 'twitterbio',
'label': 'Twitter Bio',
},
{
'id': 'twitterfollowers',
'label': 'Twitter Followers',
},
{
'id': 'address',
'label': 'Street Address',
},
{
'id': 'address2',
'label': 'Street Address 2',
},
{
'id': 'facebook_company_page',
'label': 'Facebook Company Page',
},
{
'id': 'city',
'label': 'City',
},
{
'id': 'linkedin_company_page',
'label': 'LinkedIn Company Page',
},
{
'id': 'linkedinbio',
'label': 'LinkedIn Bio',
},
{
'id': 'state',
'label': 'State/Region',
},
{
'id': 'googleplus_page',
'label': 'Google Plus Page',
},
{
'id': 'engagements_last_meeting_booked',
'label': 'Date of last meeting booked in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_campaign',
'label': 'Campaign of last booking in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_medium',
'label': 'Medium of last booking in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_source',
'label': 'Source of last booking in meetings tool',
},
{
'id': 'hs_latest_meeting_activity',
'label': 'Latest meeting activity',
},
{
'id': 'hs_sales_email_last_replied',
'label': 'Recent Sales Email Replied Date',
},
{
'id': 'hubspot_owner_id',
'label': 'Company owner',
},
{
'id': 'notes_last_contacted',
'label': 'Last Contacted',
},
{
'id': 'notes_last_updated',
'label': 'Last Activity Date',
},
{
'id': 'notes_next_activity_date',
'label': 'Next Activity Date',
},
{
'id': 'num_contacted_notes',
'label': 'Number of times contacted',
},
{
'id': 'num_notes',
'label': 'Number of Sales Activities',
},
{
'id': 'zip',
'label': 'Postal Code',
},
{
'id': 'country',
'label': 'Country/Region',
},
{
'id': 'hubspot_team_id',
'label': 'HubSpot Team',
},
{
'id': 'hs_all_owner_ids',
'label': 'All owner ids',
},
{
'id': 'website',
'label': 'Website URL',
},
{
'id': 'domain',
'label': 'Company Domain Name',
},
{
'id': 'hs_all_team_ids',
'label': 'All team ids',
},
{
'id': 'hs_all_accessible_team_ids',
'label': 'All accessible team ids',
},
{
'id': 'numberofemployees',
'label': 'Number of Employees',
},
{
'id': 'industry',
'label': 'Industry',
},
{
'id': 'annualrevenue',
'label': 'Annual Revenue',
},
{
'id': 'lifecyclestage',
'label': 'Lifecycle Stage',
},
{
'id': 'hs_lead_status',
'label': 'Lead Status',
},
{
'id': 'hs_parent_company_id',
'label': 'Parent Company',
},
{
'id': 'type',
'label': 'Type',
},
{
'id': 'description',
'label': 'Description',
},
{
'id': 'hs_num_child_companies',
'label': 'Number of child companies',
},
{
'id': 'hubspotscore',
'label': 'HubSpot Score',
},
{
'id': 'createdate',
'label': 'Create Date',
},
{
'id': 'closedate',
'label': 'Close Date',
},
{
'id': 'first_contact_createdate',
'label': 'First Contact Create Date',
},
{
'id': 'days_to_close',
'label': 'Days to Close',
},
{
'id': 'web_technologies',
'label': 'Web Technologies',
},
];
export const dealFields = [
{
'id': 'amount_in_home_currency',
'label': 'Amount in company currency',
},
{
'id': 'days_to_close',
'label': 'Days to close',
},
{
'id': 'deal_currency_code',
'label': 'Currency',
},
{
'id': 'hs_acv',
'label': 'Annual contract value',
},
{
'id': 'hs_analytics_source',
'label': 'Original Source Type',
},
{
'id': 'hs_analytics_source_data_1',
'label': 'Original Source Data 1',
},
{
'id': 'hs_analytics_source_data_2',
'label': 'Original Source Data 2',
},
{
'id': 'hs_arr',
'label': 'Annual recurring revenue',
},
{
'id': 'hs_campaign',
'label': 'HubSpot Campaign',
},
{
'id': 'hs_closed_amount',
'label': 'Closed Deal Amount',
},
{
'id': 'hs_closed_amount_in_home_currency',
'label': 'Closed Deal Amount In Home Currency',
},
{
'id': 'hs_created_by_user_id',
'label': 'Created by user ID',
},
{
'id': 'hs_date_entered_appointmentscheduled',
'label': 'Date entered \'Appointment Scheduled (Sales Pipeline)\'',
},
{
'id': 'hs_date_entered_closedlost',
'label': 'Date entered \'Closed Lost (Sales Pipeline)\'',
},
{
'id': 'hs_date_entered_closedwon',
'label': 'Date entered \'Closed Won (Sales Pipeline)\'',
},
{
'id': 'hs_date_entered_contractsent',
'label': 'Date entered \'Contract Sent (Sales Pipeline)\'',
},
{
'id': 'hs_date_entered_decisionmakerboughtin',
'label': 'Date entered \'Decision Maker Bought-In (Sales Pipeline)\'',
},
{
'id': 'hs_date_entered_presentationscheduled',
'label': 'Date entered \'Presentation Scheduled (Sales Pipeline)\'',
},
{
'id': 'hs_date_entered_qualifiedtobuy',
'label': 'Date entered \'Qualified To Buy (Sales Pipeline)\'',
},
{
'id': 'hs_date_exited_appointmentscheduled',
'label': 'Date exited \'Appointment Scheduled (Sales Pipeline)\'',
},
{
'id': 'hs_date_exited_closedlost',
'label': 'Date exited \'Closed Lost (Sales Pipeline)\'',
},
{
'id': 'hs_date_exited_closedwon',
'label': 'Date exited \'Closed Won (Sales Pipeline)\'',
},
{
'id': 'hs_date_exited_contractsent',
'label': 'Date exited \'Contract Sent (Sales Pipeline)\'',
},
{
'id': 'hs_date_exited_decisionmakerboughtin',
'label': 'Date exited \'Decision Maker Bought-In (Sales Pipeline)\'',
},
{
'id': 'hs_date_exited_presentationscheduled',
'label': 'Date exited \'Presentation Scheduled (Sales Pipeline)\'',
},
{
'id': 'hs_date_exited_qualifiedtobuy',
'label': 'Date exited \'Qualified To Buy (Sales Pipeline)\'',
},
{
'id': 'hs_deal_amount_calculation_preference',
'label': 'Deal amount calculation preference',
},
{
'id': 'hs_deal_stage_probability',
'label': 'Deal Stage Probability',
},
{
'id': 'hs_forecast_amount',
'label': 'Forecast Amount',
},
{
'id': 'hs_forecast_probability',
'label': 'Forecast Probability',
},
{
'id': 'hs_is_closed',
'label': 'Is Deal Closed?',
},
{
'id': 'hs_lastmodifieddate',
'label': 'Last Modified Date',
},
{
'id': 'hs_likelihood_to_close',
'label': 'Likelihood to close by the close date',
},
{
'id': 'hs_line_item_global_term_hs_discount_percentage',
'label': 'Global Term Line Item Discount Percentage',
},
{
'id': 'hs_line_item_global_term_hs_discount_percentage_enabled',
'label': 'Global Term Line Item Discount Percentage Enabled',
},
{
'id': 'hs_line_item_global_term_hs_recurring_billing_period',
'label': 'Global Term Line Item Recurring Billing Period',
},
{
'id': 'hs_line_item_global_term_hs_recurring_billing_period_enabled',
'label': 'Global Term Line Item Recurring Billing Period Enabled',
},
{
'id': 'hs_line_item_global_term_hs_recurring_billing_start_date',
'label': 'Global Term Line Item Recurring Billing Start Date',
},
{
'id': 'hs_line_item_global_term_hs_recurring_billing_start_date_enabled',
'label': 'Global Term Line Item Recurring Billing Start Date Enabled',
},
{
'id': 'hs_line_item_global_term_recurringbillingfrequency',
'label': 'Global Term Line Item Recurring Billing Frequency',
},
{
'id': 'hs_line_item_global_term_recurringbillingfrequency_enabled',
'label': 'Global Term Line Item Recurring Billing Frequency Enabled',
},
{
'id': 'hs_manual_forecast_category',
'label': 'Forecast category',
},
{
'id': 'hs_merged_object_ids',
'label': 'Merged object IDs',
},
{
'id': 'hs_mrr',
'label': 'Monthly recurring revenue',
},
{
'id': 'hs_next_step',
'label': 'Next step',
},
{
'id': 'hs_object_id',
'label': 'Deal ID',
},
{
'id': 'hs_predicted_amount',
'label': 'The predicted deal amount',
},
{
'id': 'hs_predicted_amount_in_home_currency',
'label': 'The predicted deal amount in your company\'s currency',
},
{
'id': 'hs_projected_amount',
'label': 'Projected Deal Amount',
},
{
'id': 'hs_projected_amount_in_home_currency',
'label': 'Projected Deal Amount in Home Currency',
},
{
'id': 'hs_tcv',
'label': 'Total contract value',
},
{
'id': 'hs_time_in_appointmentscheduled',
'label': 'Time in \'Appointment Scheduled (Sales Pipeline)\'',
},
{
'id': 'hs_time_in_closedlost',
'label': 'Time in \'Closed Lost (Sales Pipeline)\'',
},
{
'id': 'hs_time_in_closedwon',
'label': 'Time in \'Closed Won (Sales Pipeline)\'',
},
{
'id': 'hs_time_in_contractsent',
'label': 'Time in \'Contract Sent (Sales Pipeline)\'',
},
{
'id': 'hs_time_in_decisionmakerboughtin',
'label': 'Time in \'Decision Maker Bought-In (Sales Pipeline)\'',
},
{
'id': 'hs_time_in_presentationscheduled',
'label': 'Time in \'Presentation Scheduled (Sales Pipeline)\'',
},
{
'id': 'hs_time_in_qualifiedtobuy',
'label': 'Time in \'Qualified To Buy (Sales Pipeline)\'',
},
{
'id': 'hs_updated_by_user_id',
'label': 'Updated by user ID',
},
{
'id': 'hs_user_ids_of_all_owners',
'label': 'User IDs of all owners',
},
{
'id': 'hubspot_owner_assigneddate',
'label': 'Owner Assigned Date',
},
{
'id': 'testing',
'label': 'testing',
},
{
'id': 'dealname',
'label': 'Deal Name',
},
{
'id': 'amount',
'label': 'Amount',
},
{
'id': 'dealstage',
'label': 'Deal Stage',
},
{
'id': 'pipeline',
'label': 'Pipeline',
},
{
'id': 'closedate',
'label': 'Close Date',
},
{
'id': 'createdate',
'label': 'Create Date',
},
{
'id': 'engagements_last_meeting_booked',
'label': 'Date of last meeting booked in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_campaign',
'label': 'Campaign of last booking in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_medium',
'label': 'Medium of last booking in meetings tool',
},
{
'id': 'engagements_last_meeting_booked_source',
'label': 'Source of last booking in meetings tool',
},
{
'id': 'hs_latest_meeting_activity',
'label': 'Latest meeting activity',
},
{
'id': 'hs_sales_email_last_replied',
'label': 'Recent Sales Email Replied Date',
},
{
'id': 'hubspot_owner_id',
'label': 'Deal owner',
},
{
'id': 'notes_last_contacted',
'label': 'Last Contacted',
},
{
'id': 'notes_last_updated',
'label': 'Last Activity Date',
},
{
'id': 'notes_next_activity_date',
'label': 'Next Activity Date',
},
{
'id': 'num_contacted_notes',
'label': 'Number of times contacted',
},
{
'id': 'num_notes',
'label': 'Number of Sales Activities',
},
{
'id': 'hs_createdate',
'label': 'HubSpot Create Date',
},
{
'id': 'hubspot_team_id',
'label': 'HubSpot Team',
},
{
'id': 'dealtype',
'label': 'Deal Type',
},
{
'id': 'hs_all_owner_ids',
'label': 'All owner ids',
},
{
'id': 'description',
'label': 'Deal Description',
},
{
'id': 'hs_all_team_ids',
'label': 'All team ids',
},
{
'id': 'hs_all_accessible_team_ids',
'label': 'All accessible team ids',
},
{
'id': 'num_associated_contacts',
'label': 'Number of Contacts',
},
{
'id': 'closed_lost_reason',
'label': 'Closed Lost Reason',
},
{
'id': 'closed_won_reason',
'label': 'Closed Won Reason',
},
];