# Whatsapp

Vamos considerar um exemplo de robô que permite realizar o envio automático de mensagens pelo Whatsapp.

O projeto do robô consiste em três diagramas e dois arquivos nos formatos xlsx e txt.

O diagrama principal do projeto é chamado **“WhatsappSend”** e se parece com isso (para facilitar, os blocos do diagrama estão numerados):

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc3q8gJY8fVznh1PXPts_3HflLapjGYkj4dO5oV1HBJtOliMKlqIeRSXpOv1S0FgiVkNpaKzXUbZ8FoijSbdMO2qWKtItOr2N9KOI4ic1Ml9HgLca4QdcOwZVZoZexUfCXE7ap2zQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcMmAWlLRuggcNguIs6t-P5MWYfO4PsiHW7lZg6Zl1F3edaPgCRuwdZY0pntP63-2idRQeOwrfUQa008uUhJA7c5flfSmKR0hxoARVgfI4XORNlXovKMOzLvcLnsbtrCLVNamvsUA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe410im7gNEjjiGS308tNI2Rb1enue8nHhH42JFO0pLhyrPOkqb6iu0lX6a4InexsEVeKrpKZ84uqafM043OO1g9JpDrVO0aKfc8gODIIBTBIVY0TZvxcPXVZaHaVOuHjnWV_JSLw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

<br>

1. **Bloco “Início”** (a partir deste bloco começa qualquer diagrama).
2. **Bloco “Processo”** permite criar cenários compostos por vários diagramas. A execução do cenário continuará a partir do bloco “Início” do diagrama especificado do projeto. A execução do cenário retornará ao bloco atual e continuará no diagrama atual assim que o bloco “Fim” do diagrama externo for alcançado. Para o bloco “Processo” foi especificada a propriedade “Nome do diagrama” (nome do arquivo do diagrama onde a execução do cenário continuará).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdcBkkMqVI-ggyu7OPXDRwkGHt1ltuYOod2y1RHMWP5Pa6amW687oBPbWPC75Mo0TRn7qrw-u411KWaRdnDmE8GVTRksqUjADiI5hN_Uc9vclg4MOMZcFzRYvsmXhGoU5wENyg-mQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

3. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após a qual a execução do cenário continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $ComeçarTrabalho. Ou seja, se a variável $ComeçarTrabalho (que é uma variável booleana) for igual a $true, então seguimos para baixo.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfSIknvvw22aSemPCbMK_BRfJht6BAO4gww9yS4y0jV3Yn1UaHI8E2nuhhkWVvKpkf52siK7tPORPL5LdHIedIrQHW6GicSdInIRPRbtwJWkIFNEGofpUFMnFRNUMbs1o9RFqE0?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

4. **Bloco “Iniciar Chrome”** permite iniciar o Google Chrome. Para este bloco, foram especificadas as seguintes propriedades:

