HubSpot integration

About HubSpot

The HubSpot Marketing automation software helps you attract the right audience, convert more visitors into customers, and run complete inbound marketing campaigns at scale — all in one powerful, easy-to-use platform.

Getting started

In order to use Cashlink as a data source for your HubSpot system, you need to create a so-called private app within HubSpot. Follow the steps in the documentation to create a private app. During the setup, please add the following scopes, so that Cashlink has all the needed permissions:

ScopeRead permissionWrite permission

crm.objects.deals

crm.objects.contacts

crm.schemas.deals

crm.schemas.contacts

After you have created the private app, forward the API key to your partner manager at Cashlink.

Cashlink will create contacts, deals and associations based on the data in the Cashlink system. It will also populate marketing lists based on the communication preference settings of the investors set in your white-labeled frontend. For this email integration to work, you need to create three different email subscription lists:

  • Email

  • Phone

  • Mail

After you’ve created the lists, please share the list IDs with you partner manager, so that we can configure the connection.

Please note that there are restrictions on how many requests the private app can do in a time window (usually 100 requests per 10s and a maximum of 250,000 per day). If the rate limit is exceeded it may take longer for the data to appear in HubSpot because we need to wait until we can import all data.

Data that has been created before you’ve connected Cashlink to your HubSpot will be imported to HubSpot after you’ve set up the connection. This process may take up to 24 hour to complete.

Data import and update

Cashlink will create instances of 3 different objects in HubSpot CRM:

  • Contacts

  • Leads

  • Associations

Some properties of these objects will be imported as custom properties and some will be default properties. Cashlink will automatically create all needed custom properties if needed.

Every time the value changes inside the Cashlink system, the data will be updated in HubSpot. Please note that data in HubSpot will be overwritten with each new update. Data changed in HubSpot will not be imported to the Cashlink system.

Contacts

In HubSpot, contacts store information about the individual people that interact with your business. Every customer that registers with your platform as an investor will be created as a contact object. Cashlink will import the following properties for these contacts:

Property nameProperty typeDescription

firstname

Default

First name of the investor

lastname

Default

Last name of the investor

salutation

Default

Salutation ("MS": "Frau", "MR": "Herr", "D": "Divers")

hs_language

Default

Language selected by the user. This field can be found under "preferred langauge".

street

Default

Street name and number of the residence address

zip

Default

Postal code of the residence address

city

Default

City name of the residence address

country

Default

Country name of the residence address

phone

Default

Phone number provided by the user, - if not yet provided

user_email

Custom

Email address of the user

user_id

Custom

Cashlink ID of the user

user_created_date

Custom

Date when the user has been created in Cashlink

investor_id

Custom

ID of the investor

optin_email

Custom

True / False or -

optin_mail

Custom

True / False or -

optin_phone

Custom

True / False or -

friend_referral_code

Custom

Code individual to the investor to be used by another investor to get a discount

person_company_name

Custom

Name of the company of a legal person as an investor, if natural person -

person_birthdate

Custom

Birthdate of the investor, - if not yet provided

person_occupation

Custom

Occupation of the investor, - if not yet provided

person_qualification

Custom

Qualification of the investor

bankaccount_iban

Custom

IBAN of the investors bank account, - if not yet provided

bankaccount_bic

Custom

BIC of the investors bank account, - if not yet provided

depositaccount_number

Custom

Number of the investors securities deposit account, - if not yet provided

depositaccount_bic

Custom

BIC of the investors securities deposit account, - if not yet provided

mobile_platform

Custom

Mobile platform (iOS, Android) used by the investor set up the Safekeeping App, - if not used

two_factor_auth_device_confirmed

Custom

True, if the investor has successfully set up the SafeKeeping App, False if not yet set and - if not used

tax_identification_number

Custom

German tax identification number of the investor, - if not yet provided

cashlink_managed

Custom

Always True to show that this contact object is managed by Cashlink

Contacts in HubSpot are updated if property values change. If the user changes the email address in the Cashlink system, we will create a new contact with that email address. Connected investments will remain with the old contact. If the investor makes investments after the email change, they are associated with the newly created contact.

Deals

