Chapter 01 · 2 min read
Chapter 01 · 2 min read
Install Trickle on your HubSpot portal
- Go to the install page and click Install free (or open App → Settings and click Connect HubSpot).
- You'll be redirected to HubSpot. Pick the portal and click Connect app.
- You're returned to
/app. The HubSpot connected badge in the top-right confirms install.
Verify — In /app/settings the Portal ID and Hub domain are visible, and the Re-register HubSpot action button is enabled.
Chapter 02 · 2 min read
Chapter 02 · 2 min read
Add the workflow action to a HubSpot workflow
- HubSpot → Automation → Workflows → open any workflow.
- Click + to add an action → Custom apps → Trickle: Throttle workflow processing.
- Configure the fields (see chapter 3) → Save.
- Turn the workflow On.
Verify — Within a few minutes the action card in the workflow shows enrolled records moving through the queue. Open /app/queue to see them in real time.
If the action doesn't appear under Custom apps, open /app/settings and click Re-register HubSpot action, then reload the workflow editor.
Chapter 03 · 3 min read
Chapter 03 · 3 min read
Every field on the action card, explained
Before you start — 4 rules that apply to every field
- Only Batch size, Delay amount and Time unit are required. Leave any other field blank and Trickle uses the default listed.
- Numbers are plain digits:
5000, not5,000,50%or10 min. - Property fields need the internal name, not the label. In HubSpot: Settings → Properties → pick the object → click the property → copy the Internal name (e.g. label "HubSpot Score" = internal name
hubspotscore). - Timezones are typed as names like
America/Chicago,America/New_York,America/Los_Angeles,Europe/LondonorUTC.
1. The basics (required)
These three fields set your pace. They are the only fields you must fill in.
Batch sizeRequired
How many records Trickle lets through at a time.
- Type
- Number
- Example
- 50
- If left blank
- Required — HubSpot won't let you save without it
Delay amountRequired
How long Trickle waits before letting the next group through.
- Type
- Number (1 or more)
- Example
- 10
- If left blank
- Required
Time unitRequired
The unit for Delay amount. Batch size 50 + Delay 10 + Minutes = 50 records every 10 minutes.
- Type
- Dropdown: Seconds, Minutes, Hours, Days
- Example
- Minutes
- If left blank
- Required
2. Pacing mode (optional)
Changes how the pace behaves over time. Leave it on Steady if you're unsure.
Intelligent pacing mode
Steady, Business hours, Ramp up or Adaptive. See chapter 4 for what each one does.
- Type
- Dropdown
- Example
- Steady
- If left blank
- Steady
3. Quiet hours (optional)
A daily pause window, e.g. overnight. Both start and end must be filled in, or quiet hours are off.
Quiet hours start (pause sending at)
The hour Trickle stops letting records through.
- Type
- Number, hour 0–23 (24-hour clock)
- Example
- 20 (= 8 PM)
- If left blank
- Quiet hours off
Quiet hours end (resume sending at)
The hour Trickle starts again. It can cross midnight (20 → 7 works).
- Type
- Number, hour 0–23 (24-hour clock)
- Example
- 7 (= 7 AM)
- If left blank
- Quiet hours off
Quiet hours timezone
Which clock the hours above use. Type the name exactly like the example — not "CST" or "Central".
- Type
- Text — timezone name
- Example
- America/Chicago
- If left blank
- UTC
4. Priority (optional)
Lets high-value records jump ahead in line. Nothing happens here unless you fill in the threshold.
Priority score property
A number property on the record Trickle reads to decide priority. hubspotscore (HubSpot Score) exists on Contacts only — for Companies, Deals or Tickets, type the internal name of one of your own number properties.
- Type
- Text — HubSpot internal property name
- Example
- hubspotscore
- If left blank
- hubspotscore
High-priority score threshold
Records with a score equal to or above this number go into the fast line.
- Type
- Number
- Example
- 70
- If left blank
- Priority off — everyone waits in the same line
High-priority lane weight
How big a share of each hour's releases goes to the fast line.
- Type
- Number
- Example
- 60
- If left blank
- 60
Normal lane weight
Share for everyone else.
- Type
- Number
- Example
- 30
- If left blank
- 30
Low-priority lane weight
Reserved. Trickle doesn't place any records in the low line today, so you can leave this blank.
- Type
- Number
- Example
- 10
- If left blank
- 10
5. Limits per region and per owner (optional)
Stops any one region or salesperson from getting flooded.
Territory property
The property Trickle uses to group records by region. country and state exist on Contacts and Companies. Deals and Tickets don't have them, so use your own property there.
- Type
- Text — HubSpot internal property name
- Example
- country
- If left blank
- No territory grouping
Per-territory hourly cap
Most records per territory value per hour. Only works if Territory property is filled in.
- Type
- Number
- Example
- 100
- If left blank
- No limit
Per-owner hourly cap
Most records per record owner per hour. Trickle reads the built-in owner field (internal name hubspot_owner_id), which exists on Contacts, Companies, Deals and Tickets. You don't type a property name for this one.
- Type
- Number
- Example
- 20
- If left blank
- No limit
6. Business-hours schedule (optional, only for "Business hours" mode)
These fields are ignored unless Intelligent pacing mode is set to Business hours.
Business hours timezone
Which clock the day fields below use.
- Type
- Text — timezone name
- Example
- America/New_York
- If left blank
- UTC
Monday hours … Sunday hours (7 fields)
When Trickle may release records that day. Type off for a closed day. Minutes are ignored (9:30-17:30 is treated as 9-17).
- Type
- Text: start-end in whole hours, 24-hour clock
- Example
- 9-17 (= 9 AM to 5 PM)
- If left blank
- That day is closed. If ALL seven are blank: Monday–Friday 9-17 UTC.
Which records does it work on?
The action is available in workflows based on Contacts, Companies, Deals and Tickets. Your records don't need any special data. Trickle only reads a property when you fill in a field that points to it:
| What Trickle reads | Contacts | Companies | Deals | Tickets |
|---|---|---|---|---|
Owner (hubspot_owner_id) | Yes | Yes | Yes | Yes |
Default score (hubspotscore) | Yes | No — use your own | No — use your own | No — use your own |
country / state | Yes | Yes | No — use your own | No — use your own |
If a record has no value for the property (for example no score), Trickle doesn't skip it. It goes in the normal line and is released at the normal pace.
Chapter 04 · 1 min read
Chapter 04 · 1 min read
Pacing modes
Steady (default, recommended)
Releases records at exactly your Batch size ÷ Delay pace, all day, every day. The most predictable option, so use it for your first test.
Business hours
Same pace, but only during the hours in the Monday–Sunday hours fields (using Business hours timezone). Outside those hours records wait. If all day fields are blank: Monday–Friday 9 AM–5 PM UTC.
Ramp up
Starts at 25% of your pace and adds 25% every hour, so it reaches full speed after about 3 hours. The clock starts the first time a record enters this workflow's Trickle step.
Adaptive
Designed to slow down when HubSpot is under strain. Right now it runs at the same pace as Steady.
Example: Batch size 50, Delay 10, Minutes, Steady = 300 records per hour, or up to 7,200 per day. Your plan's daily limit still applies (chapter 13).
Chapter 05 · 1 min read
Chapter 05 · 1 min read
Quiet hours
Pause releases during a window each day. Set Quiet hours start and end as whole hours 0–23 (e.g. start 20, end 7 = pause 8pm–7am), plus Quiet hours timezone (default UTC). Both start and end must be filled for quiet hours to apply. Records held during quiet hours resume when the window ends — nothing is dropped.
Verify — In /app/queue, items show an ETA at the end of the quiet window while paused.
Chapter 06 · 1 min read
Chapter 06 · 1 min read
Priority lanes
Records are sorted into high, normal, or low lanes, and each batch is split by lane weight.
- Priority score property: internal name of a numeric property (default
hubspotscore). - High-priority score threshold: records with a score ≥ this go to the high lane. Blank = everyone is normal lane (no prioritization).
- Lane weights: share of each hour's releases per line, default High 60 / Normal 30. They don't need to add up to 100 because they're proportions. The low line isn't used yet.
Verify — On a contact's CRM card the Lane field shows high or normal.
Chapter 07 · 1 min read
Chapter 07 · 1 min read
Territory caps
Set Territory property to an internal property name (e.g. country, state) and Per-territory hourly cap to a number (e.g. 100). No single territory gets more than that many records per hour. Leave the cap blank for no limit.
Chapter 08 · 1 min read
Chapter 08 · 1 min read
Per-owner caps
Set Per-owner hourly cap (e.g. 20) to limit how many records per HubSpot owner (hubspot_owner_id) are released per hour. Great for task-assignment workflows. Leave blank for unlimited.
Verify — When an owner hits their cap, their records show a later ETA in /app/queue.
Chapter 15 · 3 min read
Chapter 15 · 3 min read
Test safely before pointing it at thousands of records
Re-enrollment is painful, so roll out in stages:
- Create a static list of 10–20 internal/test contacts (your team's emails).
- Clone your real workflow, set enrollment to only that list, and put Trickle right before the step you want paced (e.g. the email send).
- Use Steady mode, Batch size
5, Delay1Minutes. Leave all optional fields blank. - Turn it on and watch /app/queue: you should see 5 released, then 5 more about a minute later. In HubSpot, records sit on the Trickle step until released, then continue to the next action.
- Add one optional feature at a time (quiet hours, lanes, caps) and re-test with the list.
- When happy, set your real pace and switch enrollment to the full audience. Start with a smaller segment (e.g. a few hundred) before the full database.
Trickle never removes a record from a workflow — it only delays it. If you turn Trickle off, queued records simply continue to the next step. Your plan's daily limit applies; extra records carry over to the next day.
Chapter 09 · 2 min read
Chapter 09 · 2 min read
Install the CRM card on Contact records
- HubSpot → Settings (gear icon, top-right).
- Objects → Contacts → Record customization.
- Pick the view → Customize the middle column → + Add cards.
- Scroll to the Trickle integration → toggle Trickle — pacing status on → Save.
Open any contact: the card shows pacing status, current workflow, lane, ETA, queue position, and live step progress (X pending of Y enrolled · NN% to goal).
Card not in the picker? Open /app/settings → click Re-register HubSpot action. Mobile HubSpot doesn't support card customization — do this once on desktop and the card appears everywhere.
Chapter 10 · 1 min read
Chapter 10 · 1 min read
Per-workflow analytics
Open /app. The Per-workflow analytics panel shows, for each workflow using Trickle:
- Records enrolled (lifetime)
- Records released to next step
- % to goal (released ÷ enrolled)
- Throughput bar and 7-day trend
Click any workflow row to drill into the queue filtered to that workflow.
Chapter 11 · 2 min read
Chapter 11 · 2 min read
Slack daily digests
- Open /app/settings → Slack section → Connect Slack.
- Pick the channel for digests.
- Choose digest time (UTC) and toggle the events you want: daily summary, cap-hit alerts, errors.
Verify — Click Send test digest — a sample message appears in the channel within seconds.
Chapter 12 · 1 min read
Chapter 12 · 1 min read
Onboarding checklist
The checklist on /app auto-completes as you ship each step:
- Connect HubSpot
- Add Trickle to a workflow
- Use the throttle action as a workflow step
- Connect Slack (optional)
- Install the CRM card (optional)
Confetti fires when all required steps complete. Re-trigger by clearing the dismissed flag in the checklist menu.
Chapter 13 · 1 min read
Chapter 13 · 1 min read
Plans & daily pace limits
Free — $0/mo
200 per day · 6,000 per month.
Starter — $19/mo
5,000 per day · 150,000 per month.
Pro — $59/mo
20,000 per day · 600,000 per month.
Enterprise — $149/mo
40,000 per day · 1,200,000 per month.
Manage on /pricing. You get an email and an in-app warning at 80% and 100% of each limit. At a limit, records wait safely on the Trickle step in HubSpot and continue when it resets (midnight UTC for daily, the 1st of the month for monthly), so nothing is dropped. Paid plans can turn on Auto-upgrade in App → Settings → Billing: when a limit is hit, Trickle moves you to the next plan right away (prorated) so workflows never pause.
Chapter 14 · 2 min read
Chapter 14 · 2 min read
Troubleshooting
Records stuck in Pending
Confirm the workflow is On in HubSpot. Check /app/queue for an ETA — if it's tomorrow, you've hit a daily/owner cap.
Action card looks outdated
Open /app/settings → Re-register HubSpot action. HubSpot caches the action definition for ~5 min.
CRM card missing from picker
Re-register (above), then re-open Settings → Objects → Contacts → Record customization.
Google login fails on mobile
Open Cloud → Users → Auth Settings → Google in BOTH Dev and Production environments and ensure managed credentials are enabled.
Need raw event history
Open /app/audit — every release, pause, and cap-hit is logged with timestamp + workflow + record id.
Still stuck?
Email support@trickleflow.app with your Portal ID for the fastest reply.