> ## Documentation Index
> Fetch the complete documentation index at: https://help.cloudtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Acionar uma chamada do VoiceAgent a partir do HubSpot

> Automatize as chamadas do VoiceAgent a partir do HubSpot

<Note>
  Pode acionar automaticamente uma chamada do VoiceAgent da CloudTalk através dos Workflows do HubSpot. Este guia mostra-lhe como configurar o acionador, enviar os dados do contacto para a CloudTalk e ver os resultados das inscrições no HubSpot.
</Note>

**Nível de utilizador**: Agente

***

<h2 id="h_a76dab90c1">
  Antes de começar
</h2>

Vai precisar de:

* Um VoiceAgent da CloudTalk já criado

* Credenciais da API da CloudTalk (Chave da API e Secret)

* Uma conta HubSpot com acesso a Workflows

* Propriedades de contacto que incluam, pelo menos, um número de telefone

<h2 id="h_053873afb8">
  Criar um acionador de workflow no HubSpot
</h2>

1. Abra **HubSpot > Workflows**.

2. Crie um novo workflow **Contact-based**.

3. Escolha um tipo de acionador, por exemplo:

   * Property value changed

   * List membership changed\
     (Também são suportados campos personalizados.)

     <Frame>
       <img src="https://mintcdn.com/cloudtalk/Ql3WX5wAKbGZniqk/images/help-center/articles/12858495/c4ac4d6f7232-ac305f92-e12b-494c-89fc-91ba05aae470.png?fit=max&auto=format&n=Ql3WX5wAKbGZniqk&q=85&s=429126c1623fa5c9adbec1e22396ec7d" alt="" width="854" height="616" data-path="images/help-center/articles/12858495/c4ac4d6f7232-ac305f92-e12b-494c-89fc-91ba05aae470.png" />
     </Frame>

4. **Opcional**: Ative **Re-enrollment** se quiser que o mesmo contacto seja chamado várias vezes sempre que as condições forem cumpridas.

   <Frame>
     <img src="https://mintcdn.com/cloudtalk/Ql3WX5wAKbGZniqk/images/help-center/articles/12858495/22e29be7058c-be9c1a46-091b-47af-8df6-0a6091fa4ee6.png?fit=max&auto=format&n=Ql3WX5wAKbGZniqk&q=85&s=0927b748b552f2c34ba4b806cb8b2e30" alt="" width="896" height="626" data-path="images/help-center/articles/12858495/22e29be7058c-be9c1a46-091b-47af-8df6-0a6091fa4ee6.png" />
   </Frame>

<h2 id="h_acf1b992ac">
  Adicionar a ação Custom code
</h2>

Depois de definir o acionador:

1. Clique em **`+ Adicionar ação`**

2. Selecione **Data ops > Custom code**

3. Configure a ação:

   * **Language:** Node.js 20.x

   * **Secrets:** Deixe vazio

   * **Properties to include in code:**

     * `phone` (obrigatório)

     * Campos adicionais conforme necessário, como `name` ou `contactId`

Estas propriedades passam a ser `event.inputFields[...]` dentro do script.

<h2 id="h_04a9743cee">
  Colar o excerto de código
</h2>

```
const axios = require('axios');
exports.main = async (event, callback) => {
  const phone = event.inputFields['phone'];
  const name = event.inputFields['name'];
  const contactId = event.inputFields['contactId'];

  try {
    // Convert hs_object_id to integer
    const contactIDint = parseInt(contactId, 10);

    // Check if conversion was successful
    if (isNaN(contactIDint)) {
      throw new Error('Invalid hs_object_id: not a number');
    }

    // Prepare request body
    const data = {
      call_number: phone,
      voice_agent_id: "67eba86558ba995b89e05e08",
      call_properties: {
        system_prompt: {
          variables: {
            name: name
          }
        },
        output: {
          variables: {
            contactID: contactIDint
          }
        }
      }
    };

    // Send POST request
    const response = await axios.post('https://api.cloudtalk.io/v1/voice-agent/calls', data, {
      headers: {
        'Authorization': 'Basic #{{ Auth Header}}',
        'Content-Type': 'application/json'
      }
    });

    // Log success and return
    console.log('Call triggered successfully:', response.data);
    callback({
      outputFields: {
        status: 'Call triggered successfully'
      }
    });
  } catch (error) {
    console.error('Error triggering call:', error.message);
    callback({
      outputFields: {
        status: `Error: ${error.message}`
      }
    });
  }
};
```

**Este script**:

* Envia um pedido POST para a API do VoiceAgent da CloudTalk

* Transmite o número de telefone do contacto

* Opcionalmente, transmite variáveis como o nome próprio ou o Record ID

* Recebe o resultado do VoiceAgent no endpoint selecionado na CloudTalk