* URL (endereço da página que será aberta ao iniciar o Google Chrome);
* Aba atual (com a flag ativada, a página será aberta na aba atualmente selecionada do navegador);
* Tempo de espera (tempo de espera para iniciar o aplicativo e carregar a aba em segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeQIJ1BHlAqiLuLK4d38CSEvkDdEuS33rTpXvyhhmMJmjJn6D8YRrCr2s8Xu6SHAjM-TQASqkTbVxzCgzJX2cQiTI9obkOdzjb-90tVpWb2T-tTBvTZtNMFkdzYQz6IIErVlO7Puw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

5. **Bloco “Aguardar aparecimento”** aguarda o aparecimento de um elemento da interface do usuário na tela, adicionado ao diagrama com a ajuda da [ferramenta de gravação de ações do usuário](https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/osnovnoe-menyu/panel-razrabotka/menyu-zapis/zapis-deistvii-polzovatelya).
6. **Bloco “Log”** permite registrar mensagens e/ou valores de variáveis durante a execução do cenário do robô. Para este bloco, foi especificada a propriedade “Valor”. Entre aspas, é indicada uma constante de texto, e o nome da variável começa com o símbolo $. Ou seja, registra no log a mensagem “Erro de conexão. O telefone pode estar fora de alcance…”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXesZqbEeS7-_CzDcs66rq0YWKTOdSa2NUr4BF6oZw2w82cqp2gRERXOwEsmlU1jPz5aF7NJlhmZUb3g_LNPBC7k5Ko597YciXRzw4BW-MyzrquMMvvnUACuKfkRfb1fVtQWlvSjhQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

7. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades foram especificados dois valores que devem ser atribuídos a duas variáveis, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdNTjMCWyVOFdhGFooRMXp6ycgrHHHbOI_31LjMma8nshYAU05ejLfFeOw2n1Dmneeh2VcK0A2OAqOsrvWJaNDBc3doHFSLPZRSHg5eHtcGne6Y7qXSB4GG40bTqLNEvPZ7fmi5zA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

8. **Bloco “Abrir documento”** permite abrir um documento do Excel. Para este bloco, foi especificada a propriedade “Caminho para o arquivo” (caminho para o documento do Excel que deve ser aberto).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcvvIUHH7bWJz54q54-_EDZGu_g-h-LVmU1LErrH5_xt4s6tuVcQ8Sx1JI1JtbWnGAaPSAXOAZx7yIhHyP0QNHzA_1QOnDbggpCAUwnK7Cpsq8_fmwZGb-u-incIy7ZlW8sROpdOg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

9. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades foi especificado um valor que deve ser atribuído a uma variável, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdyfpL90X9IrteTlXWxod7J2ogHT3frk5fo270kaQ5iRiEkOtE0l6bVUz5h0nJFXTuMLBL9DB8dZCnpZmnDcjAFeZd9v3Exaocfsu0Kb8dDlSSLF76oCznlr_7bWVapthD07bCC?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

10. **Bloco “Obter valor da célula”** permite ler o valor de uma célula do documento do Excel. Para este bloco, foram especificadas as seguintes propriedades:

* Referência ao documento (referência ao documento com o qual está sendo trabalhado no momento);
* Planilha (número da planilha onde está localizada a célula desejada, a numeração começa em 1);
* Linha (número da linha onde está localizada a célula desejada, a numeração começa em 1);
* Coluna (número da coluna onde está localizada a célula desejada, a numeração começa em 1).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc7gctByGXE8fW82ClujQYCKSZ8-2g9-Ce1B_9_KlXMfFY010ao1WCtTtZK7iZViv9R2e6xbNgALKuOxHuJVVdu1T8eOt8DmIdZg7JrUK74L-MzG5nm0mtybuYUPdkhzRqQslRM_w?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

11. **Bloco “Obter valor da célula”** permite ler o valor de uma célula do documento do Excel. Para este bloco, foram especificadas as seguintes propriedades:

* Referência ao documento (referência ao documento com o qual está sendo trabalhado no momento);
* Planilha (número da planilha onde está localizada a célula desejada, a numeração começa em 1);
* Linha (número da linha onde está localizada a célula desejada, a numeração começa em 1);
* Coluna (número da coluna onde está localizada a célula desejada, a numeração começa em 1).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfaYtZiwAcedj-fW42sOCKsueMiFlk8wsExISq42wzUgmT2v0oyGAayRV046OFzcJqrAT2FXbKtzJF-8OrOIst65zToTn4Zg8eKMQJM3xI5m4LiuosJBEoehX7TbuSUQGtJHi6R3A?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

12. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após a qual a execução do cenário continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.$Result > 5, ou seja, se o valor da variável $Result for menor que 5, a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $ValuePhone.Trim().Length==0. Ou seja, o comprimento da string é igual a 0.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUJGQq_UdYMHyeACR1rTDj7Qkdv4bjMHR3AVhqlRGke4DoVdD4hZMLEkx4iQ9fxCbrs6vc72rPe213GvKnQYc6w5wQlBWHAsqm732yQUd5RNMVIiqOCS3ll7ghZwGfJ3NFO6y2?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

13. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após o que a execução do cenário continua em direção à saída “Sim” (se a condição for atendida) ou em direção à saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $ValueFIO.Trim().Length==0. Ou seja, o comprimento da string é igual a 0.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdzwD6UtrjjPka8y3alzhzxWoslPgM92uDooafIexwz11puUAmvrkk17FSLbJg8VG6c2B-0KBwKWIqVQ25sjbpOGCJsAmI2b6ZE4Tq_w8s2BiEvlpFEb1CnuP002ijHe9P5mSbyLg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

14. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, é indicado um valor que deve ser atribuído a uma variável, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdrGKS3hL9YWhbqRxTsKAY9XQHnrSgBY3LWzGmmpnog_lpKdD5EwabILOzygJiRkhvgPaB4ehm8DMga38_MQErwdXNbRJlu_3Z4Nltqsmczhn-7mUYYBNgTArtEmvog1-tyScuDTQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

15. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após o que a execução do cenário continua em direção à saída “Sim” (se a condição for atendida) ou em direção à saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $countempty>5. Ou seja, o número de mensagens vazias deve ser maior que cinco.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXczMNhAChN81dmgDIrQDkOSwosEDxYBlAaY4z0KKqgnfUJpT87NeGibgpn6fDajAO-9SjfMi_rJhO_TmCSTaWKzw4mpjVrrh-uWL2KYGszNGgPk5Y6ArVNptSBhbeY_et_AgGt_Og?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

16. **Bloco “Salvar documento”** permite salvar um documento Excel. Para este bloco, são especificadas as seguintes propriedades:

* Link para o Excel (link para o processo de manipulação do documento Excel. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o Excel", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
* Link para o documento (link para o documento que deve ser salvo. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
* Caminho para o arquivo (caminho para o documento Excel).

**Nota:** *para salvar o documento no mesmo arquivo, deixe o valor vazio. Caso contrário, insira um novo caminho para o arquivo. Se o arquivo especificado existir, ele será sobrescrito. Formatos disponíveis: ".xlsx", ".xlsm", ".xls", ".csv", ".pdf", ".xml"*

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcs8cWopu0zyBt57fmSKvCHia3t0KCeVbZMzOa7UHrS0LiP7N5zBB6xpiFVzwSXENHWTa3Kk6QXmFDYmNVJzBUDOowpAdPlH39ea3CsOLW_tfOUH9QFRfJV0Frs-Qf-e1SoZnGi3Q?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

17. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades, são indicados dois valores que devem ser atribuídos a duas variáveis, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfcoqc8Uulj5CcKEDe9DxB_6ApJljp6hei12hv9_LM5hGPW4OF30Zlffz-68iNV-pMaxUT_4eZ7ZE6xuUW14wwXq_WvfWc6D7xXS3YEJamQZUcTrniMZAH6xmWPgWa8R-dXnamIKg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

22\. \*\*Bloco “Processo”\*\* permite criar cenários compostos por vários diagramas. A execução do cenário continuará a partir do bloco “Início” do diagrama especificado do projeto. A execução do cenário retornará ao bloco atual e continuará no diagrama atual assim que o bloco “Fim” for alcançado no diagrama externo. Para o bloco “Processo” é especificada a propriedade “Nome do diagrama” (nome do arquivo do diagrama onde a execução do cenário continuará).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexdf6R3oVqdjTmsIlfVggy74_zX8RgQ5wE67ktxXV0xhUq88wQV80J0YH1UxdfNNm3BpJ-NvOGxhpz6iLHDREqDitCE0u2oIllX-MweJeBrM-2xTjp8oC1771SdNTxHR1wmezAKA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

23. **Bloco “Condição”** verifica a condição especificada para ver se é verdadeira, após o que a execução do cenário continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $IndexSaveResult>=0. Ou seja, o índice de salvamento de resultados deve ser maior que zero.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdMxT_gWyTX5hTjyZ98lSKYQ8--GCTX4kQVsuh085gom_gGYK7mnPDffynlMej8T7PzK4Vsae8NPRFcjEMEmSPE-EHDXcdMN2SeNZ7Tqsjyaqgogl-OqzdlnaaHxG1m5bI0XmRrCQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

24. **Bloco “Condição”** verifica a condição especificada para ver se é verdadeira, após o que a execução do cenário continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $SendSuccess. Ou seja, a variável booleana = $true.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfTEtaql3p_FCdxwoLNto2Sph2fRSq32Q9rNbVbtme_zsC1TdfX7MZdC-dXL9jhiiHfm0V_kfxUwiW4eqWD73Qxu35jtJB5N9RQMdSz9hynkWLno55sMTkzw-VNLDqVFuGcYMRSmw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

25. **Bloco “Gravar valor na célula”** permite gravar um valor em uma célula de um documento Excel. Para este bloco, são especificadas as seguintes propriedades:

* Link para o documento (link para o documento com o qual está sendo trabalhado atualmente. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
* Planilha (número da planilha onde a célula desejada está localizada, a numeração começa em 1);
* Linha (número da linha onde a célula desejada está localizada, a numeração começa em 1);
* Coluna (número da coluna onde a célula desejada está localizada, a numeração começa em 1);
* Valor (constante, variável ou resultado de cálculos que deve ser gravado na célula desejada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdP-JL5n9AfMBVxnXQ7W_o-Vdfsvy_KK-3HAMKMGv3ambTWGUPgbuY9zo9CfcLgpniUNeRJhdPqhGg6lTQWbJIGrPAalzKM-w0K6gMAXCB8u2fF01DgeDfpMJst49aPFn964LtL0A?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

26. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeCHeoYg93Ocflgo2BaXYLqqkrdKE1QVOPySE-lD2sSFhnz9Ea6WwZvh2Gh_UyHO8GFFkwLTjvw7LyleS_LKS8PMo5qCkSObqQQGXhpbUraYixf-tj8x-JpqIL6PQEoSBzeS8HLhA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

27. **Bloco “Gravar valor na célula”** permite gravar um valor em uma célula de um documento Excel. Para este bloco, são especificadas as seguintes propriedades:

* Link para o documento (link para o documento com o qual está sendo trabalhado atualmente. O nome da variável nesta propriedade deve coincidir com o nome da variável na propriedade "Link para o documento", dos blocos "Criar documento" ou "Abrir documento" do grupo Excel, que foram usados anteriormente para criar ou abrir este documento);
* Planilha (número da planilha onde a célula desejada está localizada, a numeração começa em 1);
* Linha (número da linha onde a célula desejada está localizada, a numeração começa em 1);
* Coluna (número da coluna onde a célula desejada está localizada, a numeração começa em 1);
* Valor (constante, variável ou resultado de cálculos que deve ser gravado na célula desejada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeZVeCc6fL2dPyUfRcmHoK5kglWQ7b54GjgRcA1u-fIi4-XwXkZO0D6Xx-dAtKJ5SIc7X9DXtCAseqsczwrkDXgeAkkiWKIANd4eYl3CcbcCDBzcS_4QFtjWpLP-SGFAdpjEjPXPw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

28. e 29. **Blocos “Fim”** (esses blocos encerram a execução do cenário ou retornam o diagrama do subprocesso ao processo principal).

**Diagrama “Carregar configurações”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUIYs7r33_kKTfCFcsvDiIcbHL3XK-0YrZIlOHSevguR-bmuYnYWi6WSf-TLyo9lnynmBG7x0LS7ppmYoZxKZAomQS-KeAySO_JgoFGcjPDBqoOiAgF4iTTfbuVy1DlUPwOBPL8Q?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdM-B3eUdxojBlToR3TXgBG0JUuomuBZczOJkrYTB1_P8ZWjLTyW3v2CvyR0Owy4Kmll09wC5yS6coWReOz03lLHqTGqyBmNbXnWZP1bzIsF0perWl4Bq88YOs9DnK-5hJzR06oeQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (a partir deste bloco começa qualquer diagrama).
2. **Bloco “Abrir arquivo”** exibe uma janela de diálogo que permite ao usuário abrir um arquivo. Para este bloco, são especificadas as seguintes propriedades:

* Título (Texto que será exibido no título da janela de diálogo);
* Filtro (filtro de arquivos para cada parâmetro de filtragem, a linha do filtro contém a descrição do filtro, seguida por uma barra vertical (|) e o padrão do filtro. As linhas para diferentes parâmetros de filtragem são separadas por uma barra vertical).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXddmxfHpvbg0cw_TmizaH58xOD9oKqIuvKvwxE3H8sh7rrjrHv2FSR9bYW_7Rh1tJAN7w6dtYg_wzT7BarrlY7PqMNwdoUBEroo2nft-RZtkzoUPef7DpBCNyHBURySawpH1UDs?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

3. **Bloco “Janela para entrada de texto”** mostra uma janela de diálogo modal destinada a obter informações do usuário. Para este bloco, são especificadas as seguintes propriedades:

* Título (texto que será exibido no título da janela de diálogo);
* Mensagem (texto que será exibido dentro da janela de diálogo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcjMfpomTtlrTpW5avrlZ4dBVAo8k0bZVOYTP9uXriAty8DcFVu9cSFy00HYvPwVxMqTfMuH4SmJPTc5Bic5I5HZKzYvqfM4HZL6UWxxt4emoCHSbV8RjcUSHtUo3DDq-ZkwZenpQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

4. **Bloco “Condição”** verifica a condição especificada para ver se é verdadeira, após o que a execução do cenário continua na saída “Sim” (se a condição for atendida) ou na saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.\`\`\`markdown $Result > 5, ou seja, se o valor da variável $Result for menor que 5, a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição é definida como: \[int]::TryParse($Result, \[ref] $IndexPhone). Este método converte texto em número e retorna um resultado lógico, que é verificado como $true.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfJyb3GZrMX_RVCm8dMVwbk7NcY2wf7KuKpn6ZtEttYVh6tF2ckg8DmWZVSfXLZmcZWMuWvwJPXZyv6Yho5yWsPdEXvfxcOiltIPsTHv9N1CkeaJtHxHsMrIqcgma0zpd-6bbm1Cg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

5. **Bloco “Janela para entrada de texto”** exibe uma caixa de diálogo modal destinada a obter informações do usuário. Para este bloco, as seguintes propriedades são especificadas:

* Título (texto que será exibido no cabeçalho da caixa de diálogo);
* Mensagem (texto que será exibido dentro da caixa de diálogo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe2xiaYVY1EoMObSvmZ63lsazXETP0w8qLjVE7hktoOUF9VneluSYDEwd4Ek_CA5CLntev8I7rH7jaulkBFDTlke4oCcsRNRGR6MUMPJku3BuLP6r7ilCIql1msYI8dYzKWw5ZqyQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

6. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após o que a execução do script continua na direção da saída “Sim” (se a condição for atendida) ou na direção da saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição é definida como: \[int]::TryParse($Result, \[ref] $IndexFIO). Este método converte texto em número e retorna um resultado lógico, que é verificado como $true.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc8VBP38Q-PoATX_VUfS6Mmylb8lt6XUVf46X5mqnmdVg8tRaI-zl3kXvaNHM-QFesXsLDhaS6dY6a7beoSgBiB9N-j2yZMxETihTVm8UL5g9EHKRduUGiCBXXZIoUIVVyy0p3hMQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

7. **Bloco “Janela para entrada de texto”** exibe uma caixa de diálogo modal destinada a obter informações do usuário. Para este bloco, as seguintes propriedades são especificadas:

* Título (texto que será exibido no cabeçalho da caixa de diálogo);
* Mensagem (texto que será exibido dentro da caixa de diálogo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdaITMyi5cAdtPljJhLfVwGmHUM_dHD-vkZhWr5ZC-h917RV--3vvDLifQ82wFuE-RmlSIwgDLJI8Q1HXUSp-GLz6cRdILyvCnggviX9UCQI4JjPESpR6MRTEW9cGX1kIBvDVNSxw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

8. **Bloco “Executar expressão”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, uma expressão é utilizada.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeI_iEuRl305x5hRATuWDV_vBduU07gmSSr5kGUKMpCwMkaSXwEqp8GNi0nGFfRAeS47_s4R_McDfBHQhguMPXtZ5zYH98pFxz7YSE2WWjb3XinXNH4h5kFeLHP9swMMnirNdd9dQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

9. **Bloco “Abrir arquivo”** exibe uma caixa de diálogo que permite ao usuário abrir um arquivo. Para este bloco, as seguintes propriedades são especificadas:

* Título (Texto que será exibido no cabeçalho da caixa de diálogo);
* Filtro (filtro de arquivos para cada parâmetro de filtragem, a string do filtro contém a descrição do filtro, seguida por uma barra vertical (|) e o padrão do filtro. As strings para diferentes parâmetros de filtragem são separadas por uma barra vertical).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdyzBFM0JrBie3QAcFF8bfbOOYDvrHwmPhkhoMwaDXCRpYkF9j3evoD0m1ijXiox_w4tsMUwCWXHK0krmu5pCiLcoTIyr3K1sKxY2w3ZsL5v-DF24SULVJr6Kkfcmq2P8Eh0T4Rag?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

10. **Bloco “Ler arquivo”** permite ler o conteúdo de um arquivo de texto em uma variável. Para este bloco, as seguintes propriedades são especificadas:

* Nome do arquivo (nome do arquivo de texto cujo conteúdo deve ser lido);
* Codificação (codificação do arquivo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXflxg5G6PJXpYWekVcBuJoOOINFZsZ6aHSE3lSWFa5TQLGi3nDQ4EV0pMMJhVbdC6nJqPYHSEe-V1_PDHAvDc_tGG4fn1CR6GF1ecK4Qv1HVKeYsu2TwtstPUSSbdhn7UMIw9DVog?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

11. **Bloco “Atribuir valor a variável”** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades é especificado um valor que deve ser atribuído a uma variável, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdUVEqRnPFD110iUChKkk27aaL4ENjl35cQmja72qRSgkS5JmWaXYtH70foiOJUrMy2L7OKQDDEwmV_eJirDVpKvklK9veztC-_ieit7IPvWCNjhjkpsU8pPnTNlWoMNmyT8tmiaw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

12. \- 16. **Blocos “Fim”** (esses blocos encerram a execução do script ou retornam o diagrama do subprocesso ao processo principal).

**Diagrama “Enviar mensagem”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXda80xwG9zyddeUe9jBviiqNfrantE56q5K9Ma2-ASRxRI9SJgjr4ounUQK971rpXgqxLmOhw0mP3DievnlqYPswuOfUSBJrmrVtsq6s577tNimfUuPc78vKL8cDixfJRcVIwg1EQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe3ZfhfmXkLEzmxAbVNwNGzBmy4iXVEQ3wycl-ReDIvirBrffmxodjk59O17Wk2kVYoYiKAbfeaUaVr2WVsoG3NCnHPld0FFly1wgzP2k_2dqP0bqVYA2-2P2vyqfkq_shaJUejbA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (a partir deste bloco, qualquer diagrama começa).
2. **Bloco “Atribuir valor a variável”** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades são especificados dois valores que devem ser atribuídos a duas variáveis, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeAnpTBL3WaqIZjF8Y1SfMVGEtgN3FoBXSkJiZKMRpLDAZbU3OcW-VQeXBFy-gjEVH8DwlyygyQj_H4t5PKfRhKxOU7jwFHv8WbC_M_ahwnZWHVC56ctHq4iKWnFzSoy-cpzlScZA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

3. **Bloco “Laço”** permite repetir uma sequência de ações (blocos) várias vezes e, ao mesmo tempo, contar o número de iterações do laço, registrando o número atual em uma variável especial (especificada na propriedade “Laço”), que pode ser utilizada em outros blocos. Na primeira entrada no bloco, o valor da variável da propriedade “Laço” é igualado ao “Valor inicial” (neste caso, é igual a zero), e então a execução do script continua na direção da saída “Laço” deste bloco (no chamado “corpo do laço”). Assim que a execução do script chegar novamente a este bloco, o valor da variável “Laço” aumentará em “Passo” (neste caso, é 1), e novamente ocorrerá a transição para a saída “Laço”. Assim que o valor da variável “Laço” se tornar maior ou igual ao “Valor final” (neste caso, é definido pela variável $Telefone.Length), a execução do script continuará na direção da saída inferior do bloco. Não se esqueça de conectar a saída do último bloco no corpo do laço à entrada deste bloco ou de algum dos blocos anteriores.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcA1XiJ5sw32p6Eep08Ij7NZS5RGZYKEm3BJs4a-AssobJFedi4sYydNRejZasUb7O69a5veKH8QsHanUc5rU_jWmpauHYX2Tce5GS-XFx3XlXBPWRpI12u64ukr0lTNHlN6GBQLg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

4. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após o que a execução do script continua na direção da saída “Sim” (se a condição for atendida) ou na direção da saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

```por

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída será “Sim”, caso contrário – a saída será “Não”.

Neste caso, a condição estabelecida é: \[char]::IsDigit($Telefone\[$indchar]). Ou seja, verifica-se que em cada caractere da string é um número.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeVlaVzxYQlFo7WB8KcBAWL-1Px4iISfnnXHjOWdc96nYE_Z8g7NKydJpiZzx8x4DiIEOrm0eA1Q0QGXXvWlwougP7EJQNIhSztusWN6kZk4DyQbwK2TFZZdb4twvkZzYieMLzCug?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

5. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades está indicado um valor que deve ser atribuído a uma variável, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcDTOtjtSYhnYvo_Zlt4pp9saTwMd74p6DmT1qdLeiIEvO-7HFHBadyGHDuRaU2ZMVOV2VPz7ElOxTYhYJx8sTBlmi6EhI-qYwRVuh2b6V0_uHFzlRr_e9iroBwjLOt61jwVBIdXA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

6. **Bloco “Obter substring”** permite extrair uma substring do texto original. Para este bloco, as seguintes propriedades estão especificadas:

* Texto (string de entrada);
* Índice inicial (índice do caractere inicial, a numeração começa em 0. Ao especificar um valor menor que zero, o índice inicial é contado a partir do final da string);
* Número de caracteres (número de caracteres. Ao especificar um valor vazio ou um número igual a zero, a string será extraída do índice especificado até o final da string).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdF8KePdpJRqOUgsr5S0ch18kpWFHLsnTBFxhg5ATuhK1MnuPye0D8pWchidtr_mEbKc-5971gZz03taRHURBkse-XVNueCXko3cglOp22dlYYdShHdGuDI69xmVxZq5veFbN7Z-A?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

7. **Bloco “Obter substring”** permite extrair uma substring do texto original. Para este bloco, as seguintes propriedades estão especificadas:

* Texto (string de entrada);
* Índice inicial (índice do caractere inicial, a numeração começa em 0. Ao especificar um valor menor que zero, o índice inicial é contado a partir do final da string);
* Número de caracteres (número de caracteres. Ao especificar um valor vazio ou um número igual a zero, a string será extraída do índice especificado até o final da string).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLkeqKitL4EZXdYyf1nds1BiMWpKbLnNVcyj-ZztUkBkECxu9yyVndBaQ5aCPflLf83JBDP5BCeqqMdg4jilrd0VsBXZsJGiLUdDAWUFYgub_1V2odAXjlxcSU064d3sylcoAAQQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

8. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades estão indicados três valores que devem ser atribuídos a três variáveis, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcys6vu84FTxhU4zAbh4RRKfB0llyNymmJNiMo7f_ok9MO6S79hWRdvyKsM_3W0Le6luZWWjtg_D_6jHOx9sSERZjPOAwlUnCykNdCm3BJNdcMgJRXZMI5kaSZeBb3vrrRRM4FonQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

9. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após o que a execução do script continua para a saída “Sim” (se a condição for atendida) ou para a saída “Não” (se a condição não for atendida).&#x20;

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.&#x20;

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída será “Sim”, caso contrário – a saída será “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída será “Sim”, caso contrário – a saída será “Não”.

Neste caso, a condição estabelecida é: $normalizednumber.Length==11. Ou seja, o comprimento da string deve ser igual a 11.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcB32eiKh_L_su3dtWLb9J8EUMGLWTwe7wbrgWxqgzSFiyiPFJvhvlA6vsgzQNQ57D1owvCMN3RvEwlS5paBUbm-JmNc86_R9j1vdklLEzpuzcE-2XyuNorqCN5xqpfpl6OKrCR?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

10. **Bloco “Log”** permite registrar mensagens e/ou valores de variáveis durante a execução do script do robô. Para este bloco, está especificada a propriedade “Valor”, e também está ativada a flag “Exibir no status”. Entre aspas está uma constante de texto, e o nome da variável começa com o símbolo $. Ou seja, registra no log a mensagem “Enviando mensagem para o número:” e o próprio número e exibe essa mensagem no status.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfpjgVE0SkC-Vq3ix07z-cOAwyJpw6Rr_pvd5JizwTJUls32_82BI38f4V7OCLPsLtraWjkzyiIuDzPuwycA_v3J0qmcBbA5y9szjxsx5eRv3u6lDkQUoSojT7GfZYJcajLM3iqpg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

11. **Bloco “Codificar string de URL”** codifica uma string para transmissão em um URL. Para este bloco, está especificada uma propriedade “Texto” (string de entrada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd7KOIC16Q0R1A9lQPvwxxt6nosiLP0Eno5PmlnKDOPi7cQ7kgQsUlovkBFsQ2UfZeMZdoYj1y61OUZk2Zc8SYjWWO5qsV6_jDyiw95Ye2PlXJLBenST1S-iDk-AqrbtUkZkJE8?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

12. **Bloco “Iniciar Chrome”** permite iniciar o Google Chrome. Para este bloco, estão especificadas as seguintes propriedades:

* URL (endereço da página a ser aberta ao iniciar o Google Chrome);
* Aba atual (com a flag ativada, a página será aberta na aba atualmente selecionada do navegador);
* Tempo de espera (tempo de espera para iniciar o aplicativo e carregar a aba em segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcIIwpR3DnxCAiSrcpGCPv0iNUAoneMckgUMRbE8ModsH_4RNa9yP_bnR9qWT3mB2dzy-SihZf5jHrr8-wb3VPFwSAPAlVqTQg5Y-94VKy_zXncD55xEOP0isKXaKiVwkQehxtHlw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

13. **Bloco “Aguardar aparecimento”** aguarda o aparecimento de um elemento da interface do usuário na tela adicionado ao diagrama usando a ferramenta de gravação de ações do usuário.&#x20;
14. **Bloco “Verificar presença de elemento”** verifica a presença de um elemento especificado na página da web. Se o elemento for encontrado, a execução do script continuará pela saída “Sim”, caso contrário - pela saída “Não”. Para este bloco, estão especificadas as seguintes propriedades:

* Seletor (identificador da janela do navegador e do elemento da página da web);
* ID do processo (variável que armazena o identificador do processo e da aba do navegador utilizados por este bloco).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf2TO2buskySMi704OvIkyXCuWCEunCVMIxP0e3-Pp6Mycp_puQUFuDDRmlF2ac-2dA4rduK1NRIsBnBYNJ-XUyR2LU36CSJ6B8kgqDPlE-UlPH-p4FQ1Sodc5A9FWeEzdy6WVfFQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

15. **Bloco “Clique com o mouse”** realiza um clique no elemento especificado do aplicativo adicionado ao diagrama usando a ferramenta de gravação de ações do usuário. Mais detalhes sobre isso \*aqui\*.
16. **Bloco “Log”** permite registrar mensagens e/ou valores de variáveis durante a execução do script do robô. Para este bloco, está especificada a propriedade “Valor”, e também está ativada a flag “Exibir no status”. Entre aspas está uma constante de texto, e o nome da variável começa com o símbolo $. Ou seja, registra no log a mensagem “Mensagem enviada” e a exibe no status.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcnvmKBlyvOLvyBhTbFU5uh6kXMqQVymtiAYgvDN1a0-PuG94TN4xSoZzz8tyZOmtpv9Cmkp-JEvAxn2MUh4ekHOjJ7m-1dSqI5NgZ8aCTSSagKwef5aUPqxoq35DMNLNaUuhvXzw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

17. **Bloco “Atribuir valor à variável”** estabelece novos valores para uma ou mais variáveis. Neste caso, nas propriedades está indicado um valor que deve ser atribuído a uma variável, respectivamente.<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe_QlVK_sX9Jio0uniFdrYfCGM8T0r7U_ERxL71MRcB2wQvy5j5UhPEe98jIaO7u0X97wMLHxhk8OwWpcEJWCg-5QZD_1PKMN2WZ_rMDdAxqx6zBh_7wWFKT561e-16oydsuJZwZA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

18. **Bloco “Verificar a presença do elemento”** verifica a presença de um elemento especificado na página da web. Se o elemento for encontrado, a execução do script continuará pelo caminho “Sim”, caso contrário - pelo caminho “Não”. Para este bloco, as seguintes propriedades são especificadas:

* Seletor (identificador da janela do navegador e do elemento da página da web);
* ID do processo (variável que armazena o identificador do processo e da aba do navegador utilizados por este bloco).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd4bKwOzHWpIB33DN9vPPdvxaBBcDdIVRDY0EgepQZ24n5hyHSfIulqIO4ddyv6WWj1Xu7lVo0PmXiWyb2LsWFoYeOigpSfKwBDTWYACKQ34IRkxs-Unq6Cb3sFycrr2gl4SHXB?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

19. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada, e a flag “Exibir no status” é ativada. Entre aspas, uma constante de texto é especificada, e o nome da variável começa com o símbolo $. Ou seja, registra no log a mensagem “Não é possível enviar a mensagem para o número” e a exibe no status.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcwGEJwCJTwIOdqjZ-jZxQQt3GRgEnVikSCj37_5lcNeHg7ZoNbtzgeFEzrm1DxdZr5s1ud7i0OdG_QHXSoyL1XWZ4uh24EkkJX_2eVvCVcLcVgyIepikkUxXNQ_mdWHJIwi1Bhgg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

20. **Bloco “Atribuir valor à variável”** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades, um valor é especificado, que deve ser atribuído a uma variável, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeZPOz_U1QRGw_nZHqQXaz2Cr2m9WthLXFBiMhQWRgiSim1L1kIJjqLtD9ycxyU38h48gb3I7uB0VuHgnaMdYpvLlkcg9RmP2GFc92ZjiW5yihhZpgFlilNHhLMpjl2gAjwvYuBgg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

21. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada, e a flag “Exibir no status” é ativada. Entre aspas, uma constante de texto é especificada, e o nome da variável começa com o símbolo $. Ou seja, registra no log a mensagem “Erro ao enviar a mensagem.” e a exibe no status.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdbiJhaU0f0U-hv5FjrlSuN5IFIOv3fL8W1InziCUrxfFjY8EjWrnZijwCMejrsOG6s9Y4LUukd827K1bAXm8W3bFq6ELX74qIJnitRGMmtGYPgPUqAsMORi___iPNArmptidBRxw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

22. **Bloco “Atribuir valor à variável”** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades, um valor é especificado, que deve ser atribuído a uma variável, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfEf6AC0jfDPPrdnn4R5vW4nuFr7Y7DQxFSR2V1cmYtKcHsnm1t_WIG3dcc-177KFM7ofGAPwhNiv6UYEGeG1zZhK6g6JSowJVROtFAB2mdhqxBZCoram2F597cDVWxlYH9zU5g2w?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

23. **Bloco “Condição”** verifica a condição especificada para ver se é verdadeira, após o que a execução do script continua pelo caminho de saída “Sim” (se a condição for atendida) ou pelo caminho de saída “Não” (se a condição não for atendida).&#x20;

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.&#x20;

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $attempts<4. Ou seja, o número de tentativas deve ser menor que 4.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeSwFQXXv8dEFq6xmil4UzR9SFLvmQFojRuHoYr0cJvPWSAq5lS1BWZtGlUR3zztoq-CPy2fbvK6t_MbijKqrDap-1oCG-C2p3CP30GnyXX_wKTsa8p2AUrI10dvNubphew8CKWhw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

24. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada, e a flag “Exibir no status” é ativada. Entre aspas, uma constante de texto é especificada, e o nome da variável começa com o símbolo $. Ou seja, registra no log a mensagem "Reenvio. Tentativa nº " e o número da tentativa e a exibe no status.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdZxh2EQz_HCNj8f23uoeQuTRDksDsMFYzONVeeXUXS6myPy5HComtz_fy5nfFSuB7hY4B2sg7WiP-_uqwPPy3PeAaOGRCNy11PlohkIAmzV88lAIsZ3anSR75-834I6y6T3fASlg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

25. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” é especificada. Entre aspas, uma constante de texto é especificada, e o nome da variável começa com o símbolo $. Ou seja, registra no log a mensagem “Erro crítico…”

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc3geEavsddbuagGi7R1Q8H4MDKgLeLtQBujxNeOlCsbxfDt0A8-oJQr_FWZdMH5S2m5IWgLJCLVPmlyUeBpMYw9JxQRVy-mwWMGNAsulGRdwyFfs3uHp2-W4oR8GIoXHLBSBW8ug?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

26. \- 28. **Blocos “Fim”** (esses blocos encerram a execução do script ou retornam o diagrama do subprocesso ao processo principal).
```


---

# Agent Instructions: 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:

```
GET https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/primery-robotov/whatsapp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
