Automação de Direcionamento de E-mails com IAAI-Powered Email Routing Automation
Python + IA identificam o código em cada e-mail e encaminham automaticamente ao analista certo.Python + AI identify the code in each email and automatically route it to the right analyst.
ProblemaProblem
Diariamente, o coordenador do setor operacional precisava encaminhar mais de 100 e-mails com atividades para os analistas responsáveis, podendo ser um ou vários analistas por e-mail. Essa atividade era extremamente burocrática, pois os remetentes enviavam mensagens contendo códigos em formatos variados — código de processo interno da empresa, código de booking de frete marítimo, código de processo interno do agente/armador, e identificador interno da empresa agente/armador.Every day, the operations coordinator had to forward more than 100 emails with activities to the responsible analysts — sometimes one, sometimes several analysts per email. This task was extremely bureaucratic, since senders sent messages containing codes in varied formats: internal company process codes, ocean freight booking codes, the agent/carrier's internal process code, and the agent/carrier company's internal identifier.
O coordenador precisava identificar qual desses códigos estava presente em cada e-mail, muitas vezes em formatos totalmente distintos ou em padrões parecidos entre remetentes diferentes, pesquisar esse código manualmente no ERP da empresa para localizar os analistas responsáveis (o time operacional tinha mais de 20 analistas) e, só então, encaminhar o e-mail manualmente para os envolvidos. Essa rotina consumia em média 3 horas por dia do coordenador, fora o desgaste da atividade repetitiva.The coordinator had to identify which of these codes was present in each email — often in completely different formats, or in similar-looking patterns across different senders — manually look up that code in the company's ERP to find the responsible analysts (the operations team had more than 20 analysts), and only then manually forward the email to those involved. This routine consumed an average of 3 hours a day of the coordinator's time, on top of the wear of the repetitive task.
SoluçãoSolution
Foi desenvolvido um sistema em Python que combinava lógica de automação tradicional com um modelo de linguagem da OpenAI API, usado apenas como reforço quando necessário. O script rodava agendado de hora em hora, disparado pela chegada de e-mails com status 'não lido' numa caixa de e-mail dedicada à automação, consultada via API do Gmail.A Python system was built combining traditional automation logic with an OpenAI language model, used only as backup when needed. The script ran on an hourly schedule, triggered by the arrival of 'unread' emails in a mailbox dedicated to the automation, queried via the Gmail API.
A primeira camada de identificação era baseada num mapeamento completo dos remetentes envolvidos nesse fluxo e dos padrões de formato de código usados por cada um deles individualmente. Com esse mapeamento, o script conseguia capturar a maior parte dos códigos apenas com lógica Python, sem depender de IA. Quando não conseguia identificar o código com confiança usando as regras mapeadas, o sistema acionava um STEP de inteligência artificial, enviando o assunto e o corpo do e-mail para a OpenAI, com instruções específicas mapeadas para cada remetente — ativado apenas nesses casos de exceção.The first identification layer was based on a complete mapping of the senders involved in this flow and the code format patterns each one individually used. With that mapping, the script could capture most codes using Python logic alone, with no reliance on AI. When it couldn't confidently identify the code using the mapped rules, the system triggered an AI step, sending the email's subject and body to OpenAI with instructions specific to each sender — activated only in those exception cases.
Essa combinação, regras determinísticas em Python primeiro e IA apenas como reforço, manteve o custo de uso da IA muito baixo, em torno de US$ 2,00 em tokens por mês (aproximadamente R$ 10,00), mesmo utilizando um modelo enxuto (GPT-4o-mini). Depois de identificado o código, o script fazia uma consulta SQL no banco de dados do sistema para retornar os analistas responsáveis e seus e-mails, encaminhando a mensagem automaticamente. Quando nem a lógica nem a IA resolviam o caso (~3% dos e-mails), o e-mail era encaminhado automaticamente para o coordenador.That combination — deterministic Python rules first, AI only as backup — kept the AI usage cost very low, around $2 in tokens per month (roughly R$10), even using a lean model (GPT-4o-mini). Once the code was identified, the script ran a SQL query against the system's database to return the responsible analysts and their emails, forwarding the message automatically. When neither the logic nor the AI could resolve the case (~3% of emails), the email was automatically forwarded to the coordinator.
ResultadosResults
A automação eliminou as cerca de 3 horas diárias que o coordenador gastava manualmente identificando códigos, pesquisando responsáveis no ERP e encaminhando e-mails um a um. O sistema resolvia automaticamente cerca de 97% dos e-mails recebidos (via regras em Python ou via STEP de IA), escalando manualmente para o coordenador apenas os cerca de 3% de casos que nenhuma das duas camadas conseguia resolver com segurança.The automation eliminated the roughly 3 daily hours the coordinator used to spend manually identifying codes, looking up responsible parties in the ERP, and forwarding emails one by one. The system automatically resolved about 97% of received emails (via Python rules or the AI step), manually escalating to the coordinator only the ~3% of cases neither layer could resolve with confidence.
O custo de operação da camada de IA ficou extremamente baixo, em torno de R$ 10,00 por mês, graças à estratégia de só acionar o modelo de linguagem como exceção, e não como primeira tentativa. O relatório horário enviado ao coordenador manteve total rastreabilidade sobre o funcionamento do sistema, permitindo auditar qualquer e-mail processado, mesmo sem intervenção manual no processo.The AI layer's operating cost stayed extremely low, around R$10 a month, thanks to the strategy of only triggering the language model as an exception, not as the first attempt. The hourly report sent to the coordinator kept full traceability over the system's operation, allowing any processed email to be audited, even without manual intervention in the process.
TecnologiasTechnologies
Fluxograma de ArquiteturaArchitecture Flowchart
Monitoramento HorárioHourly Monitoring
Script consulta a caixa de e-mail dedicada via API do Gmail a cada hora, buscando mensagens não lidas.A script checks the dedicated mailbox via the Gmail API every hour, looking for unread messages.
Identificação por Regras (Python)Rule-Based Identification (Python)
Mapeamento de remetentes e padrões de código resolve a maior parte dos casos sem depender de IA.A mapping of senders and code patterns resolves most cases without relying on AI.
Reforço com IA (GPT-4o-mini)AI Backup (GPT-4o-mini)
Quando as regras falham, a OpenAI API analisa assunto e corpo do e-mail para identificar o código.When the rules fail, the OpenAI API analyzes the email's subject and body to identify the code.
Consulta ao ERP (SQL)ERP Lookup (SQL)
Sistema consulta o banco de dados via SQL para localizar os analistas responsáveis pelo código.The system queries the database via SQL to find the analysts responsible for that code.
Encaminhamento AutomáticoAutomatic Forwarding
E-mail é encaminhado direto aos analistas certos; casos não resolvidos vão para o coordenador.The email is forwarded directly to the right analysts; unresolved cases go to the coordinator.
Relatório HorárioHourly Report
Coordenador recebe um relatório de cada ciclo, com sucesso ou motivo de falha de cada e-mail processado.The coordinator receives a report each cycle, with success or failure reason for every email processed.
