Integration mit persönlichem Toggl-Timer
Toggl Button ist eine Chrome-Browsererweiterung, mit der Sie die Zeit aus verschiedenen Online-Apps verfolgen können. Glücklicherweise gehört Targetprocess dazu!

Die Integration mit Toggl besteht aus zwei Teilen:
- Installieren Sie das Toggl-Plugin in Ihrem Webbrowser. Als Ergebnis erscheint eine spezielle Start-/Stopp-Timer-Schaltfläche in den Detailansichten Ihrer Targetprocess-Entitäten. Die aufgezeichnete Zeit wird in Ihrem Toggl-Konto gespeichert.
- Richten Sie einen Zapier -Zap ein, um die an Toggl übermittelte Zeit automatisch an Targetprocess zu senden.
Die Anleitung beschreibt die Einrichtung für einen einzelnen Benutzer. Sie sollten in Ihrem Zapier-Konto einen separaten Zap erstellen und die Schritte 1 bis 4 für jeden Targetprocess-Benutzer wiederholen, der Zeiten über Toggl übermittelt.
Schritt 1: Installieren Sie die Toggl-Schaltfläche
Installieren Sie die Toggl-Schaltfläche über den Chrome Web Store.
Ausführliche Anweisungen finden Sie unter support.toggl.com.
Erlauben Sie den Zugriff auf Ihr Targetprocess-Konto unter der Registerkarte „Berechtigungen“. Fügen Sie eine benutzerdefinierte Domain-URL-Berechtigung für Ihre Targetprocess-Domain hinzu.

Melden Sie sich anschließend in Ihrem Chrome-Webbrowser bei Ihrem Toggl-Konto an. Die Anmeldeschaltfläche wird im Menü der Chrome-Erweiterungen angezeigt.
Nach Abschluss erscheint die Toggl-Schaltfläche neben dem Entitätsnamen in Targetprocess:

Drücken Sie einmal auf die Taste – und schon startet der Timer. Drücken Sie erneut darauf – und der Timer stoppt und sendet die Zeitaufzeichnung an Ihr Toggl-Konto.
Jetzt können wir Zeitaufzeichnungen von Toggl mit Zapier an Targetprocess weiterleiten!
Schritt 2: Toggl Trigger in Zapier einrichten
Melden Sie sich bei Ihrem Zapier-Konto an.
Neuen Zap erstellen. Wählen Sie Toggl als Trigger-App aus:

Wählen Sie „Neuer Zeiteintrag“ für den Toggl-Trigger:

Verbinden Sie Ihr Toggl-Konto mit Toggl Trigger. Erstellen Sie ein neues Konto in Zapier, wenn die Details Ihres Toggl-Kontos noch nicht vorhanden sind.

Holen Sie sich Ihren Toggl-API-Token aus den Toggl-Kontodetails > Abschnitt „Mein Profil “. Verbinden Sie Ihr Toggl-Konto mithilfe des Tokens mit Toggl Trigger in Zapier.

Verbindung testen.

Um den gesamten Schritt zu testen, geben Sie bitte einen neuen Zeiteintrag in Toggl ein und führen Sie dann einen Test in Zapier durch.

Schritt 3 (optional): Richten Sie „Filter by“ in Zapier ein.
Wenn Sie Toggl außerhalb von Target Process verwenden, erhält Zapier jedes Mal eine Fehlermeldung, wenn ein nicht mit Target Process verbundener Zeiteintrag erstellt wird. Eine schnelle Möglichkeit, diese Fehler zu reduzieren, besteht darin, in Zapier einen Schritt „Filter By” hinzuzufügen, der verhindert, dass der Zap fortgesetzt wird, wenn der Toggl-Eintrag „Description” nicht mit „#” beginnt (siehe Abbildung unten).
Schritt 4: Entitäts-ID und verbleibende Zeit mithilfe der Code-Aktion abrufen
Neue Aktion hinzufügen. Wählen Sie „Code by Zapier” als Aktions-App aus:

Wählen Sie Run Javascript für die Aktion „Code by Zapier“
Vorlage bearbeiten :

Bearbeiten Sie die Eingabedaten wie im folgenden Screenshot gezeigt:
| :---------- | :------------------------ | | description | Step 1 Description | | spent | Step 1 Duration Hours |

Kopieren Sie den folgenden Code und fügen Sie ihn ein. Ersetzen Sie die accountUrlaccess_token Werte und durch Ihre persönlichen Werte.
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 };Testen Sie diesen Schritt. 
Schritt 5: Zeitaufzeichnung in Targetprocess veröffentlichen
Fügen Sie eine weitere Aktion „Webhook von Zapier” mit der Option POST hinzu:
Wählen Sie „Webhooks von Zapier” Aktion: POST Vorlage
bearbeiten: 
Verwenden Sie eine Vorlage wie die unten stehende.
| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------- | | 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 | |
Daten:| :--------------- | :------------------------ | :---------------------------------------------------------------------- | | 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. |
Um Ihre Targetprocess-Benutzer-ID abzurufen, führen Sie bitte den folgenden REST-API-Aufruf an die Targetprocess-Anwendung in Ihrem Webbrowser durch:
GET /api/v1/Users/LoggedUser?include=[Id]&format=jsonBeispiel für eine gültige Ausgabe:{"ResourceType":"User","Kind":"User","Id":1234}
Kopfzeilen:| :----------- | :--------------- | | Content-type | application/json |
Testen Sie diesen Schritt.
Aktivieren Sie diesen Zap und genießen Sie die automatische Zeitbuchung!
So sieht der Aufgabenverlauf von Zap in Zapier aus:
So werden automatisch übermittelte Zeitentitäten in der Entitätsdetailansicht von Targetprocess angezeigt: Der
Wert für die verbleibende Zeit wird automatisch aktualisiert, wenn die Entität, an die Sie die Zeit übermitteln, nur eine Rolle mit Aufwand im Bereich „Aufgaben” hat. Andernfalls wird der automatisch gepostete Wert für „Verbleibende Zeit“ auf 0 gesetzt.