# HubSpot nodes

HubSpot nella palette è un nodo per oggetto. Ogni scheda rimane **Setup required** fino a quando HubSpot non è connesso su [Integrations](https://docs.voicelogica.ai/it/integrations/hubspot/). Lo strumento **HubSpot** dell'agent (ID chiamante, aggiornamenti proprietà in tempo reale) è quella pagina — questa pagina è il *grafico*.

  <ShotPlaceholder
    src="/assets/workflow-nodes/hubspot.png"
    name="wn-hs"
    alt="Manage Contact in HubSpot"
    capture="Nodo HubSpot Contact. 1600×900. Operation visibile. Oscuri email."
  />

## Perché questi nodi

Una scrittura deterministica dopo che conosce già il telefono o l'email. I trigger **HubSpot Contact Created** / **Property Changed** sono [Workflow Triggers](https://docs.voicelogica.ai/it/workflows/) più la stessa connessione.

## Quale nodo

Titoli del catalogo:

- **Trovare o upsert la persona** — turn on **Manage Contact in HubSpot** (needs Get / Get or create / Create or update / List / Search / Delete. Telefono da **Call Parameters**.)
- **L'azienda** — turn on **Manage Company in HubSpot** (needs Nome + dominio su create.)
- **Un affare o un ticket** — turn on **Manage Deal / Manage Ticket** (needs Pipeline + stage su create.)
- **Un follow-up per un umano** — turn on **Manage Task in HubSpot** (needs Titolo richiesto. Owner + data di scadenza.)
- **Una nota sul record** — turn on **Create Note in HubSpot** (needs Corpo richiesto. **Associations** lo collegano.)
- **Registrare l'attività** — turn on **Log Call / Log Email / Schedule Meeting** (needs Su un trigger telefonico, i metadati della chiamata (direzione, durata) sono compilati dalla chiamata — non li imposti manualmente.)

**Operation** è richiesto su ogni scheda. I campi di ricerca utilizzano **Get by** / **Value** (`{{call.phone_number}}`). I campi di creazione cambiano con l'operazione.

Le porte seguono l'oggetto (Contact: **Contact saved** / **HubSpot error** / **No wait**).

Galaxy, Shopify, Soft1, WooCommerce, Salesforce, Guesty sono la stessa regola: connetta su [Integrations](https://docs.voicelogica.ai/it/integrations/), poi aggiunga il nodo di quel provider. Non ottengono le proprie pagine qui.

## Prima configurazione — upsert del chiamante dopo aver riagganciato

1. [Connetta HubSpot](https://docs.voicelogica.ai/it/integrations/hubspot/).

2. [On Call End](https://docs.voicelogica.ai/it/workflows/on-call-end/) → **Manage Contact in HubSpot**. Operation **Create or update**. Phone = numero chiamante.

     <ShotPlaceholder
       src="/assets/workflow-nodes/hubspot-filled.png"
       name="hubspot-filled"
       alt="Manage Contact in HubSpot compilato"
       capture="Builder workflow → Manage Contact in HubSpot selezionato. Operation Create or update, phone mappato. 1600×900. Oscuri numeri/email/PIN."
     />

3. **Save & go live**, colleghi, riagganci. Apra il contatto in HubSpot.

## Come appare "rotto"

- **Setup required** — Integrations → HubSpot non è connesso.
- Contatto vuoto — Value non corrisponde (`+` mancante, **Get by** sbagliato).
- I campi del log delle chiamate che ha digitato vengono ignorati — un trigger telefonico li possiede già.

## Risoluzione dei problemi

**Tool vs nodo workflow?**

Lo strumento è ciò che il *modello* può fare mentre parla. Il nodo è ciò che il *grafico* fa sempre su quel trigger. Utilizzi il nodo per "archivia sempre questo contatto." Utilizzi lo strumento per "aggiorna una proprietà che hanno appena confermato."

## Prossimi passi

[Connect HubSpot](https://docs.voicelogica.ai/it/integrations/hubspot/).  
[On Call End](https://docs.voicelogica.ai/it/workflows/on-call-end/).  
[Pick a node](https://docs.voicelogica.ai/it/workflow-nodes/).
