SaaSFunnelsDocs
Integrations and Sources

HubSpot Integration

Push SaaSFunnels signal state into HubSpot CRM properties for workflow automation.

The HubSpot integration is a push-only destination. SaaSFunnels writes account-level signal state to HubSpot company properties so HubSpot workflows, lists, scoring, and sales or success routing can react to SaaSFunnels recommendations.

SaaSFunnels does not pull HubSpot data in this version. It does not read companies, fetch associated contacts, backfill CRM objects, listen to HubSpot webhooks, or prove outcomes from CRM resolution fields.

What SaaSFunnels Writes

Company is the required account-level target. Contact updates are optional and only run when SaaSFunnels already has an explicit HubSpot contact ID.

HubSpot objectRequired identityBehavior
Companyhubspot_company_idUpdates the main SaaSFunnels signal properties.
Contacthubspot_contact_idUpdates account-signal mirror properties when the ID is present.
DealNot supportedDeal sync is out of scope for V1.

SaaSFunnels does not resolve records by domain or email in V1. Missing company or contact identity records a skipped or partial delivery row instead of turning the provider into an incoming CRM dependency.

Requirements

To connect HubSpot, you need:

  • A SaaSFunnels workspace admin account.
  • A HubSpot user with permission to install apps and manage CRM properties.
  • A HubSpot account where SaaSFunnels is allowed to create CRM properties and safe test records.

Setup

  1. In SaaSFunnels, open Settings > Integrations > HubSpot.
  2. Click Connect.
  3. Choose the HubSpot account you want to connect.
  4. Review the requested permissions and approve the connection.
  5. SaaSFunnels creates the required HubSpot CRM property group and properties.
  6. SaaSFunnels creates or reuses safe sample company/contact records and writes sample signal state to verify setup.

The sample company is named SaaSFunnels Test Company - Safe to Delete, and the sample contact is clearly labeled as a SaaSFunnels test contact.

If HubSpot permissions block setup verification, use Repair setup after updating the app permissions. The raw property sync and existing-record test actions are diagnostics for support, not normal setup steps.

Requested Permissions

SaaSFunnels requests the minimum HubSpot permissions needed for the push-only destination:

ScopeWhy SaaSFunnels needs it
oauthConnects the workspace to HubSpot through OAuth.
crm.objects.companies.writeWrites account-level signal state to HubSpot companies.
crm.objects.contacts.writeOptionally writes account-signal mirror fields to known contacts.
crm.schemas.companies.writeCreates and maintains SaaSFunnels company properties.
crm.schemas.contacts.writeCreates and maintains optional SaaSFunnels contact properties.

Company Properties

SaaSFunnels provisions these company properties automatically during setup. The list is here for workflow building and troubleshooting.

PropertyTypePurpose
prevenue_account_keyTextStable SaaSFunnels account key.
prevenue_active_motionTextCurrent motion: grow, save, convert, or watch.
prevenue_signal_typeTextLatest signal type.
prevenue_signal_priorityTextLatest signal priority.
prevenue_signal_statusTextLatest signal lifecycle status.
prevenue_signal_confidenceNumberConfidence score from 0 to 1 when available.
prevenue_recommended_actionTextRecommended next action.
prevenue_signal_reasonMulti-line textShort reason or evidence summary.
prevenue_signal_idTextSaaSFunnels signal ID for audit.
prevenue_last_signal_atDatetimeLast time SaaSFunnels wrote signal state.
prevenue_signal_expires_atDatetimeSuggested stale timestamp for workflow cleanup.

Contact Properties

SaaSFunnels also provisions these optional contact properties. They are only written when SaaSFunnels already has an explicit HubSpot contact ID.

PropertyTypePurpose
prevenue_account_keyTextAssociated SaaSFunnels account key.
prevenue_account_motionTextAccount-level motion.
prevenue_account_signal_typeTextAccount-level signal type.
prevenue_account_signal_priorityTextAccount-level signal priority.
prevenue_account_signal_statusTextAccount-level signal status.
prevenue_account_recommended_actionTextAccount-level recommended action.
prevenue_account_signal_idTextAssociated SaaSFunnels signal ID.
prevenue_account_signal_atDatetimeLast time SaaSFunnels wrote contact signal state.

Funnel and Signal delivery

After HubSpot is connected, select HubSpot for the approved Funnel follow-up or Signal delivery. SaaSFunnels will update HubSpot when:

  • the Funnel or Signal is routed to HubSpot;
  • the account has an explicit HubSpot company ID;
  • the HubSpot destination is not disabled.

Contact writes are attempted only when an explicit HubSpot contact ID is also present.

Disconnecting HubSpot

To stop HubSpot delivery, open Settings > Integrations > HubSpot in SaaSFunnels and disable the destination. You can also remove the SaaSFunnels app from HubSpot from your connected apps settings.

Disconnecting stops future SaaSFunnels writes. It does not delete HubSpot properties, workflow history, or sample CRM records that were already created.

Credential Boundaries

SaaSFunnels stores the HubSpot refresh token encrypted through server-side credential helpers. destinations.config contains only safe metadata such as Hub ID, scopes, timestamps, and delivery status. OAuth tokens and provider responses should not appear in screenshots, logs, support messages, or Linear comments.