> For the complete documentation index, see [llms.txt](https://docs.chatlayer.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/comece-rapido/bot-templates/job-applications.md).

# Candidaturas de emprego

## Visão geral do modelo

Com este modelo, candidatos a vagas podem consultar e se candidatar facilmente às oportunidades de emprego na sua empresa. Ele é otimizado para uso no WhatsApp, Messenger e no nosso widget da web.

Os candidatos a vagas podem navegar pela lista de oportunidades de emprego ou perguntar diretamente sobre uma vaga para um cargo específico. Depois de selecionar a vaga de interesse, o bot fará algumas perguntas (incluindo dados de contato, motivação e currículo) para concluir a candidatura. Se não virem nenhuma vaga de interesse, os candidatos também podem fazer uma candidatura espontânea.

## Como personalizar este modelo

{% hint style="info" %}
Certifique-se sempre de [atualizar o NLP](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp#updating-the-nlp) após carregar um modelo!
{% endhint %}

### Fluxo: Geral

#### Bloco: Introdução, Estamos contratando

Modifique o texto neste bloco para que ele reflita a identidade da sua própria empresa. Substitua *Sinch* pelo nome da sua própria empresa.

### Fluxo: Candidatura a vaga

Os usuários podem acessar este fluxo clicando no botão *Ver vagas abertas* no bloco *Estamos contratando* ou ao acionar o *Find\_job* intent.

#### Bloco: Roteamento de vaga

Quando a mensagem do usuário corresponde ao intent *Find\_job* , este bloco Go To direcionará a conversa para o caminho certo. Se a mensagem do usuário especificar a função de interesse, o bot detectará isso como a entidade `@job` e a armazenará em uma variável com o mesmo nome. Há 3 cenários:

1. Se o usuário não mencionar nenhuma vaga específica na mensagem (por exemplo, *Mostre-me suas vagas abertas*) ele será redirecionado para a lista de vagas abertas.
2. Se ele especificar a vaga para a qual quer se candidatar (por exemplo, *Vocês estão contratando um desenvolvedor full stack?*) o usuário será redirecionado imediatamente para a descrição da vaga correspondente.
3. Se o usuário perguntar sobre uma vaga para a qual não há abertura, ele verá o *Sem vagas abertas* bloco.

Para o cenário 2, você precisará adicionar duas condições para cada vaga que deseja divulgar. A primeira condição redireciona o usuário para a descrição da vaga correspondente se ele estiver no WhatsApp; a segunda redireciona o usuário para a descrição da vaga correspondente se ele estiver em outro canal.<br>

<figure><img src="/files/9cc1e2026f321fa1f94e0f6b1bcc0cc1dd88173d" alt=""><figcaption></figcaption></figure>

#### Bloco: Roteamento de canal - Vagas abertas

Se o usuário clicar no botão *Ver vagas abertas* ou se sua mensagem corresponder *Find\_job* sem mencionar uma vaga específica, este bloco o redirecionará para um menu em lista (no WhatsApp) ou carrossel (em outros canais) com as vagas.

#### Bloco: Vagas abertas WA

Para usuários no WhatsApp, este bloco mostra todas as vagas em um menu em lista do WhatsApp. Adicione um botão Go To para cada uma das vagas que você deseja divulgar.

#### Bloco: Vagas abertas

Para usuários em outros canais, este bloco mostra todas as vagas em um carrossel. Adicione um item de carrossel para cada uma das vagas que você deseja divulgar.

#### Blocos de descrição da vaga

Para cada vaga que você deseja divulgar no bot, será necessário ter dois blocos com a descrição da vaga, um para o WhatsApp e outro para outros canais.

Além da própria descrição, cada bloco deve incluir um botão *Candidate-se agora* e *Não agora, obrigado* Go To. Nos blocos que não são do WhatsApp, você também pode incluir um botão de URL para a descrição completa da vaga no site da sua empresa. Como botões de URL não estão disponíveis no WhatsApp, você pode colocar a URL completa em uma mensagem de texto separada nos blocos do WhatsApp.

#### Bloco: Roteamento de canal - upload de arquivo

Este bloco redireciona o usuário para o *Pedir currículo* bloco se estiver no canal web e para *Validação de entrada para upload de currículo* se estiver em outro canal.

#### Bloco: Upload de currículo

Para usuários no canal web, este bloco usa a funcionalidade de [envio de arquivo](/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state/message-components.md#file-upload) do Chatlayer para permitir que o usuário envie o currículo. Se o upload for bem-sucedido, o bot vai para o bloco *Definir var candidate\_resume para {uploadedFileUrl}* onde o link do arquivo é atribuído a uma nova variável. Se o upload falhar, o usuário é redirecionado para o bloco *Falha ao fazer upload do currículo* e é solicitado a tentar novamente.

#### Bloco: *Validação de entrada para upload de currículo*

Para usuários que não estão no canal web, este bloco usa uma validação de entrada com o formato de entrada definido como imagem para permitir que enviem o currículo. O formato de imagem funciona para verificar se a resposta do usuário corresponde a [qualquer formato de arquivo](/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state/user-input-bot-dialog.md#image) (não apenas imagens), em vez de apenas uma mensagem de texto. O link para o arquivo é salvo em *candidate\_resume* variável.

#### Bloco: Enviar para o Airtable

Depois que o usuário responder a todas as perguntas, este bloco envia todas as informações do candidato armazenadas nas variáveis de sessão do bot para um banco de dados externo, para que possam ser acessadas depois. Por padrão, este modelo envia as informações para um Airtable usando a função Create Record da nossa integração com o Airtable.

Você pode ler mais sobre a integração do Chatlayer com o Airtable [aqui](/chatlayer-documentation-pt-br/integrateandcode/app-integrations/airtable.md).

{% hint style="info" %}
Não usa o Airtable na sua organização? Você pode conectar qualquer tipo de banco de dados a este bot, desde que ele tenha uma API. Leia mais sobre integrações [aqui](https://docs.chatlayer.ai/integrations/integrations-101).
{% endhint %}

Você precisará personalizar este bloco conectando-o à sua própria conta Airtable e à sua própria base Airtable. No entanto, quando você importar recentemente o modelo de Candidaturas a Vagas, ele estará vinculado a [esta base do Airtable](https://airtable.com/invite/l?inviteId=invOL9FZVbuyIxupU\&inviteToken=dd8042801df9ff4f8a9748e5b2ed938de043455296836c32dbb7beb8d1ce41d5\&utm_medium=email\&utm_source=product_team\&utm_content=transactional-alerts). Fique à vontade para usá-la como exemplo de como os dados no seu próprio Airtable devem ficar, mas certifique-se de substituí-la assim que começar a usar o bot para a sua própria organização.<br>

<figure><img src="/files/67e95b89de1d59d32f43b9c73e1244e630b2bc74" alt=""><figcaption><p>A tabela Candidates na base de exemplo do Airtable</p></figcaption></figure>

Se você ainda não tiver uma conta Airtable configurada no Chatlayer, pode fazer isso clicando em *Conectar nova conta* e seguindo as etapas na janela pop-up. Você precisará da sua chave de API do Airtable para isso, que pode encontrar na sua [página da conta Airtable](https://airtable.com/account).

<figure><img src="/files/ea264b26c98dd988e81e06594b757b2c7d8a0040" alt=""><figcaption></figcaption></figure>

Depois de configurar sua própria base Airtable, volte ao bloco no Chatlayer. No campo *Base* substitua o ID da base Airtable de exemplo pelo ID da sua própria base Airtable. No campo *Tabela* substitua o ID de exemplo pelo ID ou nome da tabela na sua própria base Airtable onde você armazena os dados dos candidatos. Você pode encontrar o ID da base e os IDs das tabelas do seu Airtable [aqui](https://airtable.com/api), ou na URL da visualização da sua tabela.

### Fluxo: FAQ

Este fluxo pode responder a algumas das perguntas básicas que os candidatos podem ter sobre o processo de candidatura. Cada tipo de pergunta corresponde a um intent. Quando um usuário faz uma pergunta que corresponde a esse intent, o bloco com a resposta relevante é acionado.

Se você quiser adicionar uma pergunta a esta seção de FAQ, basta criar um novo intent na seção de NLP do seu bot, adicionar algumas expressões com variações de formulação da pergunta (pelo menos cerca de 20) e vincular esse intent a um novo bloco contendo a resposta à pergunta. Se alguma das perguntas não for necessária para o seu bot, você pode simplesmente excluir o intent e o bloco vinculado a ele.

Certifique-se de que todas as respostas prontas nos blocos estejam alinhadas com a política de contratação da sua empresa.

### PLN

Além de alterar os fluxos, você também precisará fazer algumas alterações nas entidades na seção de NLP do seu bot. A entidade contextual `@job` captura a vaga em que o candidato tem interesse. Você precisará substituir os valores de exemplo pelas vagas da sua própria empresa. Adicionar sinônimos aos valores da entidade garante que a vaga correta ainda será detectada mesmo se o usuário a formular de uma maneira diferente, por exemplo, *engenheiro de ML* vs. *engenheiro de machine learning*.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chatlayer.ai/chatlayer-documentation-pt-br/comece-rapido/bot-templates/job-applications.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
