Embed HubSpot forms into your Next.js application using hooks.
🌳 Tiny and Tree-Shakable
🦄 Written in TypeScript
👾 Works with multiple forms
😎 Uses next/script component
npm install next-hubspot
or
pnpm add next-hubspot
or
yarn add next-hubspot
This package is now pure ESM. It cannot be require()'d from CommonJS.
Wrap your application with HubspotProvider. This will add Hubspot script to your document.
All props are passed directly to the Script tag, so you can use all props from the next/script documentation.
import { HubspotProvider } from 'next-hubspot';
const MyApp = ({ Component, pageProps }) => (
<HubspotProvider>
<Component {...pageProps} />
</HubspotProvider>
)import { useHubspotForm } from 'next-hubspot';
const HubspotForm = () => {
const { isFormCreated, isError, error } = useHubspotForm({
portalId: 'XXXXXXX',
formId: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
target: '#hubspot-form-wrapper'
});
return (
<div id="hubspot-form-wrapper" />
)
}All props are based on the HubSpot docs.
- hubspot-form-if-im-using-an-external-site
- forms/advanced_form_options
- building-blocks/forms
- buildung-blocks/forms#using-embed-code
The module is written in TypeScript and type definitions are included.
Contributions, issues and feature requests are welcome!
Give a ⭐️ if you like this project!