# Función de Programaciones Personalizadas ServiceDesk Plus permite a los administradores ejecutar programaciones personalizadas usando una herramienta integrada de ejecución de scripts llamada **Función de Programaciones Personalizadas**. Los scripts de la función de programaciones personalizadas pueden crearse desde cero usando Deluge, el lenguaje de scripting propietario de Zoho. Las funciones de Programaciones Personalizadas pueden usarse para crear sus propias operaciones de automatización, como enviar notificaciones o actualizar el estado de solicitudes, mediante el análisis de las consultas obtenidas de los informes. **Rol requerido:** SDAdmin Para crear funciones de programaciones personalizadas, vaya a **Admin >> Configuración General >> Función de Programaciones Personalizadas**. Puede crear funciones de programaciones personalizadas como [Acciones Personalizadas](https://www.manageengine.com/latam/service-desk/help/adminguide/custom-schedule-function.html#custom-actions) o [Funciones Globales](https://www.manageengine.com/latam/service-desk/help/adminguide/global-function.html). ## Acciones Personalizadas Las acciones personalizadas son funciones personalizadas ejecutables que permiten a los usuarios manipular datos en ServiceDesk Plus y otras aplicaciones externas. Puede escribir un script para obtener datos de Informes de Consulta y ejecutar una acción basada en los datos obtenidos. ### Crear Acciones Personalizadas Use el botón **Nuevo** para crear una acción personalizada. Proporcione un nombre y una descripción para su acción personalizada. Use la acción simple de arrastrar y soltar para seleccionar objetos del Editor de Scripts Deluge en el lienzo. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/custom%20actions.gif) Debe escribir la función de programaciones personalizadas con **reportObj** como argumento. Después de ejecutar la función de programaciones personalizadas, se devolverá el tipo de datos **Map** en el siguiente formato: ```javascript { "message":"Ejecutado correctamente", "status":"success/failure" } ``` Puede realizar la acción especificada devolviendo el mapa desde la función de programaciones personalizadas. El formato usado en las funciones de programaciones personalizadas es el mismo que el del script y la clase de Python. Para más detalles, [visite esta página](https://www.manageengine.com/latam/service-desk/help/adminguide/configurations/helpdesk/custom-triggers.html). Los nuevos valores de campo deben devolverse desde la función de programaciones personalizadas en un formato específico, como se muestra a continuación: Consideremos un script de ejemplo para actualizar el estado de una solicitud a Cerrado. ```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 ]; } ``` Dentro de las funciones de programaciones personalizadas, puede llamar a [funciones globales](https://www.manageengine.com/latam/service-desk/help/adminguide/global-function.html) que pueden almacenar información esencial para conectarse con aplicaciones externas, funcionalidades comunes y configuraciones. Para consultar casos de uso de Deluge, [visite esta página](https://www.manageengine.com/latam/service-desk/help/adminguide/deluge-use-cases.html). ## Ejecución de prueba de scripts Después de escribir la función de programaciones personalizadas, 1. Haga clic en **Guardar y probar** para ejecutar una prueba de la acción personalizada. 2. Elija un informe de ejemplo de la lista de informes mostrados. 3. Los datos que se pasarán a la función de programaciones personalizadas se mostrarán bajo el parámetro **reportObj**. 4. Haga clic en **Ejecutar**. El script se ejecutará y la salida se imprimirá junto con las sentencias info que se usan para depuración. Si realiza llamadas API usando **invokeurl** mientras prueba la función de programaciones personalizadas, la API será invocada. Asegúrese de no invocar una API que pueda generar consecuencias no deseadas. ## Consejo de depuración Cuando prueba una función de programaciones personalizadas, puede depurar el código e imprimir la salida usando una sentencia llamada **info**. Por ejemplo, para comprender la estructura de **reportObj** y el contexto, puede simplemente ejecutar el siguiente script y estudiar la respuesta. ```javascript info reportObj; info context; return true; ``` Para más detalles sobre Deluge, [visite la guía de ayuda de Deluge](https://www.zoho.com/deluge/help/). Después de crear una acción personalizada, puede usarla para crear [programaciones personalizadas](https://www.manageengine.com/latam/service-desk/help/adminguide/configurations/general/custom_schedules.html). La programación personalizada donde la acción personalizada está activa se muestra en la vista de lista de acciones personalizadas. ## Vista de lista de Acciones Personalizadas Después de crear acciones personalizadas, puede administrarlas desde la vista de lista de la siguiente manera: - Haga clic en el ícono ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_06_28_07_46_055.png) para editar o eliminar una acción personalizada. Para eliminar acciones personalizadas en lote, seleccione las acciones personalizadas y vaya a **Acciones >> Eliminar**. - Haga clic en el ícono ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_06_28_07_46_056.png) para deshabilitar una acción personalizada. Las acciones personalizadas deshabilitadas se indican con el ícono ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_06_28_07_46_057.png), en el que puede hacer clic para habilitar una acción personalizada. Para habilitar/deshabilitar en lote, seleccione las acciones personalizadas y vaya a **Acciones >> Marcar como Activa/Marcar como Inactiva**. - Use palabras clave para buscar acciones personalizadas desde la barra de búsqueda. - Haga clic en el menú desplegable de filtro para mostrar todas las acciones personalizadas o solo las que se usan en programaciones personalizadas. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_06_28_07_46_058.png) Solo las acciones personalizadas activas estarán disponibles para usarse en las configuraciones mencionadas anteriormente.