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!

botón toggl

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.
Advertencia: es necesario registrarse en Zapier Para utilizar esta integración, deberá registrarse en el servicio Zapier. La configuración incluye 3 pasos en Zapier, por lo que se requiere el plan de precios For Work.

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.

Pestaña Permisos

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:

botón de alternancia

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:

aplicación de activación

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

Nueva entrada de tiempo

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í.

conectar/desconectar

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.

Token de la API de Toggl

Probar conexión.

Prueba de la cuenta de Toggl Trigger

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

una nueva entrada de tiempo en Toggl

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).

Filtrar por

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:

Código de Zapier

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

Editar plantilla :

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 |

datos de entrada

Copie y pegue el siguiente código. Reemplaza los access_token valores accountUrl y por los tuyos personales.

Advertencia: El token de acceso se genera en la pestaña Mi perfil > Tokens de acceso de su cuenta de Targetprocess.
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. probando el 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: Webhook de Zapier Selecciona Webhooks by Zapier Acción: POST Webhooks de Zapier Acción POST Editar plantilla: Plantilla de webhook

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 | |

acción-url-carga útil 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=json
Ejemplo de salida válida:
{"ResourceType":"User","Kind":"User","Id":1234}
datos de acción Encabezados:

| :----------- | :--------------- | | Content-type | application/json |

Prueba este paso.

Prueba de webhook ¡Activa este Zap y disfruta de la publicación automática de horas! Zap y disfruta de la publicación automática de la hora Así es como se ve el historial de tareas de Zap en Zapier: Historial de tareas de Zap Así es como se muestran las entidades de tiempo enviadas automáticamente en la vista de detalles de la entidad Targetprocess: El valor Entidad del proceso objetivo 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.