# Função de Agendamentos Personalizados O ServiceDesk Plus permite que administradores executem agendamentos personalizados usando uma ferramenta interna de execução de scripts chamada Função de Agendamentos Personalizados. Os scripts da função de agendamentos personalizados podem ser criados do zero usando Deluge, a linguagem de script proprietária da Zoho. As funções de Agendamentos Personalizados podem ser usadas para criar suas próprias operações de automação, como enviar notificações ou atualizar o status de solicitações, analisando as consultas obtidas dos relatórios. **Função necessária:** SDAdmin Para criar funções de agendamentos personalizados, acesse **Admin >> Configurações Gerais >> Função de Agendamentos Personalizados**. Você pode criar funções de agendamentos personalizados como [Ações Personalizadas](https://help.servicedeskplus.com/custom-schedule-function.html#custom-actions) ou [Funções Globais](https://help.servicedeskplus.com/global-function). ## Ações Personalizadas As ações personalizadas são funções personalizadas executáveis que permitem aos usuários manipular dados no ServiceDesk Plus e em outros aplicativos externos. Você pode escrever um script para obter dados de Relatórios de Consulta e executar uma ação com base nos dados obtidos. ### Criar Ações Personalizadas Use o botão **Novo** para criar uma ação personalizada. Forneça um nome e uma descrição para sua ação personalizada. Use a simples ação de arrastar e soltar para selecionar objetos do Editor de Script Deluge para a área de trabalho. ![Custom Actions](https://www.manageengine.cn/userfiles/866/14262/ckfinder/images/qu/custom%20actions.gif) Você deve escrever a função de agendamentos personalizados com **reportObj** como argumento. Após executar a função de agendamentos personalizados, o tipo de dados **Map** será retornado no seguinte formato: ```json { "message": "Executado com sucesso", "status": "sucesso/falha" } ``` Você pode executar a ação especificada retornando o mapa da função de agendamentos personalizados. O formato usado nas funções de agendamentos personalizados é o mesmo do script e da classe em Python. Para mais detalhes, [visite esta página](https://help.servicedeskplus.com/configurations/helpdesk/custom-triggers.html). Os novos valores dos campos devem ser retornados da função de agendamentos personalizados em um formato específico, conforme demonstrado abaixo: Vamos considerar um script de exemplo para atualizar o status da solicitação para Fechado. ```javascript input_data = { "request": { "status": { "name": "Closed" } } } for each data in dataObj { workorderid = data.get("workorderid"); requeserid = data.get("Requeser_Id"); app_url = "http://servername:portnumber/api/v3/requests/" + workorderid; params = {"input_data": input_data}; response = invokeurl [ url: url type: PUT parameters: params headers: headers ]; } ``` Nas funções de agendamentos personalizados, você pode chamar [funções globais](https://help.servicedeskplus.com/global-function) que podem armazenar informações essenciais para se conectar com aplicações externas, funcionalidades comuns e configurações. Para conferir casos de uso do Deluge, [visite esta página](https://help.servicedeskplus.com/deluge-use-cases). ## Execução de teste de scripts Após escrever a função de agendamentos personalizados, 1. Clique em **Salvar e testar** para executar um teste da ação personalizada. 2. Escolha um relatório de exemplo na lista de relatórios exibida. 3. Os dados que serão passados para a função de agendamentos personalizados serão exibidos sob o parâmetro **reportObj**. 4. Clique em **Executar**. O script será executado e a saída será exibida junto com instruções `info` que são usadas para depuração. Se você fizer chamadas de API usando **invokeurl** enquanto testa a função de agendamentos personalizados, a API será invocada. Certifique-se de não invocar uma API que possa resultar em consequências indesejadas. ## Dica de depuração Ao testar uma função de agendamentos personalizados, você pode depurar o código e imprimir a saída usando uma instrução chamada **info**. Por exemplo, para entender a estrutura de **reportObj** e o contexto, você pode simplesmente executar o script a seguir e analisar a resposta. ```javascript info reportObj; info context; return true; ``` Para mais detalhes sobre o Deluge, [visite o guia de ajuda do Deluge](https://www.zoho.com/deluge/help/). Após criar uma ação personalizada, você pode usá-la para criar [agendamentos personalizados](https://help.servicedeskplus.com/configurations/general/custom_schedules.html). O agendamento personalizado em que a ação personalizada está ativa é exibido na visualização de lista de ações personalizadas. ## Visualização de lista de ações personalizadas Após criar ações personalizadas, você pode gerenciá-las na visualização de lista da seguinte forma: - Clique no ícone ![](https://www.manageengine.cn/userfiles/866/14262/ckfinder/images/qu/2021_06_28_07_46_055.png) para editar ou excluir uma ação personalizada. Para excluir ações personalizadas em massa, selecione as ações personalizadas e vá para **Ações >> Excluir**. - Clique no ícone ![](https://www.manageengine.cn/userfiles/866/14262/ckfinder/images/qu/2021_06_28_07_46_056.png) para desativar uma ação personalizada. As ações personalizadas desativadas são indicadas pelo ícone ![](https://www.manageengine.cn/userfiles/866/14262/ckfinder/images/qu/2021_06_28_07_46_057.png), no qual você pode clicar para ativar uma ação personalizada. Para ativar/desativar em massa, selecione as ações personalizadas e vá para **Ações >> Marcar como Ativa/Marcar como Inativa**. - Use palavras-chave para pesquisar ações personalizadas na barra de pesquisa. - Clique no menu suspenso de filtro para exibir todas as ações personalizadas ou apenas as usadas em agendamentos personalizados. ![](https://www.manageengine.cn/userfiles/866/14262/ckfinder/images/qu/2021_06_28_07_46_058.png) Somente ações personalizadas ativas estarão disponíveis para uso nas configurações mencionadas acima.