Home Install Documentation Support Marketplace Get Consultation

PrevVal Documentation

Your comprehensive guide to capturing and tracking previous values in HubSpot. From installation to advanced usage

Complete documentation and expert support
Quick Start
Detailed Guides
Expert Support
Examples

Get Started with PrevVal

Everything you need to install, configure, and get the most out of PrevVal.

Quick Start

Quick Start Guide

Install PrevVal and add your first mapping in under 3 minutes. No workflows or code required.

Documentation

Full Documentation

Mappings, tracking modes, backfill, property compatibility, and best practices.

Support

Expert Support

Need help? Our team is here for setup, configuration, and troubleshooting.

Explore the Guides

Click any section below to learn more about PrevVal's features, setup, and best practices.

Installation & Setup

Getting started with PrevVal takes about 3 minutes. No workflows. No code. No API keys.

Step 1

Install from Marketplace

Click Install on the HubSpot Marketplace listing. You'll be taken to HubSpot's secure OAuth authorization page. Accept permissions and you're connected.

Step 2

Add a Mapping

Open the PrevVal card in HubSpot. Click "+ Add Mapping". Select your object type, the property you want to track, the property to store the previous value in, and your tracking mode.

Step 3

Done — It Runs Itself

From this point forward, every time that property changes in HubSpot, PrevVal automatically writes the previous value to your destination property. Nothing else required.

Prerequisites

  • Active HubSpot account with Admin access
  • A destination property already created in HubSpot — see the Guides tab inside the app for setup tips
  • No workflows, no API keys, no developer tools needed

After installation

  • Open the PrevVal card from any HubSpot object record or from the App Marketplace
  • Your free plan includes 2 mappings — upgrade anytime for more
  • Use the Backfill tab to populate previous values for records that existed before you installed
Mappings

A mapping is a tracking rule. It tells PrevVal which property to watch and where to write the previous value when it changes.

What a mapping does

  • Watches one source property on one object type
  • When that property changes, writes the old value to your destination property
  • Runs automatically in the background — forever
  • Works on Contacts, Companies, Deals, Tickets, and Custom Objects

Things to know

  • Create your destination property in HubSpot before adding the mapping
  • Source and destination must be different properties
  • Your plan determines how many mappings you can have
  • Deleting a mapping stops tracking — it does not delete stored values

Popular Mapping Examples

Deals
  • dealstageprevious_deal_stage
  • amountprevious_amount
  • closedateprevious_close_date
  • hubspot_owner_idprevious_owner
Contacts
  • lifecyclestageprevious_lifecycle_stage
  • hubspot_owner_idprevious_owner
  • hs_last_contacted_dateprevious_contacted_date
  • cityprevious_city
Companies & Tickets
  • industryprevious_industry
  • hubspot_owner_idprevious_owner
  • hs_pipeline_stageprevious_ticket_stage
  • hs_ticket_priorityprevious_priority
Tracking Modes

When you add a mapping, you choose a tracking mode. The mode controls what PrevVal does when a property change is detected.

Ignore Blanks Default

Ignore Blanks

Only writes when the previous value was not empty. If the property had no value before the change, nothing is written.

Best for: Most properties. Prevents storing empty values and keeps your data clean. Recommended for dropdowns, owners, and stages.

Include Blanks

Include Blanks

Always writes, even when the previous value was empty. Useful when you want a complete record of every change, including from blank.

Best for: Audit trails where you need to know when a property was first set, not just when it changed from a value.

Last Known

Last Known

Skips blanks, cleared values, and values matching the current value — finds the last truly different non-blank value.

Best for: Properties that may go blank temporarily. Ensures you always capture a meaningful previous value, not just an empty one.

First & Last Touch

First & Last Touch

Stores two values: the first-ever value (First Touch, written once and never overwritten) and the value before each change (Last Touch, updated on every change).

Best for: Lead source tracking, original pipeline stage, and any property where both the origin and most recent previous value matter.

Free plan note

The Free plan supports Ignore Blanks only. Upgrade to Pro or Enterprise to unlock Include Blanks, Last Known, and First & Last Touch modes.

Property Type Compatibility

PrevVal writes the previous value as a string to your destination property. The destination property type determines what HubSpot will accept. Mismatched types will cause writes to fail silently.

Single-line text — always works

  • Accepts any value from any source property type
  • Stores the raw internal value (e.g. "closedwon" not "Closed Won")
  • Recommended for dropdowns, stages, and owners if you want simplicity
  • The safest destination type for any mapping

Clone the source property — best practice

  • Clone the source property and rename it "Previous [Name]"
  • Identical field type and options — no compatibility issues
  • HubSpot displays the label instead of the raw value
  • Works perfectly for dropdowns and pipeline stages

What Works and What Does Not

Source property type Destination: Single-line text Destination: Same type (cloned) Destination: Different type
Dropdown / Radio select Works — stores internal name Works — displays label Will fail
Number / Currency Works — stores as text Works — stores as number Will fail
Date / Date-time Works — stores as text Works — stores as date Will fail
Single-line text Works Works Will fail
Owner (user lookup) Works — stores user ID Works — resolves to user Will fail
Checkbox (boolean) Works — stores true/false Works Will fail

