Turn new HubSpot companies into sales-ready leads with website contacts
When a company is created in HubSpot, pull real emails, phone, and LinkedIn from its website, add the best contacts, and brief sales in Slack.
Build me an agent workflow that fires whenever a new company is created in HubSpot and turns that bare company record into a sales-ready lead with real contacts attached. Trigger the workflow off a HubSpot webhook for the company.creation event.
When the workflow fires, the agent receives the new HubSpot company id. It should:
1. Read the company from HubSpot and grab its domain. If the domain is missing or empty, use the Website Contacts Scraper "Get Website URL by Keyword" operation with the company name to resolve the official domain. If neither the stored domain nor the name resolves to a domain, post a short note to the configured Slack channel saying we couldn't find a website for this company, and stop.
2. Call Website Contacts Scraper "Scrape Contacts" on that domain to pull emails, phone numbers, and social profile links from the company's website.
3. Reason about the results. Classify each email as either generic (anything that starts with info@, sales@, contact@, hello@, support@, admin@, press@, careers@, jobs@, marketing@, billing@, legal@, hr@, and similar role-mailbox patterns) or role-specific (a real human name in the local part). Pick the best one or two emails to actually reach out to, preferring role-specific over generic. If only generic emails exist, pick the single most likely decision-maker mailbox (sales@ over info@ over generic catch-alls) and flag it as generic in the Slack brief.
4. Write the company's main phone number and LinkedIn URL back to the HubSpot company record using HubSpot "Update Company". By default, only fill these fields when they are blank on the record. Do not overwrite values that already exist.
5. Use HubSpot "Batch Upsert Contacts" to create or update the one or two best contacts you picked, matched by email. For each contact, set the email and, when the local part looks like a person's name (e.g. jane.doe@acme.com), set first and last name. Associate each contact with the new HubSpot company so the SDR sees them attached to the record.
6. Post a Slack message to the configured sales channel using Slack "Send a Message". Summarize the company name and domain, list the two best contact emails (flag any generic ones), the main phone, the LinkedIn URL, and a single one-sentence outreach hook the rep can paste into their first message. Keep the whole brief to one screen of Slack.
Agent mode is the right choice here because the email-quality judgment and the outreach hook need reasoning, not a fixed mapping. Make the Slack channel id and the "fill blanks only vs always overwrite" behavior configurable inputs on the workflow so the user can tune them without editing the agent's instructions.
Additional information
What does this prompt do?
- Watches HubSpot for new companies and fires the moment one is created.
- Reads the company's website to find real contact emails, phone numbers, and social profile links. If HubSpot has no domain on the record, the agent resolves it from the company name first.
- Picks the one or two best people to actually reach out to. It skips generic inboxes like info@, sales@, and contact@ in favor of role-specific addresses.
- Writes the company's main phone and LinkedIn URL back to the HubSpot company record, and adds the discovered people as HubSpot contacts associated with that company.
- Posts a one-screen brief to your sales Slack channel with the two best contact emails, the phone, the LinkedIn URL, and a short outreach hook your rep can paste into a first message.
What do I need to use this?
- A HubSpot account with access to companies and contacts.
- A Website Contacts Scraper key from RapidAPI.
- A Slack workspace and the channel where the brief should land.
How can I customize it?
- Change which Slack channel receives the brief, or DM the company owner instead.
- Tighten or loosen the rules for what counts as a good contact (for example, only specific titles, or only certain country codes).
- Decide whether the agent should overwrite existing HubSpot phone and LinkedIn fields or only fill them in when blank.
Frequently asked questions
What happens if the new company has no website domain in HubSpot?
Will this overwrite contact info that's already on the HubSpot company?
How many contacts get added to each company?
What if the website has no emails at all?
Can I post the brief somewhere other than Slack?
Stop handing reps a bare company record.
Connect HubSpot, Website Contacts Scraper, and Slack once, and every new company shows up with real contacts already attached and a brief in the sales channel.