feat: hubspot integration docs#2626
Conversation
|
✅ Preview for this PR (commit |
|
|
||
| import ThirdPartyDisclaimer from '@site/sources/_partials/_third-party-integration.mdx'; | ||
|
|
||
| With the Apify integration for [HubSpot](https://www.hubspot.com/), you can enrich your CRM with business contacts scraped from company websites. The integration runs as a CRM card inside your HubSpot portal, uses Apify's Contact Details Scraper to extract contacts, and writes results back as HubSpot contacts automatically. |
There was a problem hiding this comment.
Link the Actor on first mention.
| With the Apify integration for [HubSpot](https://www.hubspot.com/), you can enrich your CRM with business contacts scraped from company websites. The integration runs as a CRM card inside your HubSpot portal, uses Apify's Contact Details Scraper to extract contacts, and writes results back as HubSpot contacts automatically. | |
| With the Apify integration for [HubSpot](https://www.hubspot.com/), you can enrich your CRM with business contacts scraped from company websites. The integration runs as a CRM card inside your HubSpot portal, uses Apify's [Contact Details Scraper](https://apify.com/vdrmota/contact-info-scraper) to extract contacts, and writes results back as HubSpot contacts automatically. |
| 1. Find the **Apify** app in the HubSpot Marketplace (or use the install link provided by your Apify contact). | ||
| 2. Click **Install**. This starts a two-step OAuth authorization: | ||
| - **Step 1:** Authorize HubSpot to share your CRM data with Apify (contacts, companies, properties). | ||
| - **Step 2:** You are redirected to Apify Console to authorize your Apify account. | ||
| 3. On success, you see an installation confirmation page. |
There was a problem hiding this comment.
Use 1. for every item; Select not Click for UI actions.
| 1. Find the **Apify** app in the HubSpot Marketplace (or use the install link provided by your Apify contact). | |
| 2. Click **Install**. This starts a two-step OAuth authorization: | |
| - **Step 1:** Authorize HubSpot to share your CRM data with Apify (contacts, companies, properties). | |
| - **Step 2:** You are redirected to Apify Console to authorize your Apify account. | |
| 3. On success, you see an installation confirmation page. | |
| 1. Find the **Apify** app in the HubSpot Marketplace (or use the install link provided by your Apify contact). | |
| 1. Select **Install**. This starts a two-step OAuth authorization: | |
| - **Step 1:** Authorize HubSpot to share your CRM data with Apify (contacts, companies, properties). | |
| - **Step 2:** You are redirected to Apify Console to authorize your Apify account. | |
| 1. On success, you see an installation confirmation page. |
| 1. In HubSpot, go to **CRM** > **Contacts** (or **Companies**). | ||
| 2. Open any contact or company record. | ||
| 3. Click the **Customize** button on the right side of the record page. | ||
| 4. Select the **Default view**. | ||
| 5. Click **Add card**, then go to the **Card Library**. | ||
| 6. Search for **Apify** and click **Add card**. |
There was a problem hiding this comment.
Use 1. for every item; Select not Click.
| 1. In HubSpot, go to **CRM** > **Contacts** (or **Companies**). | |
| 2. Open any contact or company record. | |
| 3. Click the **Customize** button on the right side of the record page. | |
| 4. Select the **Default view**. | |
| 5. Click **Add card**, then go to the **Card Library**. | |
| 6. Search for **Apify** and click **Add card**. | |
| 1. In HubSpot, go to **CRM** > **Contacts** (or **Companies**). | |
| 1. Open any contact or company record. | |
| 1. Select the **Customize** button on the right side of the record page. | |
| 1. Select the **Default view**. | |
| 1. Select **Add card**, then go to the **Card Library**. | |
| 1. Search for **Apify** and select **Add card**. |
|
|
||
| ## Create a lead enrichment | ||
|
|
||
| Click the **+ Add Lead Enrichment** button in the Apify card to open the configuration wizard. |
There was a problem hiding this comment.
Use Select not Click.
| Click the **+ Add Lead Enrichment** button in the Apify card to open the configuration wizard. | |
| Select the **+ Add Lead Enrichment** button in the Apify card to open the configuration wizard. |
|
|
||
| If the current company has no website URL in its HubSpot record, a warning dialog appears with two options: | ||
|
|
||
| - **Update the HubSpot record** - edit the company in HubSpot, then click **Check again**. |
There was a problem hiding this comment.
Use select not click.
| - **Update the HubSpot record** - edit the company in HubSpot, then click **Check again**. | |
| - **Update the HubSpot record** - edit the company in HubSpot, then select **Check again**. |
| - Error message (if the run failed). | ||
| - Per-company breakdown -Created, Updated, Skipped, and Error counts per company (up to 5 companies displayed). | ||
| - Companies in run -list of company domains included. | ||
| - Field mappings used -the exact mappings that were applied. |
There was a problem hiding this comment.
Missing space after hyphen.
| - Field mappings used -the exact mappings that were applied. | |
| - Field mappings used - the exact mappings that were applied. |
|
|
||
| ### Abort a run | ||
|
|
||
| While a run is in progress, an **Abort** button appears next to the status badge. Clicking it stops both the scraper and data-import processes and marks the run as errored with "Aborted by user." |
There was a problem hiding this comment.
Use Selecting not Clicking.
| While a run is in progress, an **Abort** button appears next to the status badge. Clicking it stops both the scraper and data-import processes and marks the run as errored with "Aborted by user." | |
| While a run is in progress, an **Abort** button appears next to the status badge. Selecting it stops both the scraper and data-import processes and marks the run as errored with "Aborted by user." |
|
|
||
| Only one run can be active per config. Starting a new run while one is in progress will show an error. | ||
|
|
||
| Click the info icon on any completed run to see detailed statistics, including rows total, created/updated/skipped counts, per-company breakdown, and links to the scraper and import runs on Apify Console. |
There was a problem hiding this comment.
Use Select not Click.
| Click the info icon on any completed run to see detailed statistics, including rows total, created/updated/skipped counts, per-company breakdown, and links to the scraper and import runs on Apify Console. | |
| Select the info icon on any completed run to see detailed statistics, including rows total, created/updated/skipped counts, per-company breakdown, and links to the scraper and import runs on Apify Console. |
|
|
||
| ### How do I uninstall? | ||
|
|
||
| Remove the Apify app from your HubSpot account through HubSpot's app management settings. Your enriched contact data remains in HubSpot -only the app connection is removed. |
There was a problem hiding this comment.
Missing space after hyphen.
| Remove the Apify app from your HubSpot account through HubSpot's app management settings. Your enriched contact data remains in HubSpot -only the app connection is removed. | |
| Remove the Apify app from your HubSpot account through HubSpot's app management settings. Your enriched contact data remains in HubSpot - only the app connection is removed. |
| - Edit the company record in HubSpot and add the website URL, then click **Check again**. | ||
| - Or enter a temporary URL in the card for this enrichment only. | ||
|
|
||
| A company without a website cannot be enriched -the scraper needs a URL to visit. |
There was a problem hiding this comment.
Missing space after hyphen.
| A company without a website cannot be enriched -the scraper needs a URL to visit. | |
| A company without a website cannot be enriched - the scraper needs a URL to visit. |
Reverts the workflow-automation/ai-assistants/collaboration/data-pipelines/
vector-db-storage/crm split. Keeps the original five top-level sections
and tightens them: workflows-and-notifications/ stays as one bin, and
data-storage/ is renamed data-and-storage/ to absorb CRM-style destinations
like the upcoming HubSpot integration.
Top-level layout:
- actors/
- programming/
- ai/ (with claude/, openai/, google/ provider sub-folders)
- workflows-and-notifications/
- data-and-storage/ (was data-storage/, gains airtable and drive,
ready to host hubspot once #2626 lands)
Vector DBs (Milvus, Pinecone, Qdrant) move back to ai/ alongside the
other AI tools.
Surface entry points at the top of the integrations sidebar:
- integrate-with-apify.md sidebar_position: 1
- actors/_category_.yml position: 2
- programming/_category_.yml position: 3
AI, workflows-and-notifications, and data-and-storage sort alphabetically
after these three pinned entries.
Landing pages rewritten for the consolidated layout:
- ai/index.mdx (new): provider cards (Claude, OpenAI, Google), MCP, agent
frameworks, AI assistants, vector DBs, agent payments
- workflows-and-notifications/index.mdx (new): featured n8n/Make/Zapier/
Gumloop + full alphabetical card grid
- data-and-storage/index.mdx (rewritten): featured Snowflake/Airtable/
Keboola + full grid including Drive; HubSpot mention
- programming/index.mdx (new): API, Webhooks, GitHub cards
actors/index.md kept as-is (already a full landing page).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rage Michal's review on PR #2643: 1. MCP connectors got dropped from the AI landing page when the alphabetical "All AI integrations" grid was removed. Restore it as a featured card next to the MCP server entry - MCP connectors had a recent launch and is a major push. 2. Two featured cards on Data and storage looks sparse. Add Google Drive (native integration). HubSpot will land via #2626. Airbyte and Keboola left for the sidebar because their logos are outdated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…2643) Supersedes #2610. Closes #2505. Reorganizes the integrations docs while keeping the original five top-level sections, surfaces audience-specific entry points at the top of the sidebar, and rewrites every landing page around S-tier integrations. ### Five top-level sections (unchanged count) | Section | Sidebar position | Contents | |---|---|---| | `actors/` | pinned (3) | Actor-to-Actor integrations on the platform. Folder relabeled "Actor-to-Actor" so the sidebar tells the reader what's inside (per Tomas Nosek's feedback). | | `programming/` | pinned (4) | API, Webhooks, GitHub. | | `ai/` | alphabetical | AI integrations. Vector DBs (Milvus, Pinecone, Qdrant) live here as flat siblings. New per-provider sub-folders for Claude, OpenAI, and Google, each with its own landing page and per-tool blurbs. | | `data-and-storage/` | alphabetical | Renamed from `data-storage/`. Absorbs Drive + Airtable + the upcoming HubSpot integration. | | `workflows-and-notifications/` | alphabetical | Unchanged structurally; gained a landing page. | ### Surfaced entry points (top of the integrations sidebar) 1. **Overview** (`index.mdx`) 2. **Create new integration** (`integrate-with-apify.md`, `sidebar_position: 1`) - partners building integrations 3. **Apify for AI agents** (`agent-onboarding.md`, `sidebar_position: 2`) - agent builders connecting to Apify (moved up from `ai/`) 4. Actor-to-Actor (position 3) 5. Programming (position 4) 6. AI, Data and storage, Workflows and notifications (alphabetical) ### AI provider sub-folders Inside `ai/`, three new sub-folders group provider-specific pages, each with an `index.mdx` landing page that introduces the provider and gives a short blurb on what each tool does with Apify: - `ai/claude/` - Claude Desktop (moved from `ai/mcp/`) - `ai/openai/` - ChatGPT, OpenAI Agents SDK, OpenAI Assistants - `ai/google/` - Google ADK `ai/mcp/index.md` flattened to `ai/mcp.md` (folder no longer has subpages). ### Sidebar sorting within sections Tier-based `sidebar_position` dropped from every integration page. Within each category, pages sort alphabetically. Tier ranking now surfaces on landing-page card grids, not in the sidebar order. ### Landing pages Every category and provider folder has an `index.mdx` landing page. Each page leads with a verbatim category blurb (reused on the main integrations page so the framing is consistent), shows the S-tier integrations as cards, and links to the sidebar for the full list. The exhaustive alphabetical grids were dropped per follow-up feedback - the sidebar already does that job. The main page (`sources/platform/integrations/index.mdx`) was rewritten around the same per-category structure, plus a "Create a new integration" section explaining the partner-onboarding entry point. ### Logos Fetched logos for cards that were missing one: - From Simple Icons (CC0): Snowflake, Vercel (+ dark variant), Anthropic / Claude (+ dark variant), Google - From brand site: OpenClaw, Agno (PNG saved for future use) - Twemoji glyphs as placeholders for built-in cards that have no brand logo: Actor-to-Actor (🔁), Integration-ready (🔌), API (⚙️), x402 (💸) ### Filename normalization Underscored doc filenames in `sources/platform/integrations/` renamed to hyphens. Slugs left unchanged - URLs do not break. - `integrate_with_apify.md` → `integrate-with-apify.md` - `ai/aws_bedrock.md` → `ai/aws-bedrock.md` - `ai/openai_agents.md` → `ai/openai/openai-agents.md` - `ai/openai_assistants.md` → `ai/openai/openai-assistants.md` - `actors/integration_ready_actors.md` → `actors/integration-ready-actors.md` - `actors/integrating_actors_via_api.md` → `actors/integrating-actors-via-api.md` - `programming/webhooks/ad_hoc_webhooks.md` → `programming/webhooks/ad-hoc-webhooks.md` ### URL impact Zero. All integration pages use flat slugs (`slug: /integrations/<name>`), so moves and renames do not change URLs. `pnpm build` passes (`onBrokenLinks: 'throw'` catches misses). ### Out of scope - HubSpot page itself - lands via #2626. Suggest dropping the `crm/` folder there and placing it directly in `data-and-storage/hubspot.md` before merging. - Moving `actors/integration-ready-actors.md` out of integrations to the Actor development section (Tomas's secondary suggestion - punted to a follow-up to keep this PR focused). - New pages for empty landing-page categories (Coding agents & IDEs, App builders, MCP gateways, iPaaS, GTM). ### Open questions - Confirm the `data-and-storage/` rename and the inclusion of Drive + Airtable + future HubSpot. - AI provider set: starting with Claude, OpenAI, Google. Worth adding Amazon (Bedrock) now, or wait for a second Amazon page? - Provider landing-page slugs (`/integrations/claude`, `/integrations/openai`, `/integrations/google`) - any conflicts I missed? --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Merge master and adapt the HubSpot page to the restructured integrations sidebar (#2643): move it to workflows-and-notifications as a flat sibling, drop the standalone CRM category, and keep it out of the curated landing page card grids. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Create user facing documentation for our new HubSpot integration