<Frame>
  <img src="https://mintcdn.com/cloudtalk/Ql3WX5wAKbGZniqk/images/help-center/articles/12858495/d6dc73b07298-ea61f21c-4b9e-4d5c-883c-94d1f7999db5.png?fit=max&auto=format&n=Ql3WX5wAKbGZniqk&q=85&s=0aed37a6d3a2329b6c24c194183c154b" alt="" width="1011" height="1207" data-path="images/help-center/articles/12858495/d6dc73b07298-ea61f21c-4b9e-4d5c-883c-94d1f7999db5.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/cloudtalk/Ql3WX5wAKbGZniqk/images/help-center/articles/12858495/de0c9a325618-17e3a91a-4a9a-468b-b2ba-d6d438f22c59.png?fit=max&auto=format&n=Ql3WX5wAKbGZniqk&q=85&s=d14cc096ce5e933090c2a6b897905a47" alt="" width="962" height="710" data-path="images/help-center/articles/12858495/de0c9a325618-17e3a91a-4a9a-468b-b2ba-d6d438f22c59.png" />
</Frame>

<h2 id="h_eb47f02181">
  Gerar o cabeçalho de autorização
</h2>

A CloudTalk utiliza Basic Authentication nos pedidos à API.\
Para gerar o seu valor codificado:

1. Aceda a **[https://www.debugbear.com/basic-auth-header-generator](https://www.debugbear.com/basic-auth-header-generator)**

2. Introduza a sua **Chave da API da CloudTalk** e o **Secret da API da CloudTalk**\
   (disponíveis nas **Definições da empresa** da CloudTalk).

3. Copie o cabeçalho gerado. Será semelhante a: `Basic XXXXXXXXX`

Substitua `#{{ Auth Header }}` no script por este valor.

<h2 id="h_2dac6d962b">
  Publicar e testar o workflow
</h2>

1. Guarde o passo de código personalizado.

2. Clique em **Review and publish**.

3. Decida se o workflow deve:

   * Ser executado apenas para novos contactos que cumpram as condições, ou

   * Ser executado também para os contactos que já as cumprem no momento em que o workflow é ativado.

4. Acione o workflow atualizando uma propriedade ou a pertença a uma lista de um contacto de teste.

<Frame>
  <img src="https://mintcdn.com/cloudtalk/Ql3WX5wAKbGZniqk/images/help-center/articles/12858495/9777bd45a442-47bb8f60-4eba-4ecd-b203-c564b0c0599d.png?fit=max&auto=format&n=Ql3WX5wAKbGZniqk&q=85&s=e325692b9a1ac50a54d5b4fce972dbd9" alt="" width="1011" height="828" data-path="images/help-center/articles/12858495/9777bd45a442-47bb8f60-4eba-4ecd-b203-c564b0c0599d.png" />
</Frame>

<h2 id="h_5f5fd64b58">
  Verificar o Enrollment history
</h2>

Para confirmar que a chamada do VoiceAgent foi acionada:

1. Abra o workflow

2. Aceda a **Performance history > Enrollment history**

3. Encontre o contacto de teste na lista

   <Frame>
     <img src="https://mintcdn.com/cloudtalk/Ql3WX5wAKbGZniqk/images/help-center/articles/12858495/ed8dc31c3922-6252a13d-076e-409e-8b0c-471d702ca1d4.png?fit=max&auto=format&n=Ql3WX5wAKbGZniqk&q=85&s=f8d6c6b27a336480557c6a6a131693d9" alt="" width="847" height="331" data-path="images/help-center/articles/12858495/ed8dc31c3922-6252a13d-076e-409e-8b0c-471d702ca1d4.png" />
   </Frame>

Se tudo tiver funcionado, deverá ver o contacto inscrito e a ação **Call triggered successfully**.

**Está tudo pronto!**

O seu workflow do HubSpot passa agora a acionar automaticamente uma chamada do VoiceAgent da CloudTalk sempre que um contacto cumprir as condições definidas.

***

*Precisa de ajuda ou tem alguma questão?* Contacte-nos através do nosso [Portal de Suporte](https://support.cloudtalk.io/hc/en-us/requests/new?ticket_form_id=26305535257884) — estamos aqui para si.


## Related topics

- [Acionar uma chamada do VoiceAgent a partir do Freshdesk](/pt/articles/15457387-triggering-a-voiceagent-call-from-freshdesk.md)
- [Acionar uma chamada do VoiceAgent a partir do Zendesk](/pt/articles/15934846-triggering-a-voiceagent-call-from-zendesk.md)
- [Acionar uma chamada do VoiceAgent a partir do Freshservice](/pt/articles/15502021-triggering-a-voiceagent-call-from-freshservice.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.