Every message on the timeline
Inbound and outbound messages are logged on the contact, with links to their attachments.
Connect a HubSpot portal and every DM, WhatsApp, and SMS conversation in Zernio's inbox lands on the right HubSpot contact, with new contacts created for people HubSpot has never seen.

Profile
defaultHubSpot
Request a link with GET /v1/connect/hubspot and send the portal admin to it to approve the app.

PATCH /v1/accounts/{id}/hubspot-settings
await zernio.accounts.updateHubSpotSettings({ path: { accountId: 'acc_8f2a' }, body: { syncContacts: true, logMessages: true, }, });
Contact sync and message logging start on. Turn either off with one PATCH to the account's settings.

Contact created
New WhatsApp sender
Instagram DM
Note on Maria Lopez
WhatsApp message
Communication on Maria Lopez
Each inbox message is matched to a contact by email or phone and logged on its timeline.
Each Zernio profile connects to one HubSpot portal through OAuth, with contact read and write access only
Inbound and outbound messages are logged on the contact, with links to their attachments.
Turn contact sync or message logging on or off per portal. Settings survive a reconnect.
Zernio finds the HubSpot contact by email, then by phone, and creates one when there is no match. It never overwrites what your team typed.
WhatsApp and SMS messages land as HubSpot communications on their own channel. Other channels land as notes.
The app asks only for contact read and write. Disconnecting uninstalls it from the portal.
Connect portals and change settings for your users through the API, from the same key you post with.
Write it yourself with the SDKs, hand it to an agent over MCP, or run it from a shell.
Connect a HubSpot portal and keep every conversation on the right contact, automatically.