Common mistakes

  • Tracking a Date property and storing into a Number field — will fail silently
  • Tracking a Dropdown and storing into a Number field — will fail silently
  • Tracking a Currency (amount) and storing into a Date field — will fail silently
  • If writes aren't appearing, check that your destination property type matches your source

When in doubt

  • Use Single-line text as the destination — it accepts everything
  • Or clone the source property exactly and rename it
  • Check the Guides tab inside the app for step-by-step setup instructions
  • Contact support if your values are not appearing after 5 minutes
Backfill

Backfill reads HubSpot's existing property history and populates previous values for records that already existed before you installed PrevVal. It's optional — PrevVal starts tracking automatically from the moment you add a mapping.

Smart Fill

Smart Fill

Only targets records that have a source value but are missing a destination value. The most efficient option — skips records that are already populated.

Date Scopes

Last 30 / 60 / 90 Days

Targets records created within a specific date range. Useful for populating previous values for recent records regardless of whether they already have a destination value.

Manual Backfill

Manual Record Backfill

Run backfill on a single record instantly. Paste a record ID or HubSpot URL, select your mapping, and PrevVal retrieves and writes the previous value immediately. Does not count toward your daily run limit.

Plan limits

Plan Backfill scope Daily runs Manual backfill
Free Not available Not available Not available
Pro Smart Fill + Last 30 days 3 / day Unlimited
Enterprise Smart Fill + Last 30, 60 & 90 days 10 / day Unlimited
Ultimate Smart Fill + Last 30, 60 & 90 days Unlimited Unlimited

Best practices

  • Run Smart Fill first — it's the most targeted and efficient
  • Only one backfill job can run at a time per portal
  • Each run processes up to 10,000 records
  • Daily run count resets at midnight in your portal timezone

Things to know

  • Backfill reads HubSpot's property history — if HubSpot has no history for a record, nothing is written
  • HubSpot only retains property history for a limited time depending on your plan
  • Backfill does not overwrite existing destination values in Ignore Blanks mode
  • Large datasets take time — check the progress bar in the Backfill tab
Plans & Limits

PrevVal's plans are based on mappings — the number of tracking rules you can have active at once.

Free — $0

• 2 mappings
• Ignore Blanks mode only
• Live automatic tracking
• No backfill
• 50 events / 60 seconds (over limit = dropped)
• Email support

Pro — $29/mo

• 10 mappings
• All tracking modes
• Smart Fill + Last 30 days backfill (3 runs/day)
• Unlimited manual record backfill
• 500 events / 60 seconds
• Priority support

Enterprise — $79/mo

• 25 mappings
• All tracking modes
• Smart Fill + Last 30, 60 & 90 days backfill (10 runs/day)
• Unlimited manual record backfill
• 1,000 events / 60 seconds
• Priority support

Ultimate — Contact Us

• 100 mappings
• All tracking modes
• Unlimited daily backfill runs
• Unlimited manual record backfill
• Dedicated account management

What is the event limit?

The event limit is the maximum number of property changes PrevVal can receive within a 60-second window. When a portal exceeds its limit, those events are deferred to the backfill queue and processed later — they are not lost. The exception is the Free plan, which has no backfill access, so any events over the limit are dropped entirely.

  • Free — 50 events / 60 seconds (over limit = dropped, no backfill)
  • Pro — 500 events / 60 seconds (over limit = deferred to backfill)
  • Enterprise — 1,000 events / 60 seconds (over limit = deferred to backfill)
  • Custom — TBD (contact us)

If you are regularly changing a large number of records within 60 seconds and hitting your plan limit, please reach out — this is most likely a bulk operation and we can help find the right solution.

Running a bulk operation? Pause your mappings first.

Importing records, bulk editing, or mass-enrolling via workflow can flood the processing queue. When this happens, live real-time changes may be skipped — even for records that were not part of the bulk operation.

To pause a mapping: open the PrevVal card in HubSpot, go to the Overview tab, and toggle the mapping off before your bulk operation. Re-enable it when done.

What to Do With Previous Values

Previous values are stored in native HubSpot properties — use them anywhere HubSpot properties are supported.

Reports

Build Reports

Create reports comparing current vs previous values. Build a deal report showing Amount vs Previous Amount with a calculated difference column to catch last-minute discounts.

Example: Deals with amount reduced in last 30 days — filter where previous_amount is known and amount is less than previous_amount.

Lists

Filter Lists

Create active or static lists filtered by previous property values. Segment contacts by their previous lifecycle stage or identify deals that were previously at a higher stage.

Example: Contacts where previous_lifecycle_stage = Opportunity but lifecyclestage = Lead — bounced backwards.

Workflows

Trigger Workflows

Use previous values as enrollment criteria or branch conditions in HubSpot workflows. Trigger a Slack alert when a deal drops below its previous amount.

Example: Enroll deals where previous_deal_stage is known and dealstage is earlier in the pipeline — stage regression detected.

Ready to start tracking previous values?

Install PrevVal today and start capturing valuable property change data in your HubSpot workflows. Our team is here to help you every step of the way.