SQL Server – Como fazer uma integração do banco de dados com o Slack e enviar mensagens utilizando o CLR (C#)

SQL Server – Como fazer uma integração do banco de dados com o Slack e enviar mensagens utilizando o CLR (C#)
Avalie esse post

Olá pessoal,
Bom dia!

Neste post vou demonstrar como fazer uma integração do banco de dados com o Slack e enviar mensagens utilizando CLR (C#), que é o principal concorrente do Ryver, no qual já demonstrei como fazer essa mesma integração no post SQL Server – Como fazer uma integração do banco de dados com o Ryver e enviar mensagens utilizando CLR (C#).

Caso você não conheça ou não saiba utilizar o CLR no SQL Server, descubra como acessando o post Introdução ao SQL CLR (Common Language Runtime) no SQL Server.

O que é o Slack?

Para quem não conhece, o Slack é um dos comunicadores corporativos mais famosos e utilizados em todo o mundo, principal concorrente do Ryver e tem a proposta de substituir a comunicação via e-mail por grupos privados e públicos (dentro do time) focados em determinadas equipes e/ou assuntos. Você pode criar grupos públicos, onde toda sua equipe pode interagir e colaborar e grupos privados para cada setor, onde somente quem está no grupo pode visualizar as mensagens.

O Slack permite que você responda e-mails pela própria ferramenta, envio e compartilhamento de arquivos, envio de mensagens privadas, instalação de diversos plugins para adicionar novos recursos e muito mais.

No plano gratuito, a busca de mensagens recupera apenas as últimas 10 mil mensagens, o limite de armazenamento é de 5 GB e mais algumas limitações que você pode verificar neste link.

Onde e como posso usar o Slack na minha empresa?

Esse recurso é especialmente útil para criar equipes na sua empresa e gerar alertas e monitoramentos por equipe, onde cada equipe recebe apenas os alertas referentes às suas atividades. Além disso, você pode utilizar os grupos abertos para enviar informativos e notificações que interessam para a empresa toda. Tudo isso, sem custo algum e você pode receber por e-mail, visualizar na Web e no seu smartphone.

Uma outra forma legal de se utilizar o Slack, é enviar acompanhamento de metas de vendas para o setor de comercial, de forma que os gerentes regionais e locais possam acompanhar a performance da equipe de vendas em tempo real, sem ter que ficar consultando e abrindo relatórios, onde quer que eles estejam, mesmo fora da empresa.

Caso sua empresa adote o Slack, o setor de RH pode utilizar o serviço para enviar mensagens e informativos para os colaboradores. Enviar mensagens de natal, uma mensagem especial no aniversário do colaborador, etc.

Enfim, a vantagem do Slack é que ele pode ser enviado de várias formas diferentes (E-mail, Web, Smartphone), onde quer que você esteja, dentro ou fora da empresa e representa uma grande revolução na forma em que as pessoas interagem com as informações.

Utilizo o Slack onde eu trabalho como ferramenta de comunicação, monitoramento e alertas das rotinas de TI, como falhas em jobs críticos, problemas em backups, corrupções de bases, queries lentas, locks, etc. Sempre que alguma rotina crítica falha, é enviado um e-mail interno e uma notificação via Slack, onde chega uma notificação Push no meu celular (igual do Whatsapp) e onde quer que eu esteja, tomo conhecimento dessa falha.

Como adicionar usuários ao Slack

O primeiro passo para criar a integração, é criar sua conta no Slack, acessando este link. Uma vez criada, você receberá um e-mail para logar na sua conta.

Tela inicial do Slack, já com alguns grupos que criei para este post

Para adicionar novos usuários, basta clicar no menu (Seu nome) e selecionar a opção “Invite people”

Você pode adicionar seus contatos da usa conta do Google, importar vários contatos no formato CSV e outros. Uma vez que você convide outras pessoas, ela receberão um link para se juntar à sua equipe e após finalizar o cadastro, elas já poderão visualizar os dados pelo navegador Web ou aplicativo para celular.

Como ativar a API do Slack

Para que seja possível enviar as mensagens pelo Slack, precisamos criar uma integração customizada. Para isso acesse a URL https://api.slack.com/docs/oauth-test-tokens logado na conta do usuário que servirá como BOT e fará o envio das mensagens automáticas.

Clique no botão “Create token”.

Copie o token gerado para a sua aplicação. É com esse código enorme (76 caracteres no meu caso) que você será fará a autenticação com a API e poderá enviar suas mensagens através do CLR (C#).

Como integrar o banco de dados ao Slack

Uma vez que você já criou sua conta no Slack e já cadastrou o usuário que você irá utilizar para enviar as mensagens para as equipes, vamos à parte interessante: Criar o código .NET (C#) que irá realizar a integração do banco de dados SQL Server com a API do Slack.

Pré-requisito: Utils.cs

Como pré-requisito para utilizar essa procedure, você precisará criar a classe Retorno, disponível no post SQL Server – Como enviar avisos e mensagens de erro para o banco pelo CLR (C#) para utilizar o método Retorno.Erro e assim, enviar mensagens de erro, caso ocorram. Você também pode optar por comentar o código e remover as chamadas para esse método (e comentar também o using Bibliotecas.Model), mas não aconselho, pois você não saberá quando ocorreu algum erro na sua chamada à SP de envio de mensagens para o Slack.

Assim como ocorre no Ryver, para que seja possível enviar as mensagens, o usuário do BOT tem que ser adicionado em todos os grupos, privados e públicos, pois ele que faz o envio das mensagens e não é possível enviar as mensagens se ele não estiver no grupo.

Agora que já temos a conta criada, o usuário do BOT está nos grupos desejados e já geramos o nosso token, é hora de enviar as mensagens pelo banco de dados com o CLR.

Código-fonte da stpEnvia_Mensagem_Slack:

Exemplos de uso para grupos (públicos ou privados)
Diferente do que ocorre no Ryver, onde você precisa pegar o ID de cada grupo, seja privado ou público, para poder realizar o envio das mensagens, onde a API do Ryver diferencia o envio para grupo privado é diferente de grupo público, no Slack o envio é feito pelo próprio nome do grupo, não tendo diferença entre privado ou público para realizar o envio.

Exemplos de uso para mensagens privadas (DM)
Para enviar mensagens diretas (DM) ou também chamadas de privadas, basta colocar @nome_do_usuario.

Enviando mensagens coloridas no Slack

Um recurso bem legal da API do Slack é o chamado attachments (anexos), que permite melhorar a formatação e visualização das mensagens enviadas pela API, tornando as informações mais claras e elegantes. Vamos ver como funciona:

Código da Stored Procedure stpEnvia_Mensagem_Slack_Completa

Exemplos de uso

Envio de mensagens com formatação

Envio de mensagens com Links externos
Ao clicar no título da mensagem, você será direcionado para a URL https://www.dirceuresende.com/blog 🙂

Envio de mensagem com quebra de linha

Para saber mais sobre formatação no Slack, acesse este link.

E é isso aí, pessoal!
Espero que tenham gostado desse post e até a próxima!

sql server clr .net dotnet framework c# csharp integration como criar integração banco de dados database como enviar mensagens how to send messages notifications notificações grupo privada dm Slack

sql server clr .net dotnet framework c# csharp integration como criar integração banco de dados database como enviar mensagens how to send messages notifications notificações grupo privada dm Slack

SQL, sql server, sql server 2008, sql server 2008 R2, Oracle, Oracle Database, Oracle 11g, Oracle 10g, Oracle 12c, MySQL, Firebird, Consultoria, Consultor, Programador, Programação. Desenvolvedor, Analista de Sistemas, DBA, Criação de website, Criação de Sistema Web, Vitória, Vila Velha, Guarapari, Espírito Santo, ES, Consultoria SQL em VItória, Treinamento, Curso, Prestação de serviço, prestar serviço, freelancer, freela, banco de dados, consultoria em banco de dados, consultor de banco de dados

Deixe uma resposta