---
title: "Hubspot Webhook"
method: POST
path: "/magnusmed/hubspot-webhook"
tags: ["Clients"]
---

# Hubspot Webhook

`POST /magnusmed/hubspot-webhook`

## Request

- Base URL: `https://api.puppeteerai.com`
- URL: `https://api.puppeteerai.com/magnusmed/hubspot-webhook`
- Auth: none declared. Required headers: `Authorization`

Receives a HubSpot record id, call_number, and home_state, ensures a
thread exists for the contact, and schedules the contact's info to reach the
config as a json_input at the contact's local business hours, so the
first-touch SMS (via the config's ReceivedJsonInputTrigger wiring) lands at a
sensible local time rather than whenever HubSpot posts. No call is scheduled
here: the voice call is booked later by the agent itself through
ScheduleCallAction. The contact phone (normalized) and a home_state-derived
timezone hint are forwarded so the config can text — and later call — the
same number.

## Query parameters

- `project_name` string, required

## Headers

- `Authorization` string, required

## Request body

- HubspotWebhookPayload
  - `id` string, required
  - `call_number` string, required
  - `home_state` string, nullable
  - `lead_id` string, nullable
  - `reaching_as_new_clinic` boolean
  - `new_clinic_name` string, nullable
  - `campaign_type` string, nullable
  - `use_case` string, nullable
  - `ls_tier` string, nullable
  - `ls_priority_score` number, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getpuppeteer/apis/puppeteer-core-api.md) - [All operations](https://skmtc.dev/getpuppeteer/apis/puppeteer-core-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getpuppeteer/apis/puppeteer-core-api/revisions/94b4e928b42f?raw)
