Integración con el temporizador personal Toggl
Toggl Button es una extensión del navegador Chrome que te permite realizar un seguimiento del tiempo desde varias aplicaciones en línea. Afortunadamente, ¡Targetprocess es uno de ellos!

La integración con Toggl consta de dos partes:
- Instalación del complemento Toggl en el navegador web. Como resultado, aparece un botón especial de inicio/parada del temporizador en las vistas detalladas de sus entidades Targetprocess. El tiempo registrado se publica en tu cuenta de Toggl.
- Configura un zap de Zapier para publicar automáticamente el tiempo enviado a Toggl en Targetprocess.
La guía describe la configuración para un solo usuario. Debes crear un Zap independiente en tu cuenta de Zapier y repetir los pasos 1 a 4 para cada usuario de Targetprocess que envíe su tiempo a través de Toggl.
Paso 1: Instala el botón Toggl
Instala el botón Toggl utilizando la tienda web de Chrome.
Las instrucciones detalladas están disponibles en support.toggl.com.
Permita el acceso a su cuenta de Targetprocess en la pestaña Permisos. Añade permiso de URL de dominio personalizado para tu dominio Targetprocess.

A continuación, inicia sesión en tu cuenta de Toggl en tu navegador web Chrome. El botón de inicio de sesión se muestra en el menú de extensiones de Chrome.
Una vez completado, el botón Toggl aparece junto al nombre de la entidad en Targetprocess:

Pulse el botón una vez y se iniciará el temporizador. Púlselo de nuevo y el temporizador se detendrá, enviando el registro de tiempo a su cuenta de Toggl.
¡Ahora estamos listos para enviar los registros de tiempo de Toggl a Targetprocess utilizando Zapier!
Paso 2: Configurar Toggl Trigger en Zapier
Inicie sesión en su cuenta de Zapier.
Crear nuevo Zap. Selecciona Toggl como aplicación desencadenante:

Selecciona «Nueva entrada de tiempo» para el activador de Toggl:

Conecta tu cuenta de Toggl a Toggl Trigger. Crea una nueva cuenta en Zapier si los datos de tu cuenta de Toggl aún no están allí.

Obtenga su token API de Toggl en los detalles de la cuenta de Toggl > sección «Mi perfil ». Conecta tu cuenta de Toggl al activador de Toggl en Zapier utilizando el token.

Probar conexión.

Para probar todo el proceso, envíe una nueva entrada de tiempo en Toggl y, a continuación, realice una prueba en Zapier.

Paso 3 (opcional): configura «Filtrar por» en Zapier.
Si utilizas Toggl fuera del proceso objetivo, Zapier recibirá un error cada vez que se cree una entrada de tiempo no relacionada con el proceso objetivo. Una forma rápida de reducir estos errores es añadir un paso «Filtrar por» en Zapier que impida que el Zap continúe a menos que la entrada «Descripción» de Toggl comience por «#» (véase la imagen siguiente).
Paso 4: Obtener el ID de entidad y el tiempo restante mediante la acción de código
Añadir nueva acción. Selecciona «Code by Zapier» como aplicación de acción:

Selecciona Run Javascript para la acción «Código por Zapier»
Editar plantilla :

Edite los datos de entrada como se muestra en la siguiente captura de pantalla:
| :---------- | :------------------------ | | description | Step 1 Description | | spent | Step 1 Duration Hours |

Copie y pegue el siguiente código. Reemplaza los access_token valores accountUrl y por los tuyos personales.
var match = input.description.match(/[\w\s]*#(\d+)\s(.*)/i);
var id = match ? match[1] : 0;
var accountUrl = 'https://myaccount.tpondemand.com';
var access_token = 'MjkwMDI6c1RHczJaUWsrRWpKZkpEUWlNeXFibjdkajM2M3ppY2ZIaWhIS0owUEVDMD9=';
var url = accountUrl + '/api/v1/assignables/' + id + '?access_token=' + access_token + '&include=[TimeRemain,RoleEfforts]&format=json';
fetch(url)
.then(function(res) {
return res.json();
})
.then(function(json) {
var newRemain = 0;
var roleEffortsCount = Object.keys(json.RoleEfforts.Items).length;
if (roleEffortsCount == 1) {
newRemain = json.TimeRemain - input.spent;
if (newRemain < 0) {
newRemain = 0;
}
}
var output = { id: id, remain: newRemain };
callback(null, output);
})
.catch(callback);
return { id: id, remain : 0 };Prueba este paso. 
Paso 5: Publicar el registro de tiempo en Targetprocess
Añade una acción más «Webhook by Zapier» con la opción POST:
Selecciona Webhooks by Zapier Acción: POST
Editar plantilla: 
Utiliza una plantilla como la que se muestra a continuación.
| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------- | | URL | https://myaccount.tpondemand.com/api/v1/times?access_token=MjkwMDI6c1RHczJaUWsrRWpKZkpEUWlNeXFibjdkajM2M4ppY2ZIaWhIS0owUEVDMD9= | Replace account URL and access token with your own values. | | Payload Type | Json | | | Wrap Request In Array | no | | | Unflatten | yes | |
Datos:| :--------------- | :------------------------ | :---------------------------------------------------------------------- | | Assignable__Id | Step 2 Id | Two underscore symbols are used. | | User__Id | 1234 | Two underscore symbols are used. Paste your Targetprocess User ID here. | | Spent | Step 1 Duration Hours | | | Remain | Step 2 Remain | | | Description | Time submitted via Toggl | Any text can be inserted here. |
Para recuperar su ID de usuario de Targetprocess, realice la siguiente llamada a la API REST a la aplicación Targetprocess en su navegador web:
GET /api/v1/Users/LoggedUser?include=[Id]&format=jsonEjemplo de salida válida:{"ResourceType":"User","Kind":"User","Id":1234}
Encabezados:| :----------- | :--------------- | | Content-type | application/json |
Prueba este paso.
¡Activa este Zap y disfruta de la publicación automática de horas!
Así es como se ve el historial de tareas de Zap en Zapier:
Así es como se muestran las entidades de tiempo enviadas automáticamente en la vista de detalles de la entidad Targetprocess: El valor
de tiempo restante se actualiza automáticamente cuando la entidad a la que envías el tiempo solo tiene una función con esfuerzo en el área de asignaciones. De lo contrario, en las publicaciones automáticas, el valor de «Tiempo restante» se establece en 0.