Service Online
HubSpot Integration
Webhook handler, notification dispatch, and daily reminders for the Orca advocate platform — connected to HubSpot CRM.
Service Status
Everything looks good.
Live configuration status for all connected services.
Apporcaforce-hubspot
RuntimeNode.js 18.x
Webhook listenerActive
Daily cronScheduled · 09:00 UTC
HubSpot APIConnected
SlackConfigured
Microsoft TeamsConfigured
HubDB · Status NotificationsLoaded
HubDB · Usage RemindersLoaded
Transactional EmailConfigured
Architecture
Two independent components.
HubSpot handles CRM card UI. This service handles all business logic.
This Service · Heroku
orcaforce-hubspot
Stateless Express service. All CRM data fetched live from HubSpot on every request — no persistent CRM database.
- POST /webhooks/hubspot
- lib/dispatch.js — rule matching
- lib/recipient.js — resolve recipients
- lib/slack.js · lib/teams.js · lib/email.js
- cron/reminder-batch.js (daily)
HubSpot Project · UI Only
advocate-platform
CRM card JSX iframes on Deal, Contact, and Company records. Thin serverless credential pass-through — no business logic.
- deal-advocate-card.jsx
- contact-advocacy-card.jsx
- company-advocacy-card.jsx
- serverless: getOrcaSettings.js
- serverless: getConfig.js
API Surface
Exposed endpoints.
All webhook requests are verified via HubSpot HMAC-SHA256 signature before processing.
GET
/health
Service health check
POST
/webhooks/hubspot
HubSpot property-change event receiver
POST
/admin/rules
HubDB rule create / update / delete (proxy)
GET
/config/status
Returns boolean config flags — no raw tokens
GET
/oauth/callback
OAuth 2.0 callback (marketplace mode)