Turn a HubSpot list into a call sheet you can actually dial
See which contacts have a mobile, which have only an email, and which have neither, then fill the gaps and approve each number before it saves.
I want an app my sales reps open before every calling block that turns a HubSpot contact list into a dialable call sheet. The people using it are SDRs and inside sales reps who are about to spend an hour on the phone, so the app has to answer one question fast: which of these people can I actually reach right now, and can I fix the ones I cannot before I start dialing.
The main screen is the call sheet. Let me pick a HubSpot list or a filter (owner, lifecycle stage, last activity date, a saved list membership) and load the contacts with HubSpot Search Contacts, requesting the properties the sheet needs: first name, last name, job title, company, company domain or website, mobile phone number, phone, work email, and LinkedIn URL if the portal stores one. Show one row per contact with name, title, company, mobile, work email, and a reachability column that classifies each person into exactly one of three states: has a mobile, has a work email but no mobile, or has neither. Make the reachability state filterable and sortable so a rep can jump straight to the unreachable block, and show a count of each state above the table.
Put my remaining Datagma balance in the header, read with Datagma Get Credits, and refresh it when the app loads and again after every batch finishes. This matters because reps should see what they have left before committing a batch, so show the selected row count next to the balance. Datagma only charges when it actually finds a match, so make it clear in the interface that rows which come back empty do not consume credits.
Let me select rows with checkboxes, including a select-all for a filtered view, and press one button to fill the gaps. For each selected contact, run Datagma Search Phone Numbers using their work email and/or LinkedIn profile URL as the input, with the optional WhatsApp check enabled so I learn whether the number is live. When a contact has a name and a company domain but no email address at all, run Datagma Find Work Email first from the name plus the domain (or the LinkedIn company slug if that is what is stored), then feed any email it returns back into the phone lookup for that same person. Process the batch with sensible concurrency, show per-row progress, and never block the whole batch on one slow or failed lookup.
Important detail about reading results: Datagma responses come back as HTTP 200 even when nothing was found, and carry a numeric code in the body where 5 means not found and 3 means an invalid argument or bad key. Read the body code rather than trusting the HTTP status, and render those rows honestly as no match or as a bad input, not as a silent success or a hard error.
Every result lands in a review panel rather than going straight to the CRM. For each row show the contact, what was found (the mobile number, the work email, or both), whether WhatsApp verified the number, and what the value in HubSpot is today so I can see I am filling a blank rather than overwriting something. Nothing writes back through HubSpot Update Contact until I approve that specific row. Give me approve and skip per row plus an approve-all-found action, write only the approved fields onto the matching contact ID, and mark the row as saved in the call sheet with the new value shown inline. If a write fails, keep the found value in the panel so I can retry rather than losing the result I paid for.
Finally, let me push the finished call sheet to a Google Sheets tab with Append Values so the team has a record of who was worked. Let me choose the spreadsheet and tab, and append one row per contact with name, title, company, mobile, work email, whether WhatsApp verified the number, the reachability state after enrichment, whether the record was updated in HubSpot, who ran it, and the date. Appending should add to the existing tab rather than replacing it, so the log builds up across calling blocks.
Remember the last list or filter each rep used and reopen it on their next visit, so opening the app before a calling block takes one click. Keep the whole thing on one screen where possible: the sheet, the selection, and the review panel should feel like a single workspace rather than a multi step wizard.
What does this prompt do?
- Loads a HubSpot list or filter into one call sheet and flags every person as reachable by mobile, reachable by email only, or not reachable at all.
- Lets you tick the unreachable rows and look up their missing mobile numbers and work emails in a single batch, with an optional WhatsApp check on each number found.
- Holds every result in a review panel first. You see the number, whether WhatsApp confirmed it, and nothing goes back to HubSpot until you approve that row.
- Shows your remaining lookup balance in the header before you start a batch, and pushes the finished call sheet to a Google Sheets tab so the team has a record of who was worked.
What do I need to use this?
- A HubSpot account with contacts you can search, plus permission to edit contact records
- A Datagma account, which is what finds the missing mobile numbers and work emails
- A Google account with a spreadsheet where the finished call sheet gets logged
- A HubSpot list or filter that matches the people you plan to call in this block
How can I customize it?
- Set which HubSpot list or filter loads by default, so each rep opens straight into their own calling block.
- Turn the WhatsApp check on or off, or treat a WhatsApp confirmed number as the only kind worth dialing.
- Choose which spreadsheet and tab the finished call sheet is appended to, and which columns go with it.
- Adjust what counts as reachable, for example if a direct line matters to your team as much as a mobile.
FAQs
Does this change my HubSpot contacts automatically?
What happens when no phone number is found for someone?
Will it work if a contact only has a LinkedIn profile and no email?
How do I know what a batch will cost before I run it?
What does the WhatsApp check actually tell me?
Can several reps use this on the same list?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.
Stop starting your calling block with blank phone fields.
Load your list, see who is genuinely reachable, fill the gaps you approve, and get on the phone.