Trust

Data handling

What RevvedAgents does with your HubSpot data: which fields reach which AI model, for each agent; which services process your data; and how long each kind of data is kept. The agent list below is generated from the same source the product reads, and an agent listed as sending nothing to an AI model is blocked from calling one.

  • AI sees: nothing — Runs without an AI model. Nothing from your portal is sent to one.
  • AI sees: aggregates only — Only counts and percentages reach an AI model — no record fields.
  • AI sees: record fields — Named record fields reach an AI model. The data-handling page lists them.

Which AI sees what, per agent

7 of 10 agents run without an AI model. The others are listed field by field, by HubSpot property name.

  • Full Portal Audit Agent

    AI sees: record fields

    Audit-section counts and a sample of deal fields; with an Anthropic key the model reads contact, company, deal and ticket records itself.

    Default model under managed AI: gemini-2.5-pro

    Managed AI (Google Gemini, the default), or your own Google or OpenAI key

    One call per audit category with that category's counts and percentages — including how many sampled contacts have each lifecycle stage and each original source, and how many sampled tickets have each priority (the contact and ticket fields below, as counts per value, never per record) — and up to three record IDs per object; for deals, also each sampled deal's stage, open/won/lost state, amount, last-modified date and number of associated contacts. A final call sees only the category scores and findings.

    Contacts
    lifecyclestagehs_analytics_sourcehs_latest_source
    Deals
    dealstageamounths_lastmodifieddatenum_associated_contacts
    Tickets
    hs_ticket_priority

    Your own Anthropic key, or an account with no AI setting (runs on our Anthropic key)

    The model reads your records itself, through HubSpot read tools, during the run. It is told to read the fields below, plus property definitions, pipelines, workflows, lists, owners (users' names and email addresses), forms, marketing-email statistics, blog posts, landing pages, and sent, bounced and unsubscribed email events (each with the recipient's address). Its tools are not limited to those reads, so on this engine any field a HubSpot read tool returns can reach the model. Up to three entries from the AI memory you saved in Settings may be added.

    Contacts
    emailfirstnamelastnamephonecompanyjobtitleindustrylifecyclestagehs_lead_statushs_email_bouncehs_email_optouths_email_is_ineligiblecitycountrycreatedatehs_lastmodifieddatehubspot_owner_idassociatedcompanyidnum_associated_dealsnotes_last_contactedhs_analytics_sourcehs_latest_source
    Companies
    namedomainindustrynumberofemployeescitycountryphoneannualrevenuelifecyclestagecreatedatehs_lastmodifieddatehubspot_owner_idnum_associated_contactsnum_associated_deals
    Deals
    dealnameamountdealstagepipelineclosedatecreatedatehs_lastmodifieddatehubspot_owner_idhs_deal_stage_probabilitynum_associated_contactshs_closed_won_datehs_closed_lost_reasondealtypehs_is_closedhs_is_closed_won
    Tickets
    subjecths_pipelinehs_pipeline_stagehs_ticket_priorityhubspot_owner_idcreatedatehs_lastmodifieddatehs_resolution_timesource_typehs_is_closedclosed_datehs_time_to_close_sla_statushs_time_to_first_response_sla_status
  • Property Cleanup Agent

    AI sees: nothing

    Property usage, descriptions and archive candidates are worked out by rules in our code; no AI model is called.

  • Deduplication Agent

    AI sees: record fields

    Only ambiguous (fuzzy) matches: the matched records' display fields, for an advisory second opinion. Exact matches never reach a model.

    Default model under managed AI: gemini-2.5-flash

    Only when a run finds fuzzy matches (confidence below 95%), at most 40 duplicate groups per run

    Each matched record's ID and display fields (a value longer than 200 characters is cut, except names, email addresses, phone numbers, domains, deal names and ticket subjects), the property the match was made on, and your optional instructions. For a custom object, up to eight of that object's own text properties. The answer is advisory: it never changes which merges are proposed, and every merge still waits for your approval.

    Contacts
    emailfirstnamelastnamephonecompanyjobtitlelifecyclestagecreatedatehs_lastmodifieddatehubspot_owner_idhs_additional_emails
    Companies
    namedomainindustrycitycountrycreatedatehs_lastmodifieddatehubspot_owner_id
    Deals
    dealnameamountdealstagepipelineclosedatecreatedatehs_lastmodifieddatehubspot_owner_id
    Tickets
    subjecths_pipelinehs_pipeline_stagehs_ticket_prioritycreatedatehs_lastmodifieddate
  • Data Enrichment Agent

    AI sees: nothing

    Fills empty fields from Apollo.io with your own Apollo key; no AI model is called.

    Also sent to Apollo.io (your own API key): Each contact's email address and each company's domain, to look up the values for empty fields.

  • Contact Context Agent

    AI sees: record fields

    Each contact's profile, recent notes, calls, meetings and emails, and open deals and tickets — to write the contact summary.

    Default model under managed AI: gemini-2.5-flash

    Contacts in batches of five, each with its record ID and: profile fields; activity recency (dates are sent as days ago); its company's HubSpot Intent figures where the portal has Intent; up to three open deals and three open tickets; the five newest notes (first 600 characters each); the five newest calls, meetings and logged emails (title and body, first 200 characters); and up to five earlier RevvedAgents findings about the contact. The model has no HubSpot tools. Up to three entries from the AI memory you saved in Settings may be added.

    Contacts
    firstnamelastnameemailcompanyjobtitlelifecyclestagehs_lead_statusnotes_last_updatedhs_email_last_open_datehs_email_opennum_contacted_notescreatedatehs_analytics_last_visit_timestamphs_analytics_num_visitshs_analytics_num_page_viewshs_latest_sourcehs_sales_email_last_repliedhs_last_sales_activity_timestamp
    Companies
    hs_intent_visitors_last_30_dayshs_intent_page_views_last_30_dayshs_most_recent_de_anonymized_visiths_recent_intent_signals
    Deals
    dealnameamountdealstagehs_deal_stage_probabilityhs_lastmodifieddate
    Tickets
    subjecths_ticket_prioritycreatedate
    Notes
    hs_note_bodyhs_timestamp
    Calls
    hs_call_titlehs_call_bodyhs_call_directionhs_timestamp
    Meetings
    hs_meeting_titlehs_meeting_bodyhs_internal_meeting_noteshs_meeting_outcomehs_timestamp
    Logged emails
    hs_email_subjecths_email_texths_email_directionhs_email_statushs_timestamp
  • Send Suspension Prevention Agent

    AI sees: nothing

    Bounce, complaint and engagement figures are computed by rules in our code; no AI model is called.

  • Email Sunset Policy

    AI sees: nothing

    Unengaged cohorts and exclusions are decided by rules in our code; no AI model is called.

  • Deal Risk Autopilot

    AI sees: nothing

    Risk signals are computed by rules in our code; no AI model is called.

  • Renewal Playbook

    AI sees: nothing

    Renewal dates and tasks are worked out by rules in our code; no AI model is called.

  • Content Integrity

    AI sees: nothing

    Blog checks are rules in our code; no AI model is called.

