hs_form_submissions
Fetch recent HubSpot form submissions with complete field values and timestamps by providing a form GUID, with optional limit and pagination cursor.
Instructions
Get recent submissions for a form including all field values and submission timestamps.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| formGuid | Yes | HubSpot form GUID | |
| limit | No | ||
| after | No | Paging cursor from a previous call |
Implementation Reference
- src/index.ts:255-260 (registration)Registration of the 'hs_form_submissions' tool on the MCP server, linking the schema and handler.
server.tool( "hs_form_submissions", "Get recent submissions for a form including all field values and submission timestamps.", FormSubmissionsSchema.shape, async (args) => { try { return ok(await formSubmissions(args)); } catch (e) { return err(e); } }, ); - src/tools/forms.ts:24-28 (schema)FormSubmissionsSchema: Zod schema defining input parameters (formGuid, limit, after) for form submissions.
export const FormSubmissionsSchema = z.object({ formGuid: z.string().describe("HubSpot form GUID"), limit: z.number().int().min(1).max(50).default(25).optional(), after: z.string().optional().describe("Paging cursor from a previous call"), }); - src/tools/forms.ts:30-36 (handler)formSubmissions: Handler function that fetches recent form submissions from HubSpot API.
export async function formSubmissions(args: z.infer<typeof FormSubmissionsSchema>) { const params: Record<string, string | number | boolean> = { count: args.limit ?? 25, }; if (args.after) params.offset = args.after; return hubspot(`/form-integrations/v1/submissions/forms/${args.formGuid}`, "GET", undefined, params); } - src/index.ts:51-56 (helper)Import of FormSubmissionsSchema and formSubmissions from ./tools/forms.js.
// Forms import { ListFormsSchema, listForms, GetFormSchema, getForm, FormSubmissionsSchema, formSubmissions, } from "./tools/forms.js";