In HubSpot, deals represent transactions with contacts or companies. If an investor starts an investment process, this is stored in HubSpot as an instance of a deal object. For deals we only create custom properties.

Property nameProperty typeDescription

invitation_id

Custom

ID of the invitation

investment_id

Custom

ID of the investment, if an investment is already made based on the invitation

tracking_id

Custom

Tracking ID used to create the invitation

investment_amount

Custom

Amount invested

agio

Custom

Agio for that investment

accrued_interest

Custom

Accrued interest to be paid

disagio

Custom

Disagio amount to be deducted based on the voucher applied

invitation_create_date

Custom

Creation date of the invitation

survey_submitted_at

Custom

Date and time when the investor submitted the survey

signed_date

Custom

Signed date of the investment

accepted_date

Custom

Date when the issuer accepted the investment

payment_date

Custom

Date when the payment has been marked as received by the issuer

payment_code

Custom

Payment code to be used as a reference text for the wire transfer

token_delivery_date

Custom

Date and time when the tokens have been credited to the investor's wallet

token_transaction_hash

Custom

Transaction hash of the issuance transaction on the blockchain

funnel_step

Custom

Funnel step of the invitation / investment

product_id

Custom

ID of the product

product_name

Custom

Name of the product

compliance_product_name

Custom

Product name as set up with Effecta

cancellation_date

Custom

Date of when the invitation or the investment has been cancelled

cancellation_reason

Custom

Reason for the cancellation

notional_amount

Custom

Remaining notional amount of the investment

investment_type

Custom

PRIMARY_INVESTMENT if this investment was created during the primary market, TRANSFER_INVESTMENT otherwise.

contact_email

Custom

Email address of the contact associated with this deal

is_first_process

Custom

True, if this is the first invitation / investment the investor started, False otherwise. Please note that this could be false even if there is just a single deal for the contact because we create new contacts if the email of an investor changes.

identification_id

Custom

ID of the current valid identification of the investor

identification_date

Custom

Date of the current valid identification of the investor

wallet_address

Custom

Account address of the wallet used to credit the digital securities

wallet_type

Custom

Type of the wallet used (GENERIC, TANGANY, CASHLINK, MOBILE)

exemption_order_amount

Custom

Tax exemption order amount set for this investment

exemption_order_date

Custom

Date when the exemption order amount has been set

voucher_id

Custom

ID of the voucher used for this investment

voucher_name

Custom

Name of the voucher used for this investment of the investor

voucher_code

Custom

Code of the voucher used for this investment

voucher_referrer

Custom

If the voucher used is a referral, the investor ID of the referring investor is returned here

voucher_is_referral

Custom

True if this voucher is a referral voucher, False otherwise

cashlink_sync_id

Custom

Internal ID used for technical purposes

Associations

Associations represent the relationships between objects in the HubSpot CRM. Cashlink will automatically create associations between the imported instances of the deal and contact objects. Cashlink will create a HubSpot-defined association between a deals and a contacts which will automatically create the inverse association (contact -> deal).

Subscriptions

Based on the marketing subscription list IDs you’ve provided, Cashlink will import contacts into the email, phone and postal mail lists. In the white-labeled frontend, investors can decide to receive marketing information via email, phone or postal mail.

During platform onboarding these options can also be enabled or disabled globally so that some options are not shown.

If an opt in (email, phone, postal mail) is configured globally for your platform and the investor has enabled to be sent information, the subscription status for the investor’s email address will be set to “OPT_IN” in HubSpot. If they don’t enable it or if the opt in is not enabled globally for your platform, the subscription status will get the value “NOT_OPTED”.

Please note that we never set the “OPT_OUT” value for an email, even if investors remove their consent in the white-labeled frontend. This “OPT_OUT” value indicates that they never (also in the future) want to receive communication. Investors can do that by clicking on the unsubscribe button sent with the email from HubSpot. Such opt outs cannot be undone.

GDPR deletion requests

If a deletion request is processed via the Cashlink system, we will automatically delete all contacts as well as deals and associations connected to that contact.

Please note that any other objects that you’ve created based on the imported data need to be deleted in HubSpot.

Last updated