Which AI provider runs an agent

It depends on the AI setting your account uses (Settings → AI Configuration).

SettingProviderDetails
Managed AI — the default for accounts created since 19 October 2026Google (Gemini API)Agents run on our Google Gemini key. The agent table below names each agent's default model (an account can pin an agent to another Gemini model).
A managed Gemini call failsAnthropic (Claude API)When Google fails a call after its retries, that one call is re-sent to Anthropic (claude-sonnet-4-6) on our Anthropic key, if one is configured. Calls on your own key are never re-routed.
Your own keyAnthropic, OpenAI or Google — the provider you chooseCalls go to your own provider account, on your key and under your terms with them. The key is stored encrypted.
An older account with no AI settingAnthropic (Claude API)An account that has neither chosen managed AI nor saved a key runs on our Anthropic key.

Other features that use AI

FeatureWhat is sentProvider
Chat assistantYour messages, and the HubSpot records the assistant reads to answer them — with its HubSpot tools, or, for /why-stuck and /draft-email, the named deal's fields.Your own key if you saved one; otherwise Anthropic on our key.
Workflow suggestionsEach workflow's ID, name, on/off state, category and source.Managed AI or your own key; otherwise Anthropic on our key.
AI memory searchThe memory entries you save, and the request being answered, to pick the most relevant entries.Only with your own OpenAI or Google key (their embedding models); otherwise entries are matched by words, with no model.

Sub-processors

The services that process your data on our behalf, and when.

ServicePurposeDataWhen
Google Cloud (Cloud Run, us-central1)Hosts the web app and the background worker that runs agents.Everything the app processes passes through it.Always
MongoDB AtlasDatabase.Your account and settings, encrypted HubSpot tokens and AI keys, run reports, approval cards, chat history and saved AI memory.Always
Redis CloudRun queue and rate limits.Run IDs and request counters. No CRM records.Always
Google (Gemini API)Managed AI, on our Gemini key — or AI on your own Google key.What the agent table and the AI features list say reaches a model.Managed AI (the default), or if you save a Google key
Anthropic (Claude API)AI on our key (the managed-AI fallback, accounts with no AI setting, the chat assistant without your own key), or on your own Anthropic key.What the agent table and the AI features list say reaches a model.See "Which AI provider runs an agent"
OpenAIAI on your own OpenAI key.What the agent table and the AI features list say reaches a model.Only if you save an OpenAI key
ResendTransactional email: alerts, digests, team invitations, password resets.The recipient's address and the email's content, which can name records from your portal.When we email you
StripeSubscription billing.Billing contact and payment details. No CRM data.When you subscribe or buy credits
Apollo.ioData Enrichment lookups, on your own Apollo key.Contact email addresses and company domains.Only if you add an Apollo key and run Data Enrichment
HubSpot (our own CRM)Our customer records: who uses RevvedAgents, for account management and support.Each account user's name, email address and role; the account's plan, credit and usage figures, activated agents and connected HubSpot portal IDs; and account milestones such as the first completed run. No records or fields from your portal.Always

How long data is kept

Windows come from our code. “Not set” means the code deletes nothing automatically — we say so rather than guess.

DataKept for
Agent run reports: findings, results and the settings each run usedNot set — no automatic expiry.
Approval cards: the changes an agent proposes, with the record values they showNot set for the card itself. A card nobody reviews expires after 3 days (7 days for Deal Risk Autopilot, Renewal Playbook and Email Sunset Policy) and can then no longer be approved.
HubSpot connection: the portal's encrypted OAuth tokensDeleted when you remove the portal under Connections. Uninstalling the app in HubSpot marks the connection disconnected; the encrypted record stays until you remove the portal.
Chat conversations and messagesNot set — no automatic expiry. Deleting a conversation in the app archives it; its messages are kept.
AI memory you save in SettingsNot set — kept until you delete it.
Audit log of actions taken in your accountNot set — no automatic expiry.
Everything else kept for your account: agent settings and schedules, alerts, weekly digests, portal health snapshots, Send Suspension and Email Sunset state, webhook delivery logs, usage and credit recordsNot set — no automatic expiry.
Pending chat-assistant action confirmations24 hours, then deleted.
Error reports (client and server exceptions)30 days, then deleted.
Approval failure log30 days, then deleted.
Run queue jobs (Redis) — a job holds the run's ID onlyKept 7 days after the run completes, or 30 days after it fails, then removed.
Data sent to an AI providerSet by that provider's API terms (with your own key, by your agreement with them). Our code sets none.