Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"extends": [
|
||||
"../../../../.eslintrc.base.json"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"!**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx",
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# pieces-toggl-track
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Building
|
||||
|
||||
Run `nx build pieces-toggl-track` to build the library.
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "@activepieces/piece-toggl-track",
|
||||
"version": "0.0.3",
|
||||
"type": "commonjs",
|
||||
"main": "./src/index.js",
|
||||
"types": "./src/index.d.ts",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "pieces-toggl-track",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/toggl-track/src",
|
||||
"projectType": "library",
|
||||
"release": {
|
||||
"version": {
|
||||
"manifestRootsToUpdate": [
|
||||
"dist/{projectRoot}"
|
||||
],
|
||||
"currentVersionResolver": "git-tag",
|
||||
"fallbackCurrentVersionResolver": "disk"
|
||||
}
|
||||
},
|
||||
"tags": [],
|
||||
"targets": {
|
||||
"build": {
|
||||
"executor": "@nx/js:tsc",
|
||||
"outputs": [
|
||||
"{options.outputPath}"
|
||||
],
|
||||
"options": {
|
||||
"outputPath": "dist/packages/pieces/community/toggl-track",
|
||||
"tsConfig": "packages/pieces/community/toggl-track/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/toggl-track/package.json",
|
||||
"main": "packages/pieces/community/toggl-track/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/toggl-track/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/toggl-track/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build",
|
||||
"prebuild"
|
||||
]
|
||||
},
|
||||
"nx-release-publish": {
|
||||
"options": {
|
||||
"packageRoot": "dist/{projectRoot}"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"executor": "@nx/eslint:lint",
|
||||
"outputs": [
|
||||
"{options.outputFile}"
|
||||
]
|
||||
},
|
||||
"prebuild": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"cwd": "packages/pieces/community/toggl-track",
|
||||
"command": "bun install --no-save --silent"
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.": "Toggl Track ist eine Zeiterfassungs-Anwendung, mit der Benutzer ihre täglichen Aktivitäten auf verschiedenen Plattformen verfolgen können.",
|
||||
"\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ": "\n 1. Loggen Sie sich in Ihr Toggl Track Konto ein.\n 2. Gehen Sie zu Ihren **Profileinstellungen**.\n 3. Finde das **API Token** unten auf der Seite und kopiere es.\n ",
|
||||
"Create Client": "Kunde erstellen",
|
||||
"Create Project": "Projekt erstellen",
|
||||
"Create Task": "Aufgabe erstellen",
|
||||
"Create Tag": "Tag erstellen",
|
||||
"Create Time Entry": "Erstelle Zeiteintrag",
|
||||
"Start Time Entry": "Startzeit Eintrag",
|
||||
"Stop Time Entry": "Zeiteingabe stoppen",
|
||||
"Find User": "Benutzer finden",
|
||||
"Find Project": "Projekt finden",
|
||||
"Find Task": "Aufgabe finden",
|
||||
"Find Client": "Kunde finden",
|
||||
"Find Tag": "Such-Tag",
|
||||
"Find Time Entry": "Zeiteintrag finden",
|
||||
"Create a new client in a workspace.": "Erstellen Sie einen neuen Client in einem Arbeitsbereich.",
|
||||
"Create a new project in a workspace.": "Erstellen Sie ein neues Projekt in einem Arbeitsbereich.",
|
||||
"Create a new task under a project.": "Erstellen Sie eine neue Aufgabe unter einem Projekt.",
|
||||
"Create a new tag in the workspace.": "Erstellen Sie einen neuen Tag im Arbeitsbereich.",
|
||||
"Create a new time entry in a workspace.": "Erstellen Sie einen neuen Zeiteintrag in einem Arbeitsbereich.",
|
||||
"Start a new time entry (live timer).": "Starte einen neuen Zeiteintrag (Live-Timer).",
|
||||
"Stops the currently running time entry.": "Stoppt den aktuell laufenden Zeiteintrag.",
|
||||
"Find a user in a workspace by their name or email.": "Finden Sie einen Benutzer in einem Arbeitsbereich mit dessen Namen oder E-Mail.",
|
||||
"Find a project in a workspace by its name.": "Suchen Sie ein Projekt in einem Arbeitsbereich mit seinem Namen.",
|
||||
"Find a task by name and status.": "Finde eine Aufgabe nach Namen und Status.",
|
||||
"Find a client by name or status in a workspace.": "Finden Sie einen Client nach Namen oder Status in einem Arbeitsbereich.",
|
||||
"Find a tag by name in a workspace.": "Finde einen Tag nach Namen in einem Arbeitsbereich.",
|
||||
"Find time entries by description.": "Finde Zeiteinträge nach Beschreibung.",
|
||||
"Workspace": "Arbeitsbereich",
|
||||
"Client Name": "Kundenname",
|
||||
"External Reference": "Externe Referenz",
|
||||
"Notes": "Notizen",
|
||||
"Project Name": "Projekt Name",
|
||||
"Client": "Kunde",
|
||||
"Private": "Privat",
|
||||
"Billable": "Abrechenbar",
|
||||
"Is Template": "Ist Vorlage",
|
||||
"Project Color": "Projekt-Farbe",
|
||||
"Active": "Aktiv",
|
||||
"Auto Estimates": "Auto Schätzungen",
|
||||
"Estimated Hours": "Geschätzte Stunden",
|
||||
"Hourly Rate": "Stundensatz",
|
||||
"Fixed Fee": "Feste Gebühr",
|
||||
"Start Date": "Startdatum",
|
||||
"End Date": "Enddatum",
|
||||
"Project": "Projekt",
|
||||
"Task Name": "Aufgabenname",
|
||||
"Estimated Seconds": "Geschätzte Sekunden",
|
||||
"Creator User ID": "Ersteller Benutzer-ID",
|
||||
"Tag Name": "Tag-Name",
|
||||
"Description": "Beschreibung",
|
||||
"Start Time": "Startzeit",
|
||||
"Duration (in seconds)": "Dauer (in Sekunden)",
|
||||
"Stop Time": "Stopzeit",
|
||||
"Task": "Aufgabe",
|
||||
"Tags": "Tags",
|
||||
"Organization": "Organisation",
|
||||
"Name or Email": "Name oder E-Mail",
|
||||
"Active Users Only": "Nur aktive Benutzer",
|
||||
"Page Number": "Seitennummer",
|
||||
"Items Per Page": "Artikel pro Seite",
|
||||
"Project Status": "Projektstatus",
|
||||
"Billable Only": "Nur abrechenbar",
|
||||
"My Projects Only": "Nur meine Projekte",
|
||||
"Templates Only": "Nur Vorlagen",
|
||||
"Project ID": "Projekt-ID",
|
||||
"Status": "Status",
|
||||
"Sort Field": "Sortierfeld",
|
||||
"Sort Order": "Sortierung",
|
||||
"Description Contains": "Beschreibung enthält",
|
||||
"Before Date": "Vor Datum",
|
||||
"Since Timestamp": "Seit Zeitstempel",
|
||||
"Include Meta Data": "Meta-Daten einbeziehen",
|
||||
"Include Sharing": "Teilen hinzufügen",
|
||||
"The workspace to operate in.": "Der Arbeitsbereich, in dem gearbeitet werden soll.",
|
||||
"The name of the new client.": "Der Name des neuen Clients.",
|
||||
"External reference to link this client with external systems.": "Externe Referenz, um diesen Client mit externen Systemen zu verknüpfen.",
|
||||
"Notes for the client.": "Notizen für den Client.",
|
||||
"The name of the new project.": "Der Name des neuen Projekts.",
|
||||
"The client to associate the project with.": "Der Client, dem das Projekt zugeordnet werden soll.",
|
||||
"Whether the project is private or not.": "Ob das Projekt privat ist oder nicht.",
|
||||
"Whether the project is billable. (Premium feature)": "Ob das Projekt in der Rechnung ist. (Premium-Funktion)",
|
||||
"Whether the project is a template. (Premium feature)": "Ob das Projekt eine Vorlage ist. (Premium-Funktion)",
|
||||
"External reference to link this project with external systems.": "Externe Referenz, um dieses Projekt mit externen Systemen zu verbinden.",
|
||||
"Project color in hex format (e.g. #ff0000).": "Projektfarbe im Hex-Format (z.B. #ff0000).",
|
||||
"Whether the project is active.": "Ob das Projekt aktiv ist.",
|
||||
"Whether estimates are based on task hours. (Premium feature)": "Ob die Schätzungen auf Arbeitszeiten basieren. (Premium-Funktion)",
|
||||
"Estimated hours for the project. (Premium feature)": "Geschätzte Stunden für das Projekt. (Premium-Funktion)",
|
||||
"Hourly rate for the project. (Premium feature)": "Stundensatz für das Projekt. (Premium-Funktion)",
|
||||
"Project fixed fee. (Premium feature)": "Feste Projektgebühr. (Premium-Funktion)",
|
||||
"Start date of project timeframe (YYYY-MM-DD).": "Startdatum des Projektzeitraums (YYY-MM-DD).",
|
||||
"End date of project timeframe (YYYY-MM-DD).": "Enddatum des Projektzeitraums (YYY-MM-DD).",
|
||||
"The project to create the task under.": "Das Projekt zur Erstellung der Aufgabe unter.",
|
||||
"The name of the new task.": "Der Name der neuen Aufgabe.",
|
||||
"The estimated time for the task in seconds.": "Die geschätzte Zeit für die Aufgabe in Sekunden.",
|
||||
"External reference to link this task with external systems.": "Externe Referenz, um diese Aufgabe mit externen Systemen zu verbinden.",
|
||||
"Whether the task is active. Use false to mark as done.": "Gibt an, ob die Aufgabe aktiv ist. Verwenden Sie falsch, um sie als erledigt zu markieren.",
|
||||
"Creator ID, if omitted, will use requester user ID.": "Ersteller-ID, falls ausgelassen, wird die Anforderungsbenutzer-ID verwendet.",
|
||||
"The name of the new tag.": "Der Name des neuen Tags.",
|
||||
"The start time of the entry in UTC.": "Die Startzeit des Eintrags in UTC.",
|
||||
"Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.": "Dauer des Zeiteintrags. Verwenden Sie eine negative Zahl (z.B. -1), um einen laufenden Timer zu starten.",
|
||||
"The stop time of the entry in UTC. Can be omitted if still running.": "Die Stoppzeit des Eintrags in UTC. Kann weggelassen werden, wenn es noch läuft.",
|
||||
"The task to select.": "Die Aufgabe zu wählen.",
|
||||
"The project to associate the time entry with.": "Das Projekt, dem der Zeiteintrag zugeordnet werden soll.",
|
||||
"Tags to associate with the time entry. You can create new tags by typing them.": "Schlagwörter, die mit dem Zeiteintrag verknüpft werden sollen. Sie können neue Schlagwörter erstellen, indem Sie sie eingeben.",
|
||||
"Whether the time entry is marked as billable.": "Gibt an, ob der Zeiteintrag als billabile markiert ist.",
|
||||
"Time entry creator ID. If omitted, will use requester user ID.": "Erstellungs-ID für Zeiteinträge. Wenn weggelassen, wird die Benutzer-ID der Anforderung verwendet.",
|
||||
"The organization to operate in.": "Die Organisation, in der gearbeitet werden soll.",
|
||||
"The name or email of the user to find.": "Der Name oder die E-Mail des zu findenden Benutzers.",
|
||||
"Return only active users.": "Nur aktive Benutzer zurückgeben.",
|
||||
"Page number for pagination.": "Seitenzahl für Seitenzahl.",
|
||||
"Number of items per page.": "Anzahl der Elemente pro Seite.",
|
||||
"The name of the project to find.": "Der Name des zu findenden Projekts.",
|
||||
"Return active, inactive, or both types of projects.": "Rückgabe aktiv, inaktiv oder beide Arten von Projekten.",
|
||||
"Return only billable projects.": "Nur abrechnungsfähige Projekte zurückgeben.",
|
||||
"Get only projects assigned to the current user.": "Holen Sie sich nur Projekte, die dem aktuellen Benutzer zugewiesen sind.",
|
||||
"Return only template projects.": "Nur Vorlagen zurückgeben.",
|
||||
"Number of items per page (max 200).": "Anzahl der Elemente pro Seite (max 200).",
|
||||
"Search by task name.": "Suche nach Aufgabennamen.",
|
||||
"Filter by project ID.": "Filtern nach Projekt-ID.",
|
||||
"Filter by active state.": "Nach aktivem Status filtern.",
|
||||
"Number of items per page (default 50).": "Anzahl der Elemente pro Seite (Standard 50).",
|
||||
"Field used for sorting.": "Feld zum Sortieren verwendet.",
|
||||
"Sort order.": "Sortierung.",
|
||||
"Smallest boundary date (YYYY-MM-DD).": "Kleinstes Begrenzungsdatum (JJJJ-MM-TD).",
|
||||
"Biggest boundary date (YYYY-MM-DD).": "Größtes Begrenzungsdatum (JJJJ-MM-DD).",
|
||||
"The name of the client to find (case-insensitive).": "Der Name des zu findenden Clients (Groß- und Kleinschreibung).",
|
||||
"Filter clients by their status.": "Klienten nach ihrem Status filtern.",
|
||||
"Search by tag name.": "Nach Tag-Namen suchen.",
|
||||
"Search for time entries containing this text in description.": "Suchen Sie nach Zeiteinträgen, die diesen Text in der Beschreibung enthalten.",
|
||||
"Get entries from start_date (YYYY-MM-DD or RFC3339 format).": "Erhalten Sie Einträge aus dem start_date (YYYY-MM-DD oder RFC3339-Format).",
|
||||
"Get entries until end_date (YYYY-MM-DD or RFC3339 format).": "Erhalten Sie Einträge bis zum End_date (YYYY-MM-DD oder RFC3339-Format).",
|
||||
"Get entries before given date (YYYY-MM-DD or RFC3339 format).": "Erhalten Sie Einträge vor dem angegebenen Datum (YYYY-MM-DD oder RFC3339-Format).",
|
||||
"Get entries modified since this UNIX timestamp.": "Bekomme Einträge seit diesem UNIX Zeitstempel.",
|
||||
"Should the response contain data for meta entities.": "Sollte die Antwort Daten für Meta-Entitäten enthalten.",
|
||||
"Include sharing details in the response.": "Teilungsdetails in die Antwort einbeziehen.",
|
||||
"Inactive": "Inaktiv",
|
||||
"Both": "Beides",
|
||||
"Name": "Name",
|
||||
"Created At": "Erstellt am",
|
||||
"Ascending": "Aufsteigend",
|
||||
"Descending": "Absteigend",
|
||||
"Archived": "Archiviert",
|
||||
"New Client": "Neuer Kunde",
|
||||
"New or Updated Workspace": "Neuer oder aktualisierter Arbeitsbereich",
|
||||
"New Project": "Neues Projekt",
|
||||
"New Task": "Neue Aufgabe",
|
||||
"New Time Entry": "Neuer Zeiteintrag",
|
||||
"New Time Entry Started": "Neuer Zeiteintrag gestartet",
|
||||
"New Tag": "Neues Tag",
|
||||
"Fires when a new client is created in a workspace.": "Feuert ab, wenn ein neuer Client in einem Arbeitsbereich erstellt wird.",
|
||||
"Fires when a workspace is created or updated (Toggl only supports workspace updated events).": "Feuert ab, wenn ein Arbeitsbereich erstellt oder aktualisiert wird (Toggl unterstützt nur aktualisierte Ereignisse im Arbeitsbereich).",
|
||||
"Fires when a new project is added.": "Feuer, wenn ein neues Projekt hinzugefügt wird.",
|
||||
"Fires when a new task is created.": "Feuert ab, wenn eine neue Aufgabe erstellt wird.",
|
||||
"Fires when a new time entry is added (with optional project/task filter).": "Feuer, wenn ein neuer Zeiteintrag hinzugefügt wird (mit optionalem Projekt/Aufgabenfilter).",
|
||||
"Fires when a new time entry is started and is currently running.": "Feuert ab, wenn ein neuer Zeiteintrag gestartet wird und gerade läuft.",
|
||||
"Triggers when a new tag is created": "Wird ausgelöst, wenn ein neues Tag erstellt wird",
|
||||
"Markdown": "Markdown",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this w": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test client to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when clients are created and will include:\n- Client ID and details\n- Workspace information\n- Creation timestamp\n- Creator information\n- Client notes and status\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Client created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this": "\n## Einrichten der Anweisungen\n\nUm diesen Trigger zu verwenden, müssen Sie manuell einen Webhook in Ihrem Toggl Track Account erstellen:\n\n### 1. Zugriff auf Toggl Track Webhooks\n- Anmelden bei Ihrem Toggl Track Account\n- Gehen Sie zu **Integrationen > Webhooks** (Admin-Zugriff erforderlich)\n- Klicken Sie auf **\"Webhook\"** oder **\"Erstellen Sie Ihren ersten Webhook\"**\n\n### 2. Konfigurieren Sie den Webhook\n1. **Name**: Geben Sie einen beschreibenden Namen ein (z.B. \"Activepieces New Project\")\n2. **Events**: Wähle **\"Project Created\"** aus der Liste der Ereignisse\n3. **URL Endpunkt**: Fügen Sie diese Webhook-URL ein:\n```text\n{{webhookUrl}}\n```\n4. **Geheimnis**: Geben Sie einen geheimen Schlüssel für Sicherheit ein (optional, aber empfohlen)\n\n### 3. Komplette Einrichtung\n- Klicken Sie auf **\"Add Webhook\"**\n- Toggl Track überprüft Ihren Endpunkt\n- Der Webhook wird in Ihrer Webhooks Liste angezeigt, wenn er bereit\n\n### 4 ist. Verifizierung\n- Ihr Webhook-Status sollte als **\"Bestätigt\" ** (geschieht automatisch)\n- Sie können die **\"Test\"** Option verwenden, um zu überprüfen, ob es funktioniert\n- Erstellen Sie ein Testprojekt, um sicherzustellen, dass die Ereignisse empfangen werden\n\n---\n\n**Anforderungen:**\n- Administratorrechte in Ihrem Toggl Track Arbeitsbereich\n- Limit: 5 Webhooks pro Arbeitsbereichs-Benutzer\n\n**Ereignisdetails:**\nDieser Trigger feuert, wenn Projekte erstellt werden und die Details\n- Projektnummer und Details\n- Arbeitsbereichsinformationen\n- Kundenverband (falls vorhanden)\n- Erstellungszeitstempel\n- Erstellungszeitstempel\n- Projekteinstellungen (Farbe, Farbe, \n - Projekteinstellungen (Farbe, Farbe, abrechnungsfähiger Status, etc.\n\n**Fehlerbehebung:**\n- Wenn der Status **\"Nicht überprüft\"** anzeigt, klicken Sie auf \"Test\", um die Auto-Validierung\n- Wenn der Status **\"Deaktiviert\"**, reaktivieren Sie es aus dem 3-Punkt-Menü\n- Wenn Ereignisse nicht empfangen werden, überprüfen Sie, dass Sie \"Projekt erstellt\" Ereignis\n\n**Anmerkung:** Dieser Trigger verwendet manuelle Webhook-Setup wie von Toggl Track empfohlen. **Validierung erfolgt automatisch** wenn Sie auf \"Test\" klicken oder wenn Toggl den ersten Ping sendet. Der Webhook wird über Ihr Toggl Track-Dashboard verwaltet und nicht über ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webho": "\n## Einrichten der Anweisungen\n\nUm diesen Trigger zu verwenden, müssen Sie manuell einen Webhook in Ihrem Toggl Track Account erstellen:\n\n### 1. Zugriff auf Toggl Track Webhooks\n- Anmelden bei Ihrem Toggl Track Account\n- Gehen Sie zu **Integrationen > Webhooks** (Admin-Zugriff erforderlich)\n- Klicken Sie auf **\"Webhook\"** oder **\"Erstellen Sie Ihren ersten Webhook\"**\n\n### 2. Konfiguriere den Webhook\n1. **Name**: Gib einen beschreibenden Namen ein (z.B. \"Activepieces New Task\")\n2. **Events**: Wähle **\"Aufgabe erstellt\"** aus der Liste der Ereignisse\n3. **URL Endpunkt**: Fügen Sie diese Webhook-URL ein:\n```text\n{{webhookUrl}}\n```\n4. **Geheimnis**: Geben Sie einen geheimen Schlüssel für Sicherheit ein (optional, aber empfohlen)\n\n### 3. Komplette Einrichtung\n- Klicken Sie auf **\"Add Webhook\"**\n- Toggl Track überprüft Ihren Endpunkt\n- Der Webhook wird in Ihrer Webhooks Liste angezeigt, wenn er bereit\n\n### 4 ist. Verifizierung\n- Ihr Webhook-Status sollte als **\"Bestätigt\" ** anzeigen (geschieht automatisch)\n- Sie können die **\"Test\"** Option verwenden, um zu überprüfen, ob es funktioniert\n- Erstellen Sie eine Testaufgabe, um sicherzustellen, dass Ereignisse empfangen werden\n\n---\n\n**Anforderungen:**\n- Administratorrechte in Ihrem Toggl Track Arbeitsbereich\n- Limit: 5 Webhooks pro Arbeitsbereichsbenutzer\n\n**Ereignisdetails:**\nDieser Trigger feuert, wenn Aufgaben erstellt werden und die Details\n- Task-ID und Details\n- Projekt-Assoziation\n- Arbeitsbereichsinformation\n- Erstellungszeitstempel\n- Erstellungsinformationen\n- Aufgabeneinstellungen (geschätzte Zeit, Aufgaben-ID und Details \n - Kalkulation Aformat@@ aktiver Status, etc.\n\n**Hinweis:** Sie können Aufgaben nach Projekt filtern, indem Sie den obigen optionalen Projektfilter verwenden.\n\n**Fehlerbehebung:**\n- Wenn der Status **\"Nicht überprüft\"** anzeigt, klicken Sie auf \"Test\", um die Auto-Validierung\n- Wenn der Status **\"Deaktiviert\"**, reaktivieren Sie es aus dem 3-Punkt-Menü\n- Wenn Ereignisse nicht empfangen werden, überprüfen Sie, dass Sie das \"Task Created\" Ereignis\n\n**Notiz:** Dieser Trigger verwendet manuelle Webhook Setup wie von Toggl Track empfohlen. **Validierung erfolgt automatisch** wenn Sie auf \"Test\" klicken oder wenn Toggl den ersten Ping sendet. Der Webhook wird über Ihr Toggl Track-Dashboard verwaltet und nicht über ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Past": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test time entry to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when time entries are created and will include:\n- Time entry ID and details\n- Start/stop times and duration\n- Project and task associations (if any)\n- Workspace information\n- Description and tags\n- Creator information\n- Billable status\n\n**Note:** You can filter time entries by project and task using the optional filters above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Time entry created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test tag to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tags are created and will include:\n- Tag ID and details\n- Tag name\n- Workspace information\n- Creation timestamp\n- Creator information\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Tag created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n "
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.": "Toggl Track es una aplicación de seguimiento de tiempo que permite a los usuarios rastrear sus actividades diarias en diferentes plataformas.",
|
||||
"\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ": "\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ",
|
||||
"Create Client": "Crear cliente",
|
||||
"Create Project": "Crear proyecto",
|
||||
"Create Task": "Crear tarea",
|
||||
"Create Tag": "Crear etiqueta",
|
||||
"Create Time Entry": "Crear entrada de tiempo",
|
||||
"Start Time Entry": "Hora de inicio",
|
||||
"Stop Time Entry": "Parar entrada de tiempo",
|
||||
"Find User": "Buscar usuario",
|
||||
"Find Project": "Buscar proyecto",
|
||||
"Find Task": "Buscar tarea",
|
||||
"Find Client": "Buscar cliente",
|
||||
"Find Tag": "Buscar Etiqueta",
|
||||
"Find Time Entry": "Encontrar entrada de hora",
|
||||
"Create a new client in a workspace.": "Crear un nuevo cliente en un área de trabajo.",
|
||||
"Create a new project in a workspace.": "Crear un nuevo proyecto en un área de trabajo.",
|
||||
"Create a new task under a project.": "Crear una nueva tarea bajo un proyecto.",
|
||||
"Create a new tag in the workspace.": "Crear una nueva etiqueta en el área de trabajo.",
|
||||
"Create a new time entry in a workspace.": "Crear una nueva entrada de tiempo en un área de trabajo.",
|
||||
"Start a new time entry (live timer).": "Iniciar una nueva entrada de hora (tiempo en vivo).",
|
||||
"Stops the currently running time entry.": "Detiene la entrada de tiempo en ejecución.",
|
||||
"Find a user in a workspace by their name or email.": "Encuentre un usuario en un área de trabajo por su nombre o correo electrónico.",
|
||||
"Find a project in a workspace by its name.": "Encuentre un proyecto en un área de trabajo por su nombre.",
|
||||
"Find a task by name and status.": "Encontrar una tarea por nombre y estado.",
|
||||
"Find a client by name or status in a workspace.": "Encontrar un cliente por nombre o estado en un área de trabajo.",
|
||||
"Find a tag by name in a workspace.": "Encuentra una etiqueta por nombre en un área de trabajo.",
|
||||
"Find time entries by description.": "Buscar entradas de tiempo por descripción.",
|
||||
"Workspace": "Espacio de trabajo",
|
||||
"Client Name": "Nombre del cliente",
|
||||
"External Reference": "Referencia externa",
|
||||
"Notes": "Notas",
|
||||
"Project Name": "Nombre del proyecto",
|
||||
"Client": "Cliente",
|
||||
"Private": "Privado",
|
||||
"Billable": "Facturable",
|
||||
"Is Template": "Es Plantilla",
|
||||
"Project Color": "Color del proyecto",
|
||||
"Active": "Activo",
|
||||
"Auto Estimates": "Auto estimaciones",
|
||||
"Estimated Hours": "Horas estimadas",
|
||||
"Hourly Rate": "Tarifa por hora",
|
||||
"Fixed Fee": "Tarifa fija",
|
||||
"Start Date": "Fecha de inicio",
|
||||
"End Date": "Fecha de fin",
|
||||
"Project": "Projekt",
|
||||
"Task Name": "Nombre de tarea",
|
||||
"Estimated Seconds": "Segundos estimados",
|
||||
"Creator User ID": "ID de usuario creador",
|
||||
"Tag Name": "Nombre de la etiqueta",
|
||||
"Description": "Descripción",
|
||||
"Start Time": "Hora de inicio",
|
||||
"Duration (in seconds)": "Duración (en segundos)",
|
||||
"Stop Time": "Hora de parada",
|
||||
"Task": "Tarea",
|
||||
"Tags": "Etiquetas",
|
||||
"Organization": "Organización",
|
||||
"Name or Email": "Nombre o email",
|
||||
"Active Users Only": "Solo usuarios activos",
|
||||
"Page Number": "Número de página",
|
||||
"Items Per Page": "Elementos por página",
|
||||
"Project Status": "Estado del proyecto",
|
||||
"Billable Only": "Solo facturable",
|
||||
"My Projects Only": "Solo mis proyectos",
|
||||
"Templates Only": "Sólo plantillas",
|
||||
"Project ID": "ID del proyecto",
|
||||
"Status": "Estado",
|
||||
"Sort Field": "Ordenar campo",
|
||||
"Sort Order": "Ordenar",
|
||||
"Description Contains": "Descripción contiene",
|
||||
"Before Date": "Antes de la fecha",
|
||||
"Since Timestamp": "Desde la marca de tiempo",
|
||||
"Include Meta Data": "Incluye Meta Data",
|
||||
"Include Sharing": "Incluye compartir",
|
||||
"The workspace to operate in.": "Espacio de trabajo en el que operar.",
|
||||
"The name of the new client.": "El nombre del nuevo cliente.",
|
||||
"External reference to link this client with external systems.": "Referencia externa para vincular a este cliente con sistemas externos.",
|
||||
"Notes for the client.": "Notas para el cliente.",
|
||||
"The name of the new project.": "El nombre del nuevo proyecto.",
|
||||
"The client to associate the project with.": "El cliente al que asociar el proyecto.",
|
||||
"Whether the project is private or not.": "Si el proyecto es privado o no.",
|
||||
"Whether the project is billable. (Premium feature)": "Si el proyecto es facturable. (característica Premium)",
|
||||
"Whether the project is a template. (Premium feature)": "Si el proyecto es una plantilla. (Característica Premium)",
|
||||
"External reference to link this project with external systems.": "Referencia externa para vincular este proyecto con sistemas externos.",
|
||||
"Project color in hex format (e.g. #ff0000).": "Color del proyecto en formato hexadecimal (ej. #ff0000).",
|
||||
"Whether the project is active.": "Si el proyecto está activo.",
|
||||
"Whether estimates are based on task hours. (Premium feature)": "Si las estimaciones se basan en horas de tareas. (Característica Premium)",
|
||||
"Estimated hours for the project. (Premium feature)": "Horas estimadas para el proyecto. (Característica Premium)",
|
||||
"Hourly rate for the project. (Premium feature)": "Precio por hora para el proyecto. (Característica Premium)",
|
||||
"Project fixed fee. (Premium feature)": "Tarifa fija del proyecto. (Característica Premium)",
|
||||
"Start date of project timeframe (YYYY-MM-DD).": "Fecha de inicio del plazo del proyecto (AAA-MM-DD).",
|
||||
"End date of project timeframe (YYYY-MM-DD).": "Fecha de fin del plazo del proyecto (AAA-MM-DD).",
|
||||
"The project to create the task under.": "El proyecto bajo el que crear la tarea.",
|
||||
"The name of the new task.": "El nombre de la nueva tarea.",
|
||||
"The estimated time for the task in seconds.": "El tiempo estimado para la tarea en segundos.",
|
||||
"External reference to link this task with external systems.": "Referencia externa para vincular esta tarea con sistemas externos.",
|
||||
"Whether the task is active. Use false to mark as done.": "Si la tarea está activa. Use false para marcar como hecho.",
|
||||
"Creator ID, if omitted, will use requester user ID.": "El ID de creador, si se omite, usará el ID de usuario solicitante.",
|
||||
"The name of the new tag.": "El nombre de la nueva etiqueta.",
|
||||
"The start time of the entry in UTC.": "Hora de inicio de la entrada en UTC.",
|
||||
"Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.": "Duración de la entrada de hora. Utilice un número negativo (por ejemplo, -1) para iniciar un temporizador en ejecución.",
|
||||
"The stop time of the entry in UTC. Can be omitted if still running.": "El tiempo de parada de la entrada en UTC. Se puede omitir si se sigue ejecutando.",
|
||||
"The task to select.": "La tarea a seleccionar.",
|
||||
"The project to associate the time entry with.": "El proyecto para asociar la entrada de tiempo.",
|
||||
"Tags to associate with the time entry. You can create new tags by typing them.": "Etiquetas para asociar con la entrada de tiempo. Puedes crear nuevas etiquetas escribiéndolas.",
|
||||
"Whether the time entry is marked as billable.": "Si la entrada de tiempo está marcada como facturable.",
|
||||
"Time entry creator ID. If omitted, will use requester user ID.": "ID del creador de la entrada de tiempo. Si se omite, se utilizará el ID del usuario solicitante.",
|
||||
"The organization to operate in.": "La organización en la que operar.",
|
||||
"The name or email of the user to find.": "El nombre o correo electrónico del usuario a encontrar.",
|
||||
"Return only active users.": "Devolver sólo usuarios activos.",
|
||||
"Page number for pagination.": "Número de página para la paginación.",
|
||||
"Number of items per page.": "Número de elementos por página.",
|
||||
"The name of the project to find.": "El nombre del proyecto a encontrar.",
|
||||
"Return active, inactive, or both types of projects.": "Regresa activa, inactiva o ambos tipos de proyectos.",
|
||||
"Return only billable projects.": "Devolver sólo proyectos facturables.",
|
||||
"Get only projects assigned to the current user.": "Obtener sólo proyectos asignados al usuario actual.",
|
||||
"Return only template projects.": "Devolver sólo proyectos de plantillas.",
|
||||
"Number of items per page (max 200).": "Número de elementos por página (máximo 200).",
|
||||
"Search by task name.": "Buscar por nombre de tarea.",
|
||||
"Filter by project ID.": "Filtrar por ID del proyecto.",
|
||||
"Filter by active state.": "Filtrar por estado activo.",
|
||||
"Number of items per page (default 50).": "Número de elementos por página (por defecto 50).",
|
||||
"Field used for sorting.": "Campo usado para ordenar.",
|
||||
"Sort order.": "Ordenar.",
|
||||
"Smallest boundary date (YYYY-MM-DD).": "La fecha límite más pequeña (AAA-MM-DD).",
|
||||
"Biggest boundary date (YYYY-MM-DD).": "Fecha límite (AAA-MM-DD).",
|
||||
"The name of the client to find (case-insensitive).": "El nombre del cliente a encontrar (mayúsculas y minúsculas).",
|
||||
"Filter clients by their status.": "Filtrar clientes por su estado.",
|
||||
"Search by tag name.": "Buscar por nombre de etiqueta.",
|
||||
"Search for time entries containing this text in description.": "Buscar entradas de tiempo que contengan este texto en la descripción.",
|
||||
"Get entries from start_date (YYYY-MM-DD or RFC3339 format).": "Obtener entradas del formato start_date (formato AAA-MM-DD o RFC3339).",
|
||||
"Get entries until end_date (YYYY-MM-DD or RFC3339 format).": "Obtener entradas hasta el formato end_date (formato AAA-MM-DD o RFC3339).",
|
||||
"Get entries before given date (YYYY-MM-DD or RFC3339 format).": "Obtener entradas antes de la fecha indicada (formato YYYY-MM-DD o RFC3339).",
|
||||
"Get entries modified since this UNIX timestamp.": "Obtener entradas modificadas desde esta marca de tiempo UNIX.",
|
||||
"Should the response contain data for meta entities.": "Si la respuesta contiene datos para las entidades meta.",
|
||||
"Include sharing details in the response.": "Incluye compartir detalles en la respuesta.",
|
||||
"Inactive": "Inactivo",
|
||||
"Both": "Ambos",
|
||||
"Name": "Nombre",
|
||||
"Created At": "Creado el",
|
||||
"Ascending": "Ascendiente",
|
||||
"Descending": "Descendiente",
|
||||
"Archived": "Archivado",
|
||||
"New Client": "Nuevo cliente",
|
||||
"New or Updated Workspace": "Espacio de trabajo nuevo o actualizado",
|
||||
"New Project": "Nuevo proyecto",
|
||||
"New Task": "Nueva tarea",
|
||||
"New Time Entry": "Nueva entrada de hora",
|
||||
"New Time Entry Started": "Nueva entrada de tiempo iniciada",
|
||||
"New Tag": "Nueva etiqueta",
|
||||
"Fires when a new client is created in a workspace.": "Dispara cuando un nuevo cliente es creado en un espacio de trabajo.",
|
||||
"Fires when a workspace is created or updated (Toggl only supports workspace updated events).": "Dispara cuando se crea o actualiza un área de trabajo (Toggl sólo soporta eventos actualizados).",
|
||||
"Fires when a new project is added.": "Dispara cuando se añade un nuevo proyecto.",
|
||||
"Fires when a new task is created.": "Dispara cuando se crea una nueva tarea.",
|
||||
"Fires when a new time entry is added (with optional project/task filter).": "Dispara cuando se añade una nueva entrada de tiempo (con filtro opcional de proyecto/tarea).",
|
||||
"Fires when a new time entry is started and is currently running.": "Dispara cuando se inicia una nueva entrada de tiempo y se está ejecutando actualmente.",
|
||||
"Triggers when a new tag is created": "Dispara cuando se crea una nueva etiqueta",
|
||||
"Markdown": "Markdown",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this w": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test client to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when clients are created and will include:\n- Client ID and details\n- Workspace information\n- Creation timestamp\n- Creator information\n- Client notes and status\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Client created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test project to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when projects are created and will include:\n- Project ID and details\n- Workspace information\n- Client association (if any)\n- Creation timestamp\n- Creator information\n- Project settings (color, billable status, etc.)\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Project created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webho": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test task to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tasks are created and will include:\n- Task ID and details\n- Project association\n- Workspace information\n- Creation timestamp\n- Creator information\n- Task settings (estimated time, active status, etc.)\n\n**Note:** You can filter tasks by project using the optional project filter above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Task created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Past": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test time entry to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when time entries are created and will include:\n- Time entry ID and details\n- Start/stop times and duration\n- Project and task associations (if any)\n- Workspace information\n- Description and tags\n- Creator information\n- Billable status\n\n**Note:** You can filter time entries by project and task using the optional filters above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Time entry created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test tag to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tags are created and will include:\n- Tag ID and details\n- Tag name\n- Workspace information\n- Creation timestamp\n- Creator information\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Tag created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n "
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.": "Toggl Track est une application de suivi du temps qui permet aux utilisateurs de suivre leurs activités quotidiennes sur différentes plateformes.",
|
||||
"\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ": "\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ",
|
||||
"Create Client": "Créer un client",
|
||||
"Create Project": "Créer un projet",
|
||||
"Create Task": "Créer une tâche",
|
||||
"Create Tag": "Créer une étiquette",
|
||||
"Create Time Entry": "Créer une entrée de temps",
|
||||
"Start Time Entry": "Saisie de l'heure de début",
|
||||
"Stop Time Entry": "Saisie de l'heure d'arrêt",
|
||||
"Find User": "Trouver un utilisateur",
|
||||
"Find Project": "Trouver un projet",
|
||||
"Find Task": "Trouver une tâche",
|
||||
"Find Client": "Trouver un client",
|
||||
"Find Tag": "Trouver un Tag",
|
||||
"Find Time Entry": "Rechercher la saisie de l'heure",
|
||||
"Create a new client in a workspace.": "Créer un nouveau client dans un espace de travail.",
|
||||
"Create a new project in a workspace.": "Créer un nouveau projet dans un espace de travail.",
|
||||
"Create a new task under a project.": "Créer une nouvelle tâche dans le cadre d'un projet.",
|
||||
"Create a new tag in the workspace.": "Créer un nouveau tag dans l'espace de travail.",
|
||||
"Create a new time entry in a workspace.": "Créer une nouvelle entrée de temps dans un espace de travail.",
|
||||
"Start a new time entry (live timer).": "Démarrer une nouvelle entrée de temps (minuteur en direct).",
|
||||
"Stops the currently running time entry.": "Arrête l'entrée de temps en cours.",
|
||||
"Find a user in a workspace by their name or email.": "Trouver un utilisateur dans un espace de travail par son nom ou son email.",
|
||||
"Find a project in a workspace by its name.": "Trouver un projet dans un espace de travail par son nom.",
|
||||
"Find a task by name and status.": "Trouver une tâche par nom et par statut.",
|
||||
"Find a client by name or status in a workspace.": "Trouver un client par nom ou statut dans un espace de travail.",
|
||||
"Find a tag by name in a workspace.": "Trouver un tag par nom dans un espace de travail.",
|
||||
"Find time entries by description.": "Rechercher les entrées de temps par description.",
|
||||
"Workspace": "Espace de travail",
|
||||
"Client Name": "Nom du client",
|
||||
"External Reference": "Référence externe",
|
||||
"Notes": "Notes",
|
||||
"Project Name": "Project Name",
|
||||
"Client": "Client",
|
||||
"Private": "Privé",
|
||||
"Billable": "Facturable",
|
||||
"Is Template": "Est un modèle",
|
||||
"Project Color": "Couleur du projet",
|
||||
"Active": "Actif",
|
||||
"Auto Estimates": "Estimations automatiques",
|
||||
"Estimated Hours": "Heures estimées",
|
||||
"Hourly Rate": "Taux horaire",
|
||||
"Fixed Fee": "Frais fixes",
|
||||
"Start Date": "Date de début",
|
||||
"End Date": "Date de fin",
|
||||
"Project": "Projet",
|
||||
"Task Name": "Nom de la tâche",
|
||||
"Estimated Seconds": "Secondes estimées",
|
||||
"Creator User ID": "Identifiant de l'utilisateur du créateur",
|
||||
"Tag Name": "Nom de l'étiquette",
|
||||
"Description": "Libellé",
|
||||
"Start Time": "Start Time",
|
||||
"Duration (in seconds)": "Durée (en secondes)",
|
||||
"Stop Time": "Heure d'arrêt",
|
||||
"Task": "Tâche",
|
||||
"Tags": "Tags",
|
||||
"Organization": "Organisation",
|
||||
"Name or Email": "Nom ou email",
|
||||
"Active Users Only": "Utilisateurs actifs uniquement",
|
||||
"Page Number": "Numéro de page",
|
||||
"Items Per Page": "Éléments par page",
|
||||
"Project Status": "Statut du projet",
|
||||
"Billable Only": "Facturable uniquement",
|
||||
"My Projects Only": "Mes projets uniquement",
|
||||
"Templates Only": "Modèles uniquement",
|
||||
"Project ID": "ID du projet",
|
||||
"Status": "Statut",
|
||||
"Sort Field": "Champ de tri",
|
||||
"Sort Order": "Ordre de tri",
|
||||
"Description Contains": "Description contient",
|
||||
"Before Date": "Avant la date",
|
||||
"Since Timestamp": "Depuis l'horodatage",
|
||||
"Include Meta Data": "Inclure les métadonnées",
|
||||
"Include Sharing": "Inclure le partage",
|
||||
"The workspace to operate in.": "L'espace de travail dans lequel fonctionner.",
|
||||
"The name of the new client.": "Le nom du nouveau client.",
|
||||
"External reference to link this client with external systems.": "Référence externe pour relier ce client à des systèmes externes.",
|
||||
"Notes for the client.": "Notes pour le client.",
|
||||
"The name of the new project.": "Le nom du nouveau projet.",
|
||||
"The client to associate the project with.": "Le client avec lequel associer le projet.",
|
||||
"Whether the project is private or not.": "Si le projet est privé ou non.",
|
||||
"Whether the project is billable. (Premium feature)": "Si le projet est facturable. (fonctionnalité Premium)",
|
||||
"Whether the project is a template. (Premium feature)": "Si le projet est un modèle. (Fonctionnalité Premium)",
|
||||
"External reference to link this project with external systems.": "Référence externe pour relier ce projet à des systèmes externes.",
|
||||
"Project color in hex format (e.g. #ff0000).": "Couleur du projet au format hexadécimal (par exemple #ff0000).",
|
||||
"Whether the project is active.": "Si le projet est actif.",
|
||||
"Whether estimates are based on task hours. (Premium feature)": "Si les estimations sont basées sur les heures de tâche. (fonctionnalité Premium)",
|
||||
"Estimated hours for the project. (Premium feature)": "Heures estimées pour le projet. (Fonctionnalité Premium)",
|
||||
"Hourly rate for the project. (Premium feature)": "Tarif horaire pour le projet. (Fonctionnalité Premium)",
|
||||
"Project fixed fee. (Premium feature)": "Frais fixes du projet. (fonctionnalité Premium)",
|
||||
"Start date of project timeframe (YYYY-MM-DD).": "Date de début du projet (AAAA-MM-JJ).",
|
||||
"End date of project timeframe (YYYY-MM-DD).": "Date de fin du délai du projet (AAAA-MM-JJ).",
|
||||
"The project to create the task under.": "Le projet pour créer la tâche en dessous.",
|
||||
"The name of the new task.": "Le nom de la nouvelle tâche.",
|
||||
"The estimated time for the task in seconds.": "Le temps estimé pour la tâche en secondes.",
|
||||
"External reference to link this task with external systems.": "Référence externe pour relier cette tâche à des systèmes externes.",
|
||||
"Whether the task is active. Use false to mark as done.": "Si la tâche est active. Utilisez false pour marquer comme terminée.",
|
||||
"Creator ID, if omitted, will use requester user ID.": "L'ID du créateur, s'il est omis, utilisera l'ID de l'utilisateur du demandeur.",
|
||||
"The name of the new tag.": "Le nom du nouveau tag.",
|
||||
"The start time of the entry in UTC.": "L'heure de début de l'entrée en UTC.",
|
||||
"Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.": "Durée de l'entrée de temps. Utilisez un nombre négatif (par exemple, -1) pour démarrer un minuteur en cours d'exécution.",
|
||||
"The stop time of the entry in UTC. Can be omitted if still running.": "L'heure d'arrêt de l'entrée en UTC. Peut être omise si toujours en cours d'exécution.",
|
||||
"The task to select.": "La tâche à sélectionner.",
|
||||
"The project to associate the time entry with.": "Le projet avec lequel associer la saisie du temps.",
|
||||
"Tags to associate with the time entry. You can create new tags by typing them.": "Tags à associer à l'entrée de temps. Vous pouvez créer de nouvelles balises en les tapant.",
|
||||
"Whether the time entry is marked as billable.": "Si la saisie de temps est marquée comme facturable.",
|
||||
"Time entry creator ID. If omitted, will use requester user ID.": "ID de créateur de temps. Si omis, utilisera l'identifiant utilisateur du demandeur.",
|
||||
"The organization to operate in.": "L'organisation à opérer.",
|
||||
"The name or email of the user to find.": "Le nom ou l'email de l'utilisateur à trouver.",
|
||||
"Return only active users.": "Ne retourner que les utilisateurs actifs.",
|
||||
"Page number for pagination.": "Numéro de page pour la pagination.",
|
||||
"Number of items per page.": "Nombre d'éléments par page.",
|
||||
"The name of the project to find.": "Le nom du projet à trouver.",
|
||||
"Return active, inactive, or both types of projects.": "Rendre actif, inactif ou les deux types de projets.",
|
||||
"Return only billable projects.": "Renvoyer uniquement les projets facturables.",
|
||||
"Get only projects assigned to the current user.": "Récupère uniquement les projets assignés à l'utilisateur actuel.",
|
||||
"Return only template projects.": "Renvoyer uniquement les projets de modèle.",
|
||||
"Number of items per page (max 200).": "Nombre d'éléments par page (max 200).",
|
||||
"Search by task name.": "Recherche par nom de tâche.",
|
||||
"Filter by project ID.": "Filtrer par ID de projet.",
|
||||
"Filter by active state.": "Filtrer par état actif.",
|
||||
"Number of items per page (default 50).": "Nombre d'éléments par page (par défaut 50).",
|
||||
"Field used for sorting.": "Champ utilisé pour trier.",
|
||||
"Sort order.": "Ordre de tri.",
|
||||
"Smallest boundary date (YYYY-MM-DD).": "Date limite la plus petite (AAAA-MM-JJ).",
|
||||
"Biggest boundary date (YYYY-MM-DD).": "Date limite la plus grande (AAAA-MM-JJ).",
|
||||
"The name of the client to find (case-insensitive).": "Le nom du client à trouver (insensible à la casse).",
|
||||
"Filter clients by their status.": "Filtrer les clients par statut.",
|
||||
"Search by tag name.": "Recherche par nom de tag.",
|
||||
"Search for time entries containing this text in description.": "Rechercher des entrées de temps contenant ce texte dans la description.",
|
||||
"Get entries from start_date (YYYY-MM-DD or RFC3339 format).": "Récupère les entrées à partir de la date de début (format AAAA-MM-JJ ou RFC3339).",
|
||||
"Get entries until end_date (YYYY-MM-DD or RFC3339 format).": "Récupère les entrées jusqu'au format end_date (format AAAA-MM-JJ ou RFC3339).",
|
||||
"Get entries before given date (YYYY-MM-DD or RFC3339 format).": "Obtenir les entrées avant la date donnée (format AAAA-MM-JJ ou RFC3339).",
|
||||
"Get entries modified since this UNIX timestamp.": "Récupère les entrées modifiées depuis cet horodatage UNIX.",
|
||||
"Should the response contain data for meta entities.": "La réponse doit-elle contenir des données pour les méta-entités.",
|
||||
"Include sharing details in the response.": "Inclure les détails de partage dans la réponse.",
|
||||
"Inactive": "Inactif",
|
||||
"Both": "Les deux",
|
||||
"Name": "Nom",
|
||||
"Created At": "Créé le",
|
||||
"Ascending": "Ascendant",
|
||||
"Descending": "Descendant",
|
||||
"Archived": "Archivé",
|
||||
"New Client": "Nouveau client",
|
||||
"New or Updated Workspace": "Nouvel espace de travail ou mis à jour",
|
||||
"New Project": "Nouveau projet",
|
||||
"New Task": "Nouvelle tâche",
|
||||
"New Time Entry": "Nouvelle entrée de temps",
|
||||
"New Time Entry Started": "Nouvelle entrée de temps démarrée",
|
||||
"New Tag": "Nouveau Tag",
|
||||
"Fires when a new client is created in a workspace.": "Déclenche lorsqu'un nouveau client est créé dans un espace de travail.",
|
||||
"Fires when a workspace is created or updated (Toggl only supports workspace updated events).": "Se déclenche lorsqu'un espace de travail est créé ou mis à jour (Toggl ne prend en charge que les événements mis à jour dans l'espace de travail).",
|
||||
"Fires when a new project is added.": "Se déclenche lorsqu'un nouveau projet est ajouté.",
|
||||
"Fires when a new task is created.": "Tire quand une nouvelle tâche est créée.",
|
||||
"Fires when a new time entry is added (with optional project/task filter).": "Se déclenche lorsqu'une nouvelle entrée de temps est ajoutée (avec un filtre projet/tâche optionnel).",
|
||||
"Fires when a new time entry is started and is currently running.": "Tire quand une nouvelle entrée de temps est démarrée et est en cours d'exécution.",
|
||||
"Triggers when a new tag is created": "Déclenche quand un nouveau tag est créé",
|
||||
"Markdown": "Markdown",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this w": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test client to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when clients are created and will include:\n- Client ID and details\n- Workspace information\n- Creation timestamp\n- Creator information\n- Client notes and status\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Client created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test project to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when projects are created and will include:\n- Project ID and details\n- Workspace information\n- Client association (if any)\n- Creation timestamp\n- Creator information\n- Project settings (color, billable status, etc.)\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Project created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webho": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test task to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tasks are created and will include:\n- Task ID and details\n- Project association\n- Workspace information\n- Creation timestamp\n- Creator information\n- Task settings (estimated time, active status, etc.)\n\n**Note:** You can filter tasks by project using the optional project filter above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Task created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Past": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test time entry to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when time entries are created and will include:\n- Time entry ID and details\n- Start/stop times and duration\n- Project and task associations (if any)\n- Workspace information\n- Description and tags\n- Creator information\n- Billable status\n\n**Note:** You can filter time entries by project and task using the optional filters above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Time entry created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test tag to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tags are created and will include:\n- Tag ID and details\n- Tag name\n- Workspace information\n- Creation timestamp\n- Creator information\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Tag created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n "
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.": "Toggl Trackは、ユーザーがさまざまなプラットフォームで毎日のアクティビティを追跡できるタイムトラッキングアプリケーションです。",
|
||||
"\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ": "\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ",
|
||||
"Create Client": "クライアントを作成",
|
||||
"Create Project": "プロジェクトを作成",
|
||||
"Create Task": "タスクを作成",
|
||||
"Create Tag": "タグを作成",
|
||||
"Create Time Entry": "タイムエントリを作成",
|
||||
"Start Time Entry": "開始時間",
|
||||
"Stop Time Entry": "タイムエントリを停止",
|
||||
"Find User": "ユーザーを検索",
|
||||
"Find Project": "プロジェクトを検索",
|
||||
"Find Task": "タスクを検索",
|
||||
"Find Client": "クライアントを検索",
|
||||
"Find Tag": "タグを検索",
|
||||
"Find Time Entry": "タイムエントリを検索",
|
||||
"Create a new client in a workspace.": "ワークスペースに新しいクライアントを作成します。",
|
||||
"Create a new project in a workspace.": "ワークスペースに新しいプロジェクトを作成します。",
|
||||
"Create a new task under a project.": "プロジェクトの下に新しいタスクを作成します。",
|
||||
"Create a new tag in the workspace.": "ワークスペースに新しいタグを作成します。",
|
||||
"Create a new time entry in a workspace.": "ワークスペースに新しいタイムエントリを作成します。",
|
||||
"Start a new time entry (live timer).": "新しいタイムエントリ(ライブタイマー)を開始します。",
|
||||
"Stops the currently running time entry.": "現在実行中のタイムエントリを停止します。",
|
||||
"Find a user in a workspace by their name or email.": "ワークスペースのユーザー名またはメールアドレスで検索します。",
|
||||
"Find a project in a workspace by its name.": "ワークスペース内のプロジェクトをその名前で検索します。",
|
||||
"Find a task by name and status.": "タスクを名前とステータスで検索します。",
|
||||
"Find a client by name or status in a workspace.": "ワークスペースの名前またはステータスでクライアントを検索します。",
|
||||
"Find a tag by name in a workspace.": "ワークスペース内の名前でタグを検索します。",
|
||||
"Find time entries by description.": "説明で時間の項目を検索します。",
|
||||
"Workspace": "ワークスペース",
|
||||
"Client Name": "クライアント名",
|
||||
"External Reference": "外部参照",
|
||||
"Notes": "メモ",
|
||||
"Project Name": "プロジェクト名",
|
||||
"Client": "クライアント",
|
||||
"Private": "非公開",
|
||||
"Billable": "請求可能",
|
||||
"Is Template": "テンプレート",
|
||||
"Project Color": "プロジェクトの色",
|
||||
"Active": "有効",
|
||||
"Auto Estimates": "自動評価",
|
||||
"Estimated Hours": "推定時間",
|
||||
"Hourly Rate": "1時間あたりのレート",
|
||||
"Fixed Fee": "固定手数料",
|
||||
"Start Date": "開始日",
|
||||
"End Date": "終了日",
|
||||
"Project": "プロジェクト",
|
||||
"Task Name": "タスク名",
|
||||
"Estimated Seconds": "推定秒",
|
||||
"Creator User ID": "クリエイターユーザーID",
|
||||
"Tag Name": "タグ名",
|
||||
"Description": "Description",
|
||||
"Start Time": "開始時刻",
|
||||
"Duration (in seconds)": "期間 (秒)",
|
||||
"Stop Time": "停止時間",
|
||||
"Task": "タスク",
|
||||
"Tags": "タグ",
|
||||
"Organization": "組織",
|
||||
"Name or Email": "名前またはメールアドレス",
|
||||
"Active Users Only": "アクティブユーザーのみ",
|
||||
"Page Number": "ページ番号",
|
||||
"Items Per Page": "1ページあたりのアイテム",
|
||||
"Project Status": "プロジェクトの状態",
|
||||
"Billable Only": "請求可能のみ",
|
||||
"My Projects Only": "私のプロジェクトのみ",
|
||||
"Templates Only": "テンプレートのみ",
|
||||
"Project ID": "プロジェクトID",
|
||||
"Status": "Status",
|
||||
"Sort Field": "ソートフィールド",
|
||||
"Sort Order": "並び順",
|
||||
"Description Contains": "説明",
|
||||
"Before Date": "終了日",
|
||||
"Since Timestamp": "タイムスタンプ以降",
|
||||
"Include Meta Data": "メタデータを含める",
|
||||
"Include Sharing": "共有を含める",
|
||||
"The workspace to operate in.": "動作するワークスペース。",
|
||||
"The name of the new client.": "新規クライアントの名前",
|
||||
"External reference to link this client with external systems.": "このクライアントを外部システムとリンクする外部参照。",
|
||||
"Notes for the client.": "クライアントのためのメモ。",
|
||||
"The name of the new project.": "新規プロジェクトの名前。",
|
||||
"The client to associate the project with.": "プロジェクトを関連付けるクライアント。",
|
||||
"Whether the project is private or not.": "プロジェクトが非公開であるかどうか。",
|
||||
"Whether the project is billable. (Premium feature)": "プロジェクトが課金可能かどうか。(プレミアム機能)",
|
||||
"Whether the project is a template. (Premium feature)": "プロジェクトがテンプレートかどうか。(プレミアム機能)",
|
||||
"External reference to link this project with external systems.": "このプロジェクトを外部システムとリンクするための外部参照。",
|
||||
"Project color in hex format (e.g. #ff0000).": "16 進形式のプロジェクトの色(例:#ff0000)",
|
||||
"Whether the project is active.": "プロジェクトがアクティブかどうか。",
|
||||
"Whether estimates are based on task hours. (Premium feature)": "見積もりがタスク時間に基づいているかどうか。(プレミアム機能)",
|
||||
"Estimated hours for the project. (Premium feature)": "プロジェクトの推定時間 (プレミアム機能)",
|
||||
"Hourly rate for the project. (Premium feature)": "プロジェクトの時間ごとの料金(プレミアム機能)",
|
||||
"Project fixed fee. (Premium feature)": "プロジェクトの固定料金。(プレミアム機能)",
|
||||
"Start date of project timeframe (YYYY-MM-DD).": "プロジェクト開始日 (YYYY-MM-DD)",
|
||||
"End date of project timeframe (YYYY-MM-DD).": "プロジェクトの終了日時 (YYYY-MM-DD)",
|
||||
"The project to create the task under.": "下にタスクを作成するプロジェクト。",
|
||||
"The name of the new task.": "新しいタスクの名前",
|
||||
"The estimated time for the task in seconds.": "タスクの推定時間を秒単位で指定します。",
|
||||
"External reference to link this task with external systems.": "このタスクを外部システムとリンクするための外部参照。",
|
||||
"Whether the task is active. Use false to mark as done.": "タスクがアクティブかどうか。完了としてマークするにはfalseを使用します。",
|
||||
"Creator ID, if omitted, will use requester user ID.": "作成者IDは省略すると要求者のユーザIDを使用します。",
|
||||
"The name of the new tag.": "新しいタグの名前。",
|
||||
"The start time of the entry in UTC.": "UTCのエントリの開始時刻。",
|
||||
"Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.": "タイムエントリの継続時間。負の数字(例:-1)を使用して実行中のタイマーを開始します。",
|
||||
"The stop time of the entry in UTC. Can be omitted if still running.": "UTCのエントリの停止時刻。まだ実行中の場合は省略できます。",
|
||||
"The task to select.": "選択するタスク。",
|
||||
"The project to associate the time entry with.": "タイムエントリを関連付けるプロジェクト",
|
||||
"Tags to associate with the time entry. You can create new tags by typing them.": "時間項目に関連付けるタグ。新しいタグを作成するには、それらを入力します。",
|
||||
"Whether the time entry is marked as billable.": "タイムエントリが請求可能としてマークされているかどうか。",
|
||||
"Time entry creator ID. If omitted, will use requester user ID.": "タイムエントリ作成者ID。省略すると、リクエスターのユーザー ID が使用されます。",
|
||||
"The organization to operate in.": "運営する組織。",
|
||||
"The name or email of the user to find.": "検索するユーザーの名前または電子メール。",
|
||||
"Return only active users.": "アクティブなユーザーのみを返します。",
|
||||
"Page number for pagination.": "ページネーションのページ番号です。",
|
||||
"Number of items per page.": "ページあたりのアイテム数。",
|
||||
"The name of the project to find.": "検索するプロジェクトの名前。",
|
||||
"Return active, inactive, or both types of projects.": "アクティブなプロジェクト、非アクティブなプロジェクト、または両方のタイプを返します。",
|
||||
"Return only billable projects.": "請求可能なプロジェクトのみを返します。",
|
||||
"Get only projects assigned to the current user.": "現在のユーザーに割り当てられたプロジェクトのみを取得します。",
|
||||
"Return only template projects.": "テンプレートプロジェクトのみを返します。",
|
||||
"Number of items per page (max 200).": "Number of items per page (max 200).",
|
||||
"Search by task name.": "タスク名で検索します。",
|
||||
"Filter by project ID.": "プロジェクト ID で絞り込みます。",
|
||||
"Filter by active state.": "アクティブ状態でフィルタリングします。",
|
||||
"Number of items per page (default 50).": "Number of items per page (default 50).",
|
||||
"Field used for sorting.": "ソートに使用されるフィールド",
|
||||
"Sort order.": "並び順.",
|
||||
"Smallest boundary date (YYYY-MM-DD).": "最小境界日付 (YYYY-MM-DD).",
|
||||
"Biggest boundary date (YYYY-MM-DD).": "最大境界日付 (YYYY-MM-DD)",
|
||||
"The name of the client to find (case-insensitive).": "検索するクライアントの名前 (大文字小文字を区別しません)。",
|
||||
"Filter clients by their status.": "ステータスでクライアントを絞り込みます。",
|
||||
"Search by tag name.": "タグ名で検索",
|
||||
"Search for time entries containing this text in description.": "説明にこのテキストを含む時間項目を検索します。",
|
||||
"Get entries from start_date (YYYY-MM-DD or RFC3339 format).": "start_date (YYYY-MM-DD または RFC3339 形式) からエントリを取得します。",
|
||||
"Get entries until end_date (YYYY-MM-DD or RFC3339 format).": "エントリを end_date (YYYY-MM-DD または RFC3339 形式) まで取得します。",
|
||||
"Get entries before given date (YYYY-MM-DD or RFC3339 format).": "与えられた日付(YYYY-MM-DDまたはRFC3339形式)の前にエントリを取得します。",
|
||||
"Get entries modified since this UNIX timestamp.": "この UNIX タイムスタンプ以降に変更されたエントリを取得します。",
|
||||
"Should the response contain data for meta entities.": "応答にメタエンティティのデータが含まれている必要があります。",
|
||||
"Include sharing details in the response.": "回答に共有の詳細を含めます。",
|
||||
"Inactive": "非アクティブ",
|
||||
"Both": "両方とも",
|
||||
"Name": "名前",
|
||||
"Created At": "作成日時",
|
||||
"Ascending": "昇順",
|
||||
"Descending": "降順",
|
||||
"Archived": "アーカイブ済み",
|
||||
"New Client": "新規クライアント",
|
||||
"New or Updated Workspace": "新規または更新されたワークスペース",
|
||||
"New Project": "新規プロジェクト",
|
||||
"New Task": "新しいタスク",
|
||||
"New Time Entry": "新しい時間入力",
|
||||
"New Time Entry Started": "新しい時間入力を開始しました",
|
||||
"New Tag": "新しいタグ",
|
||||
"Fires when a new client is created in a workspace.": "ワークスペースに新しいクライアントが作成されたときに発生します。",
|
||||
"Fires when a workspace is created or updated (Toggl only supports workspace updated events).": "ワークスペースが作成または更新されたときに発生します(Toggl はワークスペースの更新イベントのみをサポートします)。",
|
||||
"Fires when a new project is added.": "新規プロジェクトが追加されたときに発生します。",
|
||||
"Fires when a new task is created.": "新しいタスクが作成されたときに発生します。",
|
||||
"Fires when a new time entry is added (with optional project/task filter).": "新しいタイムエントリが追加されたときに発生します(オプションのプロジェクト/タスクフィルタ付き)。",
|
||||
"Fires when a new time entry is started and is currently running.": "新しいタイムエントリが開始され、現在実行中であるときに発生します。",
|
||||
"Triggers when a new tag is created": "新しいタグが作成されたときにトリガーします",
|
||||
"Markdown": "Markdown",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this w": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test client to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when clients are created and will include:\n- Client ID and details\n- Workspace information\n- Creation timestamp\n- Creator information\n- Client notes and status\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Client created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test project to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when projects are created and will include:\n- Project ID and details\n- Workspace information\n- Client association (if any)\n- Creation timestamp\n- Creator information\n- Project settings (color, billable status, etc.)\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Project created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webho": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test task to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tasks are created and will include:\n- Task ID and details\n- Project association\n- Workspace information\n- Creation timestamp\n- Creator information\n- Task settings (estimated time, active status, etc.)\n\n**Note:** You can filter tasks by project using the optional project filter above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Task created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Past": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test time entry to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when time entries are created and will include:\n- Time entry ID and details\n- Start/stop times and duration\n- Project and task associations (if any)\n- Workspace information\n- Description and tags\n- Creator information\n- Billable status\n\n**Note:** You can filter time entries by project and task using the optional filters above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Time entry created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test tag to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tags are created and will include:\n- Tag ID and details\n- Tag name\n- Workspace information\n- Creation timestamp\n- Creator information\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Tag created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n "
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.": "Toggl Track is een tijdregistratie-applicatie waarmee gebruikers hun dagelijkse activiteiten kunnen volgen op verschillende platformen.",
|
||||
"\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ": "\n 1. Log in op uw Toggl Track account.\n 2. Ga naar uw **Profiel instellingen**.\n 3. Vind de **API Token** onderaan de pagina en kopieer het.\n ",
|
||||
"Create Client": "Client aanmaken",
|
||||
"Create Project": "Project aanmaken",
|
||||
"Create Task": "Taak maken",
|
||||
"Create Tag": "Tag aanmaken",
|
||||
"Create Time Entry": "Tijdsinvoer aanmaken",
|
||||
"Start Time Entry": "Start tijd invoer",
|
||||
"Stop Time Entry": "Stop tijdsinvoer",
|
||||
"Find User": "Gebruiker zoeken",
|
||||
"Find Project": "Project zoeken",
|
||||
"Find Task": "Zoek Taak",
|
||||
"Find Client": "Klant zoeken",
|
||||
"Find Tag": "Tag zoeken",
|
||||
"Find Time Entry": "Vind tijdsinvoer",
|
||||
"Create a new client in a workspace.": "Maak een nieuwe client aan in een workspace.",
|
||||
"Create a new project in a workspace.": "Maak een nieuw project in een werkruimte.",
|
||||
"Create a new task under a project.": "Maak een nieuwe taak aan onder een project.",
|
||||
"Create a new tag in the workspace.": "Maak een nieuwe tag in de werkruimte.",
|
||||
"Create a new time entry in a workspace.": "Maak een nieuwe tijdsinvoer in een werkruimte.",
|
||||
"Start a new time entry (live timer).": "Start een nieuw tijdsitem (live timer).",
|
||||
"Stops the currently running time entry.": "Stopt de huidige tijd invoer.",
|
||||
"Find a user in a workspace by their name or email.": "Zoek een gebruiker in een werkruimte via hun naam of e-mail.",
|
||||
"Find a project in a workspace by its name.": "Zoek een project in een werkruimte op zijn naam.",
|
||||
"Find a task by name and status.": "Zoek een taak op naam en status.",
|
||||
"Find a client by name or status in a workspace.": "Zoek een client op naam of status in een werkruimte.",
|
||||
"Find a tag by name in a workspace.": "Zoek een tag op naam in een werkruimte.",
|
||||
"Find time entries by description.": "Vind tijdregistraties per beschrijving.",
|
||||
"Workspace": "werkruimte",
|
||||
"Client Name": "Naam klant",
|
||||
"External Reference": "Externe referentie",
|
||||
"Notes": "Opmerkingen",
|
||||
"Project Name": "Projectnaam",
|
||||
"Client": "Klant",
|
||||
"Private": "Privé",
|
||||
"Billable": "Factureerbaar",
|
||||
"Is Template": "Is sjabloon",
|
||||
"Project Color": "Project kleur",
|
||||
"Active": "Actief",
|
||||
"Auto Estimates": "Automatische ramingen",
|
||||
"Estimated Hours": "Geschatte uren",
|
||||
"Hourly Rate": "Tarief per uur",
|
||||
"Fixed Fee": "Vaste transactiekosten",
|
||||
"Start Date": "Start datum",
|
||||
"End Date": "Eind datum",
|
||||
"Project": "Project",
|
||||
"Task Name": "Taak naam",
|
||||
"Estimated Seconds": "Geschatte Seconden",
|
||||
"Creator User ID": "Aanmaker gebruikers-ID",
|
||||
"Tag Name": "Tag naam",
|
||||
"Description": "Beschrijving",
|
||||
"Start Time": "Starttijd",
|
||||
"Duration (in seconds)": "Duur (in seconden)",
|
||||
"Stop Time": "Stop tijd",
|
||||
"Task": "Opdracht",
|
||||
"Tags": "Labels",
|
||||
"Organization": "Rekening",
|
||||
"Name or Email": "Naam of e-mailadres",
|
||||
"Active Users Only": "Alleen actieve gebruikers",
|
||||
"Page Number": "Pagina Nummer",
|
||||
"Items Per Page": "Items Per pagina",
|
||||
"Project Status": "Project status",
|
||||
"Billable Only": "Alleen factureerbaar",
|
||||
"My Projects Only": "Alleen mijn projecten",
|
||||
"Templates Only": "Alleen sjablonen",
|
||||
"Project ID": "Project ID",
|
||||
"Status": "status",
|
||||
"Sort Field": "Sorteren op veld",
|
||||
"Sort Order": "Sorteren bestelling",
|
||||
"Description Contains": "Beschrijving bevat",
|
||||
"Before Date": "Voor de datum",
|
||||
"Since Timestamp": "Sinds Tijdstempel",
|
||||
"Include Meta Data": "Inclusief Meta-gegevens",
|
||||
"Include Sharing": "Delen meenemen",
|
||||
"The workspace to operate in.": "De werkruimte waar u mee wilt werken.",
|
||||
"The name of the new client.": "De naam van de nieuwe adverteerder.",
|
||||
"External reference to link this client with external systems.": "Externe verwijzing naar deze client naar externe systemen.",
|
||||
"Notes for the client.": "Opmerkingen voor de client.",
|
||||
"The name of the new project.": "De naam van het nieuwe project.",
|
||||
"The client to associate the project with.": "De klant om het project te koppelen.",
|
||||
"Whether the project is private or not.": "Of het project privé is of niet.",
|
||||
"Whether the project is billable. (Premium feature)": "Of het project factureerbaar is. (Premium functie)",
|
||||
"Whether the project is a template. (Premium feature)": "Of het project een sjabloon is. (Premium functie)",
|
||||
"External reference to link this project with external systems.": "Externe verwijzing naar de koppeling van dit project aan externe systemen.",
|
||||
"Project color in hex format (e.g. #ff0000).": "Projectkleur in hexadecimale formaat (bijv. #ff0000).",
|
||||
"Whether the project is active.": "Of het project actief is.",
|
||||
"Whether estimates are based on task hours. (Premium feature)": "Of schattingen zijn gebaseerd op taakuren. (Premium functie)",
|
||||
"Estimated hours for the project. (Premium feature)": "Geschatte uren voor het project. (Premium functie)",
|
||||
"Hourly rate for the project. (Premium feature)": "Ratio per uur voor het project. (Premium functie)",
|
||||
"Project fixed fee. (Premium feature)": "Project vaste kosten. (Premium functie)",
|
||||
"Start date of project timeframe (YYYY-MM-DD).": "Startdatum van project periode (YYYY-MM-DDD).",
|
||||
"End date of project timeframe (YYYY-MM-DD).": "Einddatum van het project (YYYY-MM-DDDD).",
|
||||
"The project to create the task under.": "Het project om de taak onder te maken.",
|
||||
"The name of the new task.": "De naam van de nieuwe taak.",
|
||||
"The estimated time for the task in seconds.": "De geschatte tijd voor de taak in seconden.",
|
||||
"External reference to link this task with external systems.": "Externe verwijzing naar de koppeling van deze taak aan externe systemen.",
|
||||
"Whether the task is active. Use false to mark as done.": "Of de taak actief is. Gebruik onwaar om te markeren.",
|
||||
"Creator ID, if omitted, will use requester user ID.": "Maker ID, indien weggelaten, zal aanvrager gebruikers-ID gebruiken.",
|
||||
"The name of the new tag.": "De naam van de nieuwe tag.",
|
||||
"The start time of the entry in UTC.": "De begintijd van de invoer in UTC.",
|
||||
"Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.": "Duur van de tijd invoer. Gebruik een negatief getal (b.v. -1) om een lopende timer te starten.",
|
||||
"The stop time of the entry in UTC. Can be omitted if still running.": "De stoptijd van de invoer in UTC. Kan weggelaten worden als deze nog steeds loopt.",
|
||||
"The task to select.": "De te selecteren taak.",
|
||||
"The project to associate the time entry with.": "Het project om de tijdsinvoer mee te koppelen.",
|
||||
"Tags to associate with the time entry. You can create new tags by typing them.": "Tags om te koppelen aan de tijdvermelding. Je kunt nieuwe tags maken door ze te typen.",
|
||||
"Whether the time entry is marked as billable.": "Of de tijdsvermelding is gemarkeerd als factureerbaar.",
|
||||
"Time entry creator ID. If omitted, will use requester user ID.": "Tijdentry maker ID. Indien weggelaten, zal het gebruiker ID van aanvrager gebruiken.",
|
||||
"The organization to operate in.": "De organisatie om in te werken.",
|
||||
"The name or email of the user to find.": "De naam of het e-mailadres van de gebruiker om te vinden.",
|
||||
"Return only active users.": "Retourneer alleen actieve gebruikers.",
|
||||
"Page number for pagination.": "Paginanummer voor paginering",
|
||||
"Number of items per page.": "Aantal items per pagina.",
|
||||
"The name of the project to find.": "De naam van het project om te vinden.",
|
||||
"Return active, inactive, or both types of projects.": "Retourneer actief, inactief of beide soorten projecten.",
|
||||
"Return only billable projects.": "Factureerbare projecten retourneren.",
|
||||
"Get only projects assigned to the current user.": "Haal alleen projecten op die zijn toegewezen aan de huidige gebruiker.",
|
||||
"Return only template projects.": "Retourneer alleen sjabloonprojecten.",
|
||||
"Number of items per page (max 200).": "Aantal items per pagina (max 200).",
|
||||
"Search by task name.": "Zoeken op taaknaam.",
|
||||
"Filter by project ID.": "Filter op project ID.",
|
||||
"Filter by active state.": "Filter op actieve status.",
|
||||
"Number of items per page (default 50).": "Aantal items per pagina (standaard 50).",
|
||||
"Field used for sorting.": "Veld gebruikt voor sorteren.",
|
||||
"Sort order.": "Sorteer bestelling.",
|
||||
"Smallest boundary date (YYYY-MM-DD).": "Kleinste grensdatum (JJJJ-MM-DDDD).",
|
||||
"Biggest boundary date (YYYY-MM-DD).": "Grootste grensdatum (JJJJ-MM-DDD).",
|
||||
"The name of the client to find (case-insensitive).": "De naam van de klant om te vinden (hoofdlettergevoelig).",
|
||||
"Filter clients by their status.": "Klanten filteren op hun status.",
|
||||
"Search by tag name.": "Zoeken op labelnaam.",
|
||||
"Search for time entries containing this text in description.": "Zoeken naar tijdregistraties die deze tekst bevatten in een beschrijving.",
|
||||
"Get entries from start_date (YYYY-MM-DD or RFC3339 format).": "Verkrijg invoergegevens vanaf startdatum (YYYY-MM-DD of RFC3339 formaat).",
|
||||
"Get entries until end_date (YYYY-MM-DD or RFC3339 format).": "Verkrijg invoergegevens tot einddatum (YYYY-MM-DD of RFC3339 formaat).",
|
||||
"Get entries before given date (YYYY-MM-DD or RFC3339 format).": "Vermeldingen krijgen voor de opgegeven datum (YYYY-MM-DD of RFC3339 formaat).",
|
||||
"Get entries modified since this UNIX timestamp.": "Krijg entries gewijzigd sinds deze UNIX tijdstempel.",
|
||||
"Should the response contain data for meta entities.": "Moet het antwoord gegevens bevatten voor meta entiteiten?",
|
||||
"Include sharing details in the response.": "inclusief delen van details in het antwoord.",
|
||||
"Inactive": "Inactief",
|
||||
"Both": "Allebei",
|
||||
"Name": "Naam",
|
||||
"Created At": "Aangemaakt op",
|
||||
"Ascending": "Oplopend",
|
||||
"Descending": "Aflopend",
|
||||
"Archived": "Gearchiveerd",
|
||||
"New Client": "Nieuwe klant",
|
||||
"New or Updated Workspace": "Nieuwe of bijgewerkte werkruimte",
|
||||
"New Project": "Nieuw project",
|
||||
"New Task": "Nieuwe taak",
|
||||
"New Time Entry": "Nieuwe tijd invoer",
|
||||
"New Time Entry Started": "Nieuwe invoer gestart",
|
||||
"New Tag": "Nieuwe tag",
|
||||
"Fires when a new client is created in a workspace.": "Schiet wanneer een nieuwe client wordt gemaakt in een werkruimte.",
|
||||
"Fires when a workspace is created or updated (Toggl only supports workspace updated events).": "Vuurt wanneer een werkruimte wordt aangemaakt of geüpdatet (Aan/uit ondersteunt alleen bijgewerkte werkruimtes).",
|
||||
"Fires when a new project is added.": "Vuurt wanneer een nieuw project wordt toegevoegd.",
|
||||
"Fires when a new task is created.": "Vuurt af wanneer een nieuwe taak is aangemaakt.",
|
||||
"Fires when a new time entry is added (with optional project/task filter).": "Vuurt wanneer een nieuwe tijdvermelding is toegevoegd (met optioneel project/taakfilter).",
|
||||
"Fires when a new time entry is started and is currently running.": "Vuurt af wanneer een nieuwe tijdsinvoer wordt gestart en momenteel wordt uitgevoerd.",
|
||||
"Triggers when a new tag is created": "Triggert wanneer een nieuwe tag wordt aangemaakt",
|
||||
"Markdown": "Markdown",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this w": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test client to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when clients are created and will include:\n- Client ID and details\n- Workspace information\n- Creation timestamp\n- Creator information\n- Client notes and status\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Client created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test project to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when projects are created and will include:\n- Project ID and details\n- Workspace information\n- Client association (if any)\n- Creation timestamp\n- Creator information\n- Project settings (color, billable status, etc.)\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Project created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webho": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test task to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tasks are created and will include:\n- Task ID and details\n- Project association\n- Workspace information\n- Creation timestamp\n- Creator information\n- Task settings (estimated time, active status, etc.)\n\n**Note:** You can filter tasks by project using the optional project filter above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Task created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Past": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test time entry to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when time entries are created and will include:\n- Time entry ID and details\n- Start/stop times and duration\n- Project and task associations (if any)\n- Workspace information\n- Description and tags\n- Creator information\n- Billable status\n\n**Note:** You can filter time entries by project and task using the optional filters above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Time entry created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test tag to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tags are created and will include:\n- Tag ID and details\n- Tag name\n- Workspace information\n- Creation timestamp\n- Creator information\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Tag created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n "
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.": "Acompanhamento de alternância é um aplicativo de rastreamento de tempo que permite aos usuários rastrear suas atividades diárias em diferentes plataformas.",
|
||||
"\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ": "\n 1. Entre na sua conta de Acompanhamento de Toggl.\n 2. Vá para suas **Configurações de Perfil**.\n 3. Encontre o **API Token** na parte inferior da página e copie-o.\n ",
|
||||
"Create Client": "Criar Cliente",
|
||||
"Create Project": "Criar Projeto",
|
||||
"Create Task": "Criar tarefa",
|
||||
"Create Tag": "Criar Tag",
|
||||
"Create Time Entry": "Criar Registro de Tempo",
|
||||
"Start Time Entry": "Iniciar Tempo De Entrada",
|
||||
"Stop Time Entry": "Lançamento de Tempo Parar",
|
||||
"Find User": "Localizar usuário",
|
||||
"Find Project": "Localizar projeto",
|
||||
"Find Task": "Procurar Tarefa",
|
||||
"Find Client": "Encontrar Cliente",
|
||||
"Find Tag": "Encontrar Etiqueta",
|
||||
"Find Time Entry": "Encontrar Registro de Tempo",
|
||||
"Create a new client in a workspace.": "Criar um novo cliente em um espaço de trabalho.",
|
||||
"Create a new project in a workspace.": "Criar um novo projeto em um espaço de trabalho.",
|
||||
"Create a new task under a project.": "Criar uma nova tarefa sob um projeto.",
|
||||
"Create a new tag in the workspace.": "Criar uma nova tag no espaço de trabalho.",
|
||||
"Create a new time entry in a workspace.": "Criar uma nova entrada de tempo em um espaço de trabalho.",
|
||||
"Start a new time entry (live timer).": "Iniciar uma nova entrada de tempo (tempo ao vivo).",
|
||||
"Stops the currently running time entry.": "Para a entrada de tempo em execução.",
|
||||
"Find a user in a workspace by their name or email.": "Encontrar um usuário em um espaço de trabalho por seu nome ou e-mail.",
|
||||
"Find a project in a workspace by its name.": "Encontre um projeto em um espaço de trabalho pelo seu nome.",
|
||||
"Find a task by name and status.": "Encontre a tarefa por nome e status.",
|
||||
"Find a client by name or status in a workspace.": "Encontre um cliente por nome ou status em um espaço de trabalho.",
|
||||
"Find a tag by name in a workspace.": "Encontrar uma tag por nome em um espaço de trabalho.",
|
||||
"Find time entries by description.": "Encontre entradas de tempo por descrição.",
|
||||
"Workspace": "Workspace",
|
||||
"Client Name": "Nome do Cliente",
|
||||
"External Reference": "Referência externa",
|
||||
"Notes": "Observações",
|
||||
"Project Name": "Nome do Projeto",
|
||||
"Client": "Cliente",
|
||||
"Private": "Privado",
|
||||
"Billable": "Faturável",
|
||||
"Is Template": "É um modelo",
|
||||
"Project Color": "Cor do Projeto",
|
||||
"Active": "Ativo",
|
||||
"Auto Estimates": "Estimativas Automáticas",
|
||||
"Estimated Hours": "Horas Estimadas",
|
||||
"Hourly Rate": "Preço por hora",
|
||||
"Fixed Fee": "Taxa fixa",
|
||||
"Start Date": "Data Inicial",
|
||||
"End Date": "Data de Término",
|
||||
"Project": "Projecto",
|
||||
"Task Name": "Nome da tarefa",
|
||||
"Estimated Seconds": "Segundos estimados",
|
||||
"Creator User ID": "ID do usuário criador",
|
||||
"Tag Name": "Nome do Marcador",
|
||||
"Description": "Descrição",
|
||||
"Start Time": "Hora de início",
|
||||
"Duration (in seconds)": "Duração (em segundos)",
|
||||
"Stop Time": "Parar Tempo",
|
||||
"Task": "Tarefas",
|
||||
"Tags": "Etiquetas",
|
||||
"Organization": "Cliente",
|
||||
"Name or Email": "Nome ou E-mail",
|
||||
"Active Users Only": "Somente Usuários Ativos",
|
||||
"Page Number": "Número da página",
|
||||
"Items Per Page": "Itens por página",
|
||||
"Project Status": "Status do projeto",
|
||||
"Billable Only": "Somente Faturável",
|
||||
"My Projects Only": "Apenas meus projetos",
|
||||
"Templates Only": "Apenas Modelos",
|
||||
"Project ID": "ID do Projeto",
|
||||
"Status": "Estado",
|
||||
"Sort Field": "Classificar Campo",
|
||||
"Sort Order": "Ordem de classificação",
|
||||
"Description Contains": "Descrição contém",
|
||||
"Before Date": "Data anterior",
|
||||
"Since Timestamp": "Desde Timestamp",
|
||||
"Include Meta Data": "Incluir Meta Data",
|
||||
"Include Sharing": "Incluir Compartilhamento",
|
||||
"The workspace to operate in.": "Espaço de trabalho para operar.",
|
||||
"The name of the new client.": "O nome do novo cliente.",
|
||||
"External reference to link this client with external systems.": "Referência externa para ligar este cliente a sistemas externos.",
|
||||
"Notes for the client.": "Notas para o cliente",
|
||||
"The name of the new project.": "O nome do novo projeto.",
|
||||
"The client to associate the project with.": "O cliente ao qual associar o projeto.",
|
||||
"Whether the project is private or not.": "Se o projeto é privado ou não.",
|
||||
"Whether the project is billable. (Premium feature)": "Se o projeto é faturável. (Recurso Premium)",
|
||||
"Whether the project is a template. (Premium feature)": "Se o projeto é um modelo. (Recurso Premium)",
|
||||
"External reference to link this project with external systems.": "Referência externa para vincular este projeto com sistemas externos.",
|
||||
"Project color in hex format (e.g. #ff0000).": "Cor do projeto em formato hexadecimal (ex. #ff0000).",
|
||||
"Whether the project is active.": "Se o projeto está ativo.",
|
||||
"Whether estimates are based on task hours. (Premium feature)": "Se as estimativas são baseadas em horas de tarefa. (Recurso Premium)",
|
||||
"Estimated hours for the project. (Premium feature)": "Horas estimadas para o projeto. (Recurso Premium)",
|
||||
"Hourly rate for the project. (Premium feature)": "Preço por hora para o projeto. (Funcionalidade Premium)",
|
||||
"Project fixed fee. (Premium feature)": "Taxa fixa do projeto. (Recurso Premium)",
|
||||
"Start date of project timeframe (YYYY-MM-DD).": "Data de início do período de tempo do projeto (AAAA-MM-DD).",
|
||||
"End date of project timeframe (YYYY-MM-DD).": "Data final do período de tempo do projeto (AAAA-MM-DD).",
|
||||
"The project to create the task under.": "O projeto para criar a tarefa abaixo.",
|
||||
"The name of the new task.": "O nome da nova tarefa.",
|
||||
"The estimated time for the task in seconds.": "O tempo estimado para a tarefa em segundos.",
|
||||
"External reference to link this task with external systems.": "Referência externa para vincular esta tarefa com sistemas externos.",
|
||||
"Whether the task is active. Use false to mark as done.": "Se a tarefa está ativa. Use falso para marcar como concluído.",
|
||||
"Creator ID, if omitted, will use requester user ID.": "ID do Criador, se omitido, usará o ID do usuário solicitante.",
|
||||
"The name of the new tag.": "O nome da nova tag.",
|
||||
"The start time of the entry in UTC.": "O horário de início da postagem em UTC.",
|
||||
"Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.": "Duração da entrada de tempo. Use um número negativo (por exemplo, -1) para iniciar um temporizador de execução.",
|
||||
"The stop time of the entry in UTC. Can be omitted if still running.": "O tempo de parada da entrada em UTC. Pode ser omitido se ainda estiver em execução.",
|
||||
"The task to select.": "A tarefa a selecionar.",
|
||||
"The project to associate the time entry with.": "O projeto ao qual associar o horário da entrada.",
|
||||
"Tags to associate with the time entry. You can create new tags by typing them.": "Etiquetas para associar com a entrada de tempo. Você pode criar novas etiquetas digitando-as.",
|
||||
"Whether the time entry is marked as billable.": "Se a entrada de tempo é marcada como faturável.",
|
||||
"Time entry creator ID. If omitted, will use requester user ID.": "ID do criador de entrada de tempo. Se omitido, usará o ID de usuário solicitante.",
|
||||
"The organization to operate in.": "A organização para operar.",
|
||||
"The name or email of the user to find.": "O nome ou e-mail do usuário a ser encontrado.",
|
||||
"Return only active users.": "Retornar apenas usuários ativos.",
|
||||
"Page number for pagination.": "Número da página para paginação.",
|
||||
"Number of items per page.": "Número de itens por página.",
|
||||
"The name of the project to find.": "O nome do projeto a encontrar.",
|
||||
"Return active, inactive, or both types of projects.": "Retorno ativo, inativo, ou ambos os tipos de projetos.",
|
||||
"Return only billable projects.": "Devolver apenas os projetos faturáveis.",
|
||||
"Get only projects assigned to the current user.": "Obtenha apenas projetos atribuídos ao usuário atual.",
|
||||
"Return only template projects.": "Retornar apenas projetos modelos.",
|
||||
"Number of items per page (max 200).": "Número de itens por página (máx. 200).",
|
||||
"Search by task name.": "Pesquisar por nome da tarefa.",
|
||||
"Filter by project ID.": "Filtrar por ID do projeto.",
|
||||
"Filter by active state.": "Filtrar por estado ativo.",
|
||||
"Number of items per page (default 50).": "Número de itens por página (padrão 50).",
|
||||
"Field used for sorting.": "Campo usado para ordenar.",
|
||||
"Sort order.": "Ordem de classificação.",
|
||||
"Smallest boundary date (YYYY-MM-DD).": "Menor data limite (AAAA-MM-DD).",
|
||||
"Biggest boundary date (YYYY-MM-DD).": "Data limite maior (AAAA-MM-DD).",
|
||||
"The name of the client to find (case-insensitive).": "O nome do cliente a encontrar (diferencia maiúsculas de minúsculas).",
|
||||
"Filter clients by their status.": "Filtrar clientes pelo seu status.",
|
||||
"Search by tag name.": "Pesquisar por nome da tag.",
|
||||
"Search for time entries containing this text in description.": "Procurar por entradas de tempo que contenham este texto na descrição.",
|
||||
"Get entries from start_date (YYYY-MM-DD or RFC3339 format).": "Obtenha entradas do formato start_date (AAAA-MM-DD ou RFC33330).",
|
||||
"Get entries until end_date (YYYY-MM-DD or RFC3339 format).": "Obtenha entradas até o formato end_date (YYYY-MM-DD ou RFC33330).",
|
||||
"Get entries before given date (YYYY-MM-DD or RFC3339 format).": "Obtenha entradas antes de determinada data (formato YYYY-MM-DD ou RFC33330).",
|
||||
"Get entries modified since this UNIX timestamp.": "Obter entradas modificadas desde este horário UNIX.",
|
||||
"Should the response contain data for meta entities.": "Deve a resposta conter dados de entidades meta.",
|
||||
"Include sharing details in the response.": "Incluir detalhes de compartilhamento na resposta.",
|
||||
"Inactive": "Inativo",
|
||||
"Both": "Ambos",
|
||||
"Name": "Nome",
|
||||
"Created At": "Criado em",
|
||||
"Ascending": "Crescente",
|
||||
"Descending": "Decrescente",
|
||||
"Archived": "Arquivado",
|
||||
"New Client": "Novo Cliente",
|
||||
"New or Updated Workspace": "Espaço novo ou atualizado",
|
||||
"New Project": "Novo Projeto",
|
||||
"New Task": "Nova tarefa",
|
||||
"New Time Entry": "Novo Registro de Tempo",
|
||||
"New Time Entry Started": "Nova Entrada de Tempo Iniciada",
|
||||
"New Tag": "Nova Etiqueta",
|
||||
"Fires when a new client is created in a workspace.": "Cura quando um novo cliente é criado em um espaço de trabalho.",
|
||||
"Fires when a workspace is created or updated (Toggl only supports workspace updated events).": "Atira quando um espaço de trabalho é criado ou atualizado (alternância suporta apenas eventos atualizados na área de trabalho).",
|
||||
"Fires when a new project is added.": "aciona quando um novo projeto é adicionado.",
|
||||
"Fires when a new task is created.": "Atira quando uma nova tarefa é criada.",
|
||||
"Fires when a new time entry is added (with optional project/task filter).": "Atira quando uma nova entrada de tempo é adicionada (com filtro opcional de projeto/tarefa).",
|
||||
"Fires when a new time entry is started and is currently running.": "Atira quando uma nova entrada de tempo é iniciada e está atualmente em execução.",
|
||||
"Triggers when a new tag is created": "Dispara quando uma nova tag é criada",
|
||||
"Markdown": "Markdown",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this w": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test client to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when clients are created and will include:\n- Client ID and details\n- Workspace information\n- Creation timestamp\n- Creator information\n- Client notes and status\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Client created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test project to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when projects are created and will include:\n- Project ID and details\n- Workspace information\n- Client association (if any)\n- Creation timestamp\n- Creator information\n- Project settings (color, billable status, etc.)\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Project created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webho": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test task to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tasks are created and will include:\n- Task ID and details\n- Project association\n- Workspace information\n- Creation timestamp\n- Creator information\n- Task settings (estimated time, active status, etc.)\n\n**Note:** You can filter tasks by project using the optional project filter above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Task created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Past": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test time entry to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when time entries are created and will include:\n- Time entry ID and details\n- Start/stop times and duration\n- Project and task associations (if any)\n- Workspace information\n- Description and tags\n- Creator information\n- Billable status\n\n**Note:** You can filter time entries by project and task using the optional filters above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Time entry created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test tag to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tags are created and will include:\n- Tag ID and details\n- Tag name\n- Workspace information\n- Creation timestamp\n- Creator information\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Tag created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n "
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.": "Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.",
|
||||
"\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ": "\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ",
|
||||
"Create Client": "Create Client",
|
||||
"Create Project": "Create Project",
|
||||
"Create Task": "Create Task",
|
||||
"Create Tag": "Create Tag",
|
||||
"Create Time Entry": "Create Time Entry",
|
||||
"Start Time Entry": "Start Time Entry",
|
||||
"Stop Time Entry": "Stop Time Entry",
|
||||
"Find User": "Find User",
|
||||
"Find Project": "Find Project",
|
||||
"Find Task": "Find Task",
|
||||
"Find Client": "Find Client",
|
||||
"Find Tag": "Find Tag",
|
||||
"Find Time Entry": "Find Time Entry",
|
||||
"Create a new client in a workspace.": "Create a new client in a workspace.",
|
||||
"Create a new project in a workspace.": "Create a new project in a workspace.",
|
||||
"Create a new task under a project.": "Create a new task under a project.",
|
||||
"Create a new tag in the workspace.": "Create a new tag in the workspace.",
|
||||
"Create a new time entry in a workspace.": "Create a new time entry in a workspace.",
|
||||
"Start a new time entry (live timer).": "Start a new time entry (live timer).",
|
||||
"Stops the currently running time entry.": "Stops the currently running time entry.",
|
||||
"Find a user in a workspace by their name or email.": "Find a user in a workspace by their name or email.",
|
||||
"Find a project in a workspace by its name.": "Find a project in a workspace by its name.",
|
||||
"Find a task by name and status.": "Find a task by name and status.",
|
||||
"Find a client by name or status in a workspace.": "Find a client by name or status in a workspace.",
|
||||
"Find a tag by name in a workspace.": "Find a tag by name in a workspace.",
|
||||
"Find time entries by description.": "Find time entries by description.",
|
||||
"Workspace": "Workspace",
|
||||
"Client Name": "Client Name",
|
||||
"External Reference": "External Reference",
|
||||
"Notes": "Notes",
|
||||
"Project Name": "Project Name",
|
||||
"Client": "Client",
|
||||
"Private": "Private",
|
||||
"Billable": "Billable",
|
||||
"Is Template": "Is Template",
|
||||
"Project Color": "Project Color",
|
||||
"Active": "Active",
|
||||
"Auto Estimates": "Auto Estimates",
|
||||
"Estimated Hours": "Estimated Hours",
|
||||
"Hourly Rate": "Hourly Rate",
|
||||
"Fixed Fee": "Fixed Fee",
|
||||
"Start Date": "Start Date",
|
||||
"End Date": "End Date",
|
||||
"Project": "Project",
|
||||
"Task Name": "Task Name",
|
||||
"Estimated Seconds": "Estimated Seconds",
|
||||
"Creator User ID": "Creator User ID",
|
||||
"Tag Name": "Tag Name",
|
||||
"Description": "Description",
|
||||
"Start Time": "Start Time",
|
||||
"Duration (in seconds)": "Duration (in seconds)",
|
||||
"Stop Time": "Stop Time",
|
||||
"Task": "Task",
|
||||
"Tags": "Tags",
|
||||
"Organization": "Organization",
|
||||
"Name or Email": "Name or Email",
|
||||
"Active Users Only": "Active Users Only",
|
||||
"Page Number": "Page Number",
|
||||
"Items Per Page": "Items Per Page",
|
||||
"Project Status": "Project Status",
|
||||
"Billable Only": "Billable Only",
|
||||
"My Projects Only": "My Projects Only",
|
||||
"Templates Only": "Templates Only",
|
||||
"Project ID": "Project ID",
|
||||
"Status": "Status",
|
||||
"Sort Field": "Sort Field",
|
||||
"Sort Order": "Sort Order",
|
||||
"Description Contains": "Description Contains",
|
||||
"Before Date": "Before Date",
|
||||
"Since Timestamp": "Since Timestamp",
|
||||
"Include Meta Data": "Include Meta Data",
|
||||
"Include Sharing": "Include Sharing",
|
||||
"The workspace to operate in.": "The workspace to operate in.",
|
||||
"The name of the new client.": "The name of the new client.",
|
||||
"External reference to link this client with external systems.": "External reference to link this client with external systems.",
|
||||
"Notes for the client.": "Notes for the client.",
|
||||
"The name of the new project.": "The name of the new project.",
|
||||
"The client to associate the project with.": "The client to associate the project with.",
|
||||
"Whether the project is private or not.": "Whether the project is private or not.",
|
||||
"Whether the project is billable. (Premium feature)": "Whether the project is billable. (Premium feature)",
|
||||
"Whether the project is a template. (Premium feature)": "Whether the project is a template. (Premium feature)",
|
||||
"External reference to link this project with external systems.": "External reference to link this project with external systems.",
|
||||
"Project color in hex format (e.g. #ff0000).": "Project color in hex format (e.g. #ff0000).",
|
||||
"Whether the project is active.": "Whether the project is active.",
|
||||
"Whether estimates are based on task hours. (Premium feature)": "Whether estimates are based on task hours. (Premium feature)",
|
||||
"Estimated hours for the project. (Premium feature)": "Estimated hours for the project. (Premium feature)",
|
||||
"Hourly rate for the project. (Premium feature)": "Hourly rate for the project. (Premium feature)",
|
||||
"Project fixed fee. (Premium feature)": "Project fixed fee. (Premium feature)",
|
||||
"Start date of project timeframe (YYYY-MM-DD).": "Start date of project timeframe (YYYY-MM-DD).",
|
||||
"End date of project timeframe (YYYY-MM-DD).": "End date of project timeframe (YYYY-MM-DD).",
|
||||
"The project to create the task under.": "The project to create the task under.",
|
||||
"The name of the new task.": "The name of the new task.",
|
||||
"The estimated time for the task in seconds.": "The estimated time for the task in seconds.",
|
||||
"External reference to link this task with external systems.": "External reference to link this task with external systems.",
|
||||
"Whether the task is active. Use false to mark as done.": "Whether the task is active. Use false to mark as done.",
|
||||
"Creator ID, if omitted, will use requester user ID.": "Creator ID, if omitted, will use requester user ID.",
|
||||
"The name of the new tag.": "The name of the new tag.",
|
||||
"The start time of the entry in UTC.": "The start time of the entry in UTC.",
|
||||
"Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.": "Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.",
|
||||
"The stop time of the entry in UTC. Can be omitted if still running.": "The stop time of the entry in UTC. Can be omitted if still running.",
|
||||
"The task to select.": "The task to select.",
|
||||
"The project to associate the time entry with.": "The project to associate the time entry with.",
|
||||
"Tags to associate with the time entry. You can create new tags by typing them.": "Tags to associate with the time entry. You can create new tags by typing them.",
|
||||
"Whether the time entry is marked as billable.": "Whether the time entry is marked as billable.",
|
||||
"Time entry creator ID. If omitted, will use requester user ID.": "Time entry creator ID. If omitted, will use requester user ID.",
|
||||
"The organization to operate in.": "The organization to operate in.",
|
||||
"The name or email of the user to find.": "The name or email of the user to find.",
|
||||
"Return only active users.": "Return only active users.",
|
||||
"Page number for pagination.": "Page number for pagination.",
|
||||
"Number of items per page.": "Number of items per page.",
|
||||
"The name of the project to find.": "The name of the project to find.",
|
||||
"Return active, inactive, or both types of projects.": "Return active, inactive, or both types of projects.",
|
||||
"Return only billable projects.": "Return only billable projects.",
|
||||
"Get only projects assigned to the current user.": "Get only projects assigned to the current user.",
|
||||
"Return only template projects.": "Return only template projects.",
|
||||
"Number of items per page (max 200).": "Number of items per page (max 200).",
|
||||
"Search by task name.": "Search by task name.",
|
||||
"Filter by project ID.": "Filter by project ID.",
|
||||
"Filter by active state.": "Filter by active state.",
|
||||
"Number of items per page (default 50).": "Number of items per page (default 50).",
|
||||
"Field used for sorting.": "Field used for sorting.",
|
||||
"Sort order.": "Sort order.",
|
||||
"Smallest boundary date (YYYY-MM-DD).": "Smallest boundary date (YYYY-MM-DD).",
|
||||
"Biggest boundary date (YYYY-MM-DD).": "Biggest boundary date (YYYY-MM-DD).",
|
||||
"The name of the client to find (case-insensitive).": "The name of the client to find (case-insensitive).",
|
||||
"Filter clients by their status.": "Filter clients by their status.",
|
||||
"Search by tag name.": "Search by tag name.",
|
||||
"Search for time entries containing this text in description.": "Search for time entries containing this text in description.",
|
||||
"Get entries from start_date (YYYY-MM-DD or RFC3339 format).": "Get entries from start_date (YYYY-MM-DD or RFC3339 format).",
|
||||
"Get entries until end_date (YYYY-MM-DD or RFC3339 format).": "Get entries until end_date (YYYY-MM-DD or RFC3339 format).",
|
||||
"Get entries before given date (YYYY-MM-DD or RFC3339 format).": "Get entries before given date (YYYY-MM-DD or RFC3339 format).",
|
||||
"Get entries modified since this UNIX timestamp.": "Get entries modified since this UNIX timestamp.",
|
||||
"Should the response contain data for meta entities.": "Should the response contain data for meta entities.",
|
||||
"Include sharing details in the response.": "Include sharing details in the response.",
|
||||
"Inactive": "Inactive",
|
||||
"Both": "Both",
|
||||
"Name": "Name",
|
||||
"Created At": "Created At",
|
||||
"Ascending": "Ascending",
|
||||
"Descending": "Descending",
|
||||
"Archived": "Archived",
|
||||
"New Client": "New Client",
|
||||
"New or Updated Workspace": "New or Updated Workspace",
|
||||
"New Project": "New Project",
|
||||
"New Task": "New Task",
|
||||
"New Time Entry": "New Time Entry",
|
||||
"New Time Entry Started": "New Time Entry Started",
|
||||
"New Tag": "New Tag",
|
||||
"Fires when a new client is created in a workspace.": "Fires when a new client is created in a workspace.",
|
||||
"Fires when a workspace is created or updated (Toggl only supports workspace updated events).": "Fires when a workspace is created or updated (Toggl only supports workspace updated events).",
|
||||
"Fires when a new project is added.": "Fires when a new project is added.",
|
||||
"Fires when a new task is created.": "Fires when a new task is created.",
|
||||
"Fires when a new time entry is added (with optional project/task filter).": "Fires when a new time entry is added (with optional project/task filter).",
|
||||
"Fires when a new time entry is started and is currently running.": "Fires when a new time entry is started and is currently running.",
|
||||
"Triggers when a new tag is created": "Triggers when a new tag is created",
|
||||
"Markdown": "Markdown",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this w": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test client to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when clients are created and will include:\n- Client ID and details\n- Workspace information\n- Creation timestamp\n- Creator information\n- Client notes and status\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Client created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test project to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when projects are created and will include:\n- Project ID and details\n- Workspace information\n- Client association (if any)\n- Creation timestamp\n- Creator information\n- Project settings (color, billable status, etc.)\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Project created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webho": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test task to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tasks are created and will include:\n- Task ID and details\n- Project association\n- Workspace information\n- Creation timestamp\n- Creator information\n- Task settings (estimated time, active status, etc.)\n\n**Note:** You can filter tasks by project using the optional project filter above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Task created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Past": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test time entry to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when time entries are created and will include:\n- Time entry ID and details\n- Start/stop times and duration\n- Project and task associations (if any)\n- Workspace information\n- Description and tags\n- Creator information\n- Billable status\n\n**Note:** You can filter time entries by project and task using the optional filters above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Time entry created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test tag to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tags are created and will include:\n- Tag ID and details\n- Tag name\n- Workspace information\n- Creation timestamp\n- Creator information\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Tag created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n "
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.": "Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.",
|
||||
"\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ": "\n 1. Log in to your Toggl Track account.\n 2. Go to your **Profile settings**.\n 3. Find the **API Token** at the bottom of the page and copy it.\n ",
|
||||
"Create Client": "Create Client",
|
||||
"Create Project": "Create Project",
|
||||
"Create Task": "Create Task",
|
||||
"Create Tag": "Create Tag",
|
||||
"Create Time Entry": "Create Time Entry",
|
||||
"Start Time Entry": "Start Time Entry",
|
||||
"Stop Time Entry": "Stop Time Entry",
|
||||
"Find User": "Find User",
|
||||
"Find Project": "Find Project",
|
||||
"Find Task": "Find Task",
|
||||
"Find Client": "Find Client",
|
||||
"Find Tag": "Find Tag",
|
||||
"Find Time Entry": "Find Time Entry",
|
||||
"Create a new client in a workspace.": "Create a new client in a workspace.",
|
||||
"Create a new project in a workspace.": "Create a new project in a workspace.",
|
||||
"Create a new task under a project.": "Create a new task under a project.",
|
||||
"Create a new tag in the workspace.": "Create a new tag in the workspace.",
|
||||
"Create a new time entry in a workspace.": "Create a new time entry in a workspace.",
|
||||
"Start a new time entry (live timer).": "Start a new time entry (live timer).",
|
||||
"Stops the currently running time entry.": "Stops the currently running time entry.",
|
||||
"Find a user in a workspace by their name or email.": "Find a user in a workspace by their name or email.",
|
||||
"Find a project in a workspace by its name.": "Find a project in a workspace by its name.",
|
||||
"Find a task by name and status.": "Find a task by name and status.",
|
||||
"Find a client by name or status in a workspace.": "Find a client by name or status in a workspace.",
|
||||
"Find a tag by name in a workspace.": "Find a tag by name in a workspace.",
|
||||
"Find time entries by description.": "Find time entries by description.",
|
||||
"Workspace": "Workspace",
|
||||
"Client Name": "Client Name",
|
||||
"External Reference": "External Reference",
|
||||
"Notes": "Notes",
|
||||
"Project Name": "项目名称",
|
||||
"Client": "Client",
|
||||
"Private": "Private",
|
||||
"Billable": "Billable",
|
||||
"Is Template": "Is Template",
|
||||
"Project Color": "Project Color",
|
||||
"Active": "使用中",
|
||||
"Auto Estimates": "Auto Estimates",
|
||||
"Estimated Hours": "Estimated Hours",
|
||||
"Hourly Rate": "Hourly Rate",
|
||||
"Fixed Fee": "Fixed Fee",
|
||||
"Start Date": "Start Date",
|
||||
"End Date": "End Date",
|
||||
"Project": "项目",
|
||||
"Task Name": "Task Name",
|
||||
"Estimated Seconds": "Estimated Seconds",
|
||||
"Creator User ID": "Creator User ID",
|
||||
"Tag Name": "Tag Name",
|
||||
"Description": "描述",
|
||||
"Start Time": "开始时间",
|
||||
"Duration (in seconds)": "Duration (in seconds)",
|
||||
"Stop Time": "Stop Time",
|
||||
"Task": "Task",
|
||||
"Tags": "标签",
|
||||
"Organization": "Organization",
|
||||
"Name or Email": "Name or Email",
|
||||
"Active Users Only": "Active Users Only",
|
||||
"Page Number": "Page Number",
|
||||
"Items Per Page": "Items Per Page",
|
||||
"Project Status": "Project Status",
|
||||
"Billable Only": "Billable Only",
|
||||
"My Projects Only": "My Projects Only",
|
||||
"Templates Only": "Templates Only",
|
||||
"Project ID": "Project ID",
|
||||
"Status": "状态",
|
||||
"Sort Field": "Sort Field",
|
||||
"Sort Order": "Sort Order",
|
||||
"Description Contains": "Description Contains",
|
||||
"Before Date": "Before Date",
|
||||
"Since Timestamp": "Since Timestamp",
|
||||
"Include Meta Data": "Include Meta Data",
|
||||
"Include Sharing": "Include Sharing",
|
||||
"The workspace to operate in.": "The workspace to operate in.",
|
||||
"The name of the new client.": "The name of the new client.",
|
||||
"External reference to link this client with external systems.": "External reference to link this client with external systems.",
|
||||
"Notes for the client.": "Notes for the client.",
|
||||
"The name of the new project.": "The name of the new project.",
|
||||
"The client to associate the project with.": "The client to associate the project with.",
|
||||
"Whether the project is private or not.": "Whether the project is private or not.",
|
||||
"Whether the project is billable. (Premium feature)": "Whether the project is billable. (Premium feature)",
|
||||
"Whether the project is a template. (Premium feature)": "Whether the project is a template. (Premium feature)",
|
||||
"External reference to link this project with external systems.": "External reference to link this project with external systems.",
|
||||
"Project color in hex format (e.g. #ff0000).": "Project color in hex format (e.g. #ff0000).",
|
||||
"Whether the project is active.": "Whether the project is active.",
|
||||
"Whether estimates are based on task hours. (Premium feature)": "Whether estimates are based on task hours. (Premium feature)",
|
||||
"Estimated hours for the project. (Premium feature)": "Estimated hours for the project. (Premium feature)",
|
||||
"Hourly rate for the project. (Premium feature)": "Hourly rate for the project. (Premium feature)",
|
||||
"Project fixed fee. (Premium feature)": "Project fixed fee. (Premium feature)",
|
||||
"Start date of project timeframe (YYYY-MM-DD).": "Start date of project timeframe (YYYY-MM-DD).",
|
||||
"End date of project timeframe (YYYY-MM-DD).": "End date of project timeframe (YYYY-MM-DD).",
|
||||
"The project to create the task under.": "The project to create the task under.",
|
||||
"The name of the new task.": "The name of the new task.",
|
||||
"The estimated time for the task in seconds.": "The estimated time for the task in seconds.",
|
||||
"External reference to link this task with external systems.": "External reference to link this task with external systems.",
|
||||
"Whether the task is active. Use false to mark as done.": "Whether the task is active. Use false to mark as done.",
|
||||
"Creator ID, if omitted, will use requester user ID.": "Creator ID, if omitted, will use requester user ID.",
|
||||
"The name of the new tag.": "The name of the new tag.",
|
||||
"The start time of the entry in UTC.": "The start time of the entry in UTC.",
|
||||
"Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.": "Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.",
|
||||
"The stop time of the entry in UTC. Can be omitted if still running.": "The stop time of the entry in UTC. Can be omitted if still running.",
|
||||
"The task to select.": "The task to select.",
|
||||
"The project to associate the time entry with.": "The project to associate the time entry with.",
|
||||
"Tags to associate with the time entry. You can create new tags by typing them.": "Tags to associate with the time entry. You can create new tags by typing them.",
|
||||
"Whether the time entry is marked as billable.": "Whether the time entry is marked as billable.",
|
||||
"Time entry creator ID. If omitted, will use requester user ID.": "Time entry creator ID. If omitted, will use requester user ID.",
|
||||
"The organization to operate in.": "The organization to operate in.",
|
||||
"The name or email of the user to find.": "The name or email of the user to find.",
|
||||
"Return only active users.": "Return only active users.",
|
||||
"Page number for pagination.": "Page number for pagination.",
|
||||
"Number of items per page.": "Number of items per page.",
|
||||
"The name of the project to find.": "The name of the project to find.",
|
||||
"Return active, inactive, or both types of projects.": "Return active, inactive, or both types of projects.",
|
||||
"Return only billable projects.": "Return only billable projects.",
|
||||
"Get only projects assigned to the current user.": "Get only projects assigned to the current user.",
|
||||
"Return only template projects.": "Return only template projects.",
|
||||
"Number of items per page (max 200).": "Number of items per page (max 200).",
|
||||
"Search by task name.": "Search by task name.",
|
||||
"Filter by project ID.": "Filter by project ID.",
|
||||
"Filter by active state.": "Filter by active state.",
|
||||
"Number of items per page (default 50).": "Number of items per page (default 50).",
|
||||
"Field used for sorting.": "Field used for sorting.",
|
||||
"Sort order.": "Sort order.",
|
||||
"Smallest boundary date (YYYY-MM-DD).": "Smallest boundary date (YYYY-MM-DD).",
|
||||
"Biggest boundary date (YYYY-MM-DD).": "Biggest boundary date (YYYY-MM-DD).",
|
||||
"The name of the client to find (case-insensitive).": "The name of the client to find (case-insensitive).",
|
||||
"Filter clients by their status.": "Filter clients by their status.",
|
||||
"Search by tag name.": "Search by tag name.",
|
||||
"Search for time entries containing this text in description.": "Search for time entries containing this text in description.",
|
||||
"Get entries from start_date (YYYY-MM-DD or RFC3339 format).": "Get entries from start_date (YYYY-MM-DD or RFC3339 format).",
|
||||
"Get entries until end_date (YYYY-MM-DD or RFC3339 format).": "Get entries until end_date (YYYY-MM-DD or RFC3339 format).",
|
||||
"Get entries before given date (YYYY-MM-DD or RFC3339 format).": "Get entries before given date (YYYY-MM-DD or RFC3339 format).",
|
||||
"Get entries modified since this UNIX timestamp.": "Get entries modified since this UNIX timestamp.",
|
||||
"Should the response contain data for meta entities.": "Should the response contain data for meta entities.",
|
||||
"Include sharing details in the response.": "Include sharing details in the response.",
|
||||
"Inactive": "Inactive",
|
||||
"Both": "Both",
|
||||
"Name": "名称",
|
||||
"Created At": "Created At",
|
||||
"Ascending": "升序",
|
||||
"Descending": "降序",
|
||||
"Archived": "Archived",
|
||||
"New Client": "New Client",
|
||||
"New or Updated Workspace": "New or Updated Workspace",
|
||||
"New Project": "新建项目",
|
||||
"New Task": "New Task",
|
||||
"New Time Entry": "New Time Entry",
|
||||
"New Time Entry Started": "New Time Entry Started",
|
||||
"New Tag": "New Tag",
|
||||
"Fires when a new client is created in a workspace.": "Fires when a new client is created in a workspace.",
|
||||
"Fires when a workspace is created or updated (Toggl only supports workspace updated events).": "Fires when a workspace is created or updated (Toggl only supports workspace updated events).",
|
||||
"Fires when a new project is added.": "Fires when a new project is added.",
|
||||
"Fires when a new task is created.": "Fires when a new task is created.",
|
||||
"Fires when a new time entry is added (with optional project/task filter).": "Fires when a new time entry is added (with optional project/task filter).",
|
||||
"Fires when a new time entry is started and is currently running.": "Fires when a new time entry is started and is currently running.",
|
||||
"Triggers when a new tag is created": "Triggers when a new tag is created",
|
||||
"Markdown": "Markdown",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this w": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Client\")\n2. **Events**: Select **\"Client created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test client to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when clients are created and will include:\n- Client ID and details\n- Workspace information\n- Creation timestamp\n- Creator information\n- Client notes and status\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Client created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Project\")\n2. **Events**: Select **\"Project created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test project to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when projects are created and will include:\n- Project ID and details\n- Workspace information\n- Client association (if any)\n- Creation timestamp\n- Creator information\n- Project settings (color, billable status, etc.)\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Project created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webho": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Task\")\n2. **Events**: Select **\"Task created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test task to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tasks are created and will include:\n- Task ID and details\n- Project association\n- Workspace information\n- Creation timestamp\n- Creator information\n- Task settings (estimated time, active status, etc.)\n\n**Note:** You can filter tasks by project using the optional project filter above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Task created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Past": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Time Entry\")\n2. **Events**: Select **\"Time entry created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test time entry to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when time entries are created and will include:\n- Time entry ID and details\n- Start/stop times and duration\n- Project and task associations (if any)\n- Workspace information\n- Description and tags\n- Creator information\n- Billable status\n\n**Note:** You can filter time entries by project and task using the optional filters above.\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Time entry created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n ",
|
||||
"\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook": "\n## Setup Instructions\n\nTo use this trigger, you need to manually create a webhook in your Toggl Track account:\n\n### 1. Access Toggl Track Webhooks\n- Log in to your Toggl Track account\n- Go to **Integrations > Webhooks** (Admin access required)\n- Click **\"Create Webhook\"** or **\"Create your first webhook\"**\n\n### 2. Configure the Webhook\n1. **Name**: Enter a descriptive name (e.g., \"Activepieces New Tag\")\n2. **Events**: Select **\"Tag created\"** from the events dropdown\n3. **URL Endpoint**: Paste this webhook URL:\n```text\n{{webhookUrl}}\n```\n4. **Secret**: Enter a secret key for security (optional but recommended)\n\n### 3. Complete Setup\n- Click **\"Add Webhook\"**\n- Toggl Track will validate your endpoint\n- The webhook will appear in your webhooks list when ready\n\n### 4. Verification\n- Your webhook status should show as **\"Validated\"** (happens automatically)\n- You can use the **\"Test\"** option to verify it's working\n- Create a test tag to ensure events are received\n\n---\n\n**Requirements:**\n- Admin permissions in your Toggl Track workspace\n- Limit: 5 webhooks per workspace user\n\n**Event Details:**\nThis trigger will fire when tags are created and will include:\n- Tag ID and details\n- Tag name\n- Workspace information\n- Creation timestamp\n- Creator information\n\n**Troubleshooting:**\n- If status shows **\"Not validated\"**, click \"Test\" to trigger auto-validation\n- If status shows **\"Disabled\"**, re-enable it from the 3-dot menu\n- If events aren't received, verify you selected \"Tag created\" event\n\n**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click \"Test\" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.\n "
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
import { PieceAuth, createPiece } from '@activepieces/pieces-framework';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { createClient } from './lib/actions/create-client';
|
||||
import { createProject } from './lib/actions/create-project';
|
||||
import { createTask } from './lib/actions/create-task';
|
||||
import { createTag } from './lib/actions/create-tag';
|
||||
import { createTimeEntry } from './lib/actions/create-time-entry';
|
||||
import { startTimeEntry } from './lib/actions/start-time-entry';
|
||||
import { stopTimeEntry } from './lib/actions/stop-time-entry';
|
||||
import { findUser } from './lib/actions/find-user';
|
||||
import { findProject } from './lib/actions/find-project';
|
||||
import { findTask } from './lib/actions/find-task';
|
||||
import { findClient } from './lib/actions/find-client';
|
||||
import { findTag } from './lib/actions/find-tag';
|
||||
import { findTimeEntry } from './lib/actions/find-time-entry';
|
||||
import { newClient } from './lib/triggers/new-client';
|
||||
import { newWorkspace } from './lib/triggers/new-workspace';
|
||||
import { newProject } from './lib/triggers/new-project';
|
||||
import { newTask } from './lib/triggers/new-task';
|
||||
import { newTimeEntry } from './lib/triggers/new-time-entry';
|
||||
import { newTimeEntryStarted } from './lib/triggers/new-time-entry-started';
|
||||
import { newTag } from './lib/triggers/new-tag';
|
||||
|
||||
const validateAuth = async ({ auth }: { auth: string }) => {
|
||||
try {
|
||||
await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: 'https://api.track.toggl.com/api/v9/me',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${auth}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
});
|
||||
return {
|
||||
valid: true as const,
|
||||
};
|
||||
} catch (e) {
|
||||
return {
|
||||
valid: false as const,
|
||||
error: 'Invalid API token.',
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
export const togglTrackAuth = PieceAuth.SecretText({
|
||||
displayName: 'API Token',
|
||||
description: `
|
||||
1. Log in to your Toggl Track account.
|
||||
2. Go to your **Profile settings**.
|
||||
3. Find the **API Token** at the bottom of the page and copy it.
|
||||
`,
|
||||
required: true,
|
||||
validate: validateAuth,
|
||||
});
|
||||
|
||||
export const togglTrack = createPiece({
|
||||
displayName: 'Toggl Track',
|
||||
description: 'Toggl Track is a time tracking application that allows users to track their daily activities across different platforms.',
|
||||
auth: togglTrackAuth,
|
||||
minimumSupportedRelease: '0.36.1',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/toggl-track.png',
|
||||
categories: [PieceCategory.PRODUCTIVITY],
|
||||
authors: ["Pranith124", "onyedikachi-david"],
|
||||
actions: [
|
||||
createClient,
|
||||
createProject,
|
||||
createTask,
|
||||
createTag,
|
||||
createTimeEntry,
|
||||
startTimeEntry,
|
||||
stopTimeEntry,
|
||||
findUser,
|
||||
findProject,
|
||||
findTask,
|
||||
findClient,
|
||||
findTag,
|
||||
findTimeEntry,
|
||||
],
|
||||
triggers: [
|
||||
newClient,
|
||||
newWorkspace,
|
||||
newProject,
|
||||
newTask,
|
||||
newTimeEntry,
|
||||
newTimeEntryStarted,
|
||||
newTag,
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,53 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const createClient = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'create_client',
|
||||
displayName: 'Create Client',
|
||||
description: 'Create a new client in a workspace.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
name: Property.ShortText({
|
||||
displayName: 'Client Name',
|
||||
description: 'The name of the new client.',
|
||||
required: true,
|
||||
}),
|
||||
external_reference: Property.ShortText({
|
||||
displayName: 'External Reference',
|
||||
description:
|
||||
'External reference to link this client with external systems.',
|
||||
required: false,
|
||||
}),
|
||||
notes: Property.LongText({
|
||||
displayName: 'Notes',
|
||||
description: 'Notes for the client.',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { workspace_id, name, external_reference, notes } =
|
||||
context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/clients`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
body: {
|
||||
name,
|
||||
external_reference,
|
||||
notes,
|
||||
},
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,138 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const createProject = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'create_project',
|
||||
displayName: 'Create Project',
|
||||
description: 'Create a new project in a workspace.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
name: Property.ShortText({
|
||||
displayName: 'Project Name',
|
||||
description: 'The name of the new project.',
|
||||
required: true,
|
||||
}),
|
||||
client_id: togglCommon.client_id,
|
||||
is_private: Property.Checkbox({
|
||||
displayName: 'Private',
|
||||
description: 'Whether the project is private or not.',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
billable: Property.Checkbox({
|
||||
displayName: 'Billable',
|
||||
description: 'Whether the project is billable. (Premium feature)',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
template: Property.Checkbox({
|
||||
displayName: 'Is Template',
|
||||
description: 'Whether the project is a template. (Premium feature)',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
external_reference: Property.ShortText({
|
||||
displayName: 'External Reference',
|
||||
description:
|
||||
'External reference to link this project with external systems.',
|
||||
required: false,
|
||||
}),
|
||||
color: Property.ShortText({
|
||||
displayName: 'Project Color',
|
||||
description: 'Project color in hex format (e.g. #ff0000).',
|
||||
required: false,
|
||||
}),
|
||||
active: Property.Checkbox({
|
||||
displayName: 'Active',
|
||||
description: 'Whether the project is active.',
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
}),
|
||||
auto_estimates: Property.Checkbox({
|
||||
displayName: 'Auto Estimates',
|
||||
description:
|
||||
'Whether estimates are based on task hours. (Premium feature)',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
estimated_hours: Property.Number({
|
||||
displayName: 'Estimated Hours',
|
||||
description: 'Estimated hours for the project. (Premium feature)',
|
||||
required: false,
|
||||
}),
|
||||
rate: Property.Number({
|
||||
displayName: 'Hourly Rate',
|
||||
description: 'Hourly rate for the project. (Premium feature)',
|
||||
required: false,
|
||||
}),
|
||||
fixed_fee: Property.Number({
|
||||
displayName: 'Fixed Fee',
|
||||
description: 'Project fixed fee. (Premium feature)',
|
||||
required: false,
|
||||
}),
|
||||
start_date: Property.ShortText({
|
||||
displayName: 'Start Date',
|
||||
description: 'Start date of project timeframe (YYYY-MM-DD).',
|
||||
required: false,
|
||||
}),
|
||||
end_date: Property.ShortText({
|
||||
displayName: 'End Date',
|
||||
description: 'End date of project timeframe (YYYY-MM-DD).',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
workspace_id,
|
||||
name,
|
||||
client_id,
|
||||
is_private,
|
||||
billable,
|
||||
template,
|
||||
external_reference,
|
||||
color,
|
||||
active,
|
||||
auto_estimates,
|
||||
estimated_hours,
|
||||
rate,
|
||||
fixed_fee,
|
||||
start_date,
|
||||
end_date,
|
||||
} = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const body = {
|
||||
name,
|
||||
is_private,
|
||||
billable,
|
||||
template,
|
||||
active,
|
||||
auto_estimates,
|
||||
...(client_id && { client_id }),
|
||||
...(external_reference && { external_reference }),
|
||||
...(color && { color }),
|
||||
...(estimated_hours && { estimated_hours }),
|
||||
...(rate && { rate }),
|
||||
...(fixed_fee && { fixed_fee }),
|
||||
...(start_date && { start_date }),
|
||||
...(end_date && { end_date }),
|
||||
};
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/projects`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
body,
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,39 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const createTag = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'create_tag',
|
||||
displayName: 'Create Tag',
|
||||
description: 'Create a new tag in the workspace.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
name: Property.ShortText({
|
||||
displayName: 'Tag Name',
|
||||
description: 'The name of the new tag.',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { workspace_id, name } = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/tags`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
body: {
|
||||
name,
|
||||
},
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,74 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const createTask = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'create_task',
|
||||
displayName: 'Create Task',
|
||||
description: 'Create a new task under a project.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
project_id: togglCommon.project_id,
|
||||
name: Property.ShortText({
|
||||
displayName: 'Task Name',
|
||||
description: 'The name of the new task.',
|
||||
required: true,
|
||||
}),
|
||||
estimated_seconds: Property.Number({
|
||||
displayName: 'Estimated Seconds',
|
||||
description: 'The estimated time for the task in seconds.',
|
||||
required: false,
|
||||
}),
|
||||
external_reference: Property.ShortText({
|
||||
displayName: 'External Reference',
|
||||
description:
|
||||
'External reference to link this task with external systems.',
|
||||
required: false,
|
||||
}),
|
||||
active: Property.Checkbox({
|
||||
displayName: 'Active',
|
||||
description: 'Whether the task is active. Use false to mark as done.',
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
}),
|
||||
user_id: Property.Number({
|
||||
displayName: 'Creator User ID',
|
||||
description: 'Creator ID, if omitted, will use requester user ID.',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
workspace_id,
|
||||
project_id,
|
||||
name,
|
||||
estimated_seconds,
|
||||
external_reference,
|
||||
active,
|
||||
user_id,
|
||||
} = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/projects/${project_id}/tasks`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
body: {
|
||||
name,
|
||||
active,
|
||||
...(estimated_seconds && { estimated_seconds }),
|
||||
...(external_reference && { external_reference }),
|
||||
...(user_id && { user_id }),
|
||||
},
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,91 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const createTimeEntry = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'create_time_entry',
|
||||
displayName: 'Create Time Entry',
|
||||
description: 'Create a new time entry in a workspace.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
description: Property.LongText({
|
||||
displayName: 'Description',
|
||||
required: false,
|
||||
}),
|
||||
start: Property.DateTime({
|
||||
displayName: 'Start Time',
|
||||
description: 'The start time of the entry in UTC.',
|
||||
required: true,
|
||||
}),
|
||||
duration: Property.Number({
|
||||
displayName: 'Duration (in seconds)',
|
||||
description:
|
||||
'Duration of the time entry. Use a negative number (e.g., -1) to start a running timer.',
|
||||
required: true,
|
||||
}),
|
||||
stop: Property.DateTime({
|
||||
displayName: 'Stop Time',
|
||||
description:
|
||||
'The stop time of the entry in UTC. Can be omitted if still running.',
|
||||
required: false,
|
||||
}),
|
||||
task_id: togglCommon.optional_task_id,
|
||||
project_id: togglCommon.optional_project_id,
|
||||
tags: togglCommon.tags,
|
||||
billable: Property.Checkbox({
|
||||
displayName: 'Billable',
|
||||
description: 'Whether the time entry is marked as billable.',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
user_id: Property.Number({
|
||||
displayName: 'Creator User ID',
|
||||
description:
|
||||
'Time entry creator ID. If omitted, will use requester user ID.',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
workspace_id,
|
||||
description,
|
||||
start,
|
||||
duration,
|
||||
stop,
|
||||
project_id,
|
||||
task_id,
|
||||
tags,
|
||||
billable,
|
||||
user_id,
|
||||
} = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/time_entries`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
body: {
|
||||
workspace_id: Number(workspace_id),
|
||||
description,
|
||||
start: new Date(start).toISOString(),
|
||||
duration,
|
||||
created_with: 'Activepieces',
|
||||
billable,
|
||||
...(stop && { stop: new Date(stop).toISOString() }),
|
||||
...(project_id && { project_id }),
|
||||
...(task_id && { task_id }),
|
||||
...(tags && { tags }),
|
||||
...(user_id && { user_id }),
|
||||
},
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,57 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient, QueryParams } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const findClient = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'find_client',
|
||||
displayName: 'Find Client',
|
||||
description: 'Find a client by name or status in a workspace.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
name: Property.ShortText({
|
||||
displayName: 'Client Name',
|
||||
description: 'The name of the client to find (case-insensitive).',
|
||||
required: false,
|
||||
}),
|
||||
status: Property.StaticDropdown({
|
||||
displayName: 'Status',
|
||||
description: 'Filter clients by their status.',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Active', value: 'active' },
|
||||
{ label: 'Archived', value: 'archived' },
|
||||
{ label: 'Both', value: 'both' },
|
||||
]
|
||||
}
|
||||
})
|
||||
},
|
||||
async run(context) {
|
||||
const { workspace_id, name, status } = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const queryParams: QueryParams = {};
|
||||
if (name) {
|
||||
queryParams['name'] = name;
|
||||
}
|
||||
if (status) {
|
||||
queryParams['status'] = status;
|
||||
}
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/clients`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
queryParams: queryParams
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,97 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const findProject = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'find_project',
|
||||
displayName: 'Find Project',
|
||||
description: 'Find a project in a workspace by its name.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
name: Property.ShortText({
|
||||
displayName: 'Project Name',
|
||||
description: 'The name of the project to find.',
|
||||
required: false,
|
||||
}),
|
||||
active: Property.StaticDropdown({
|
||||
displayName: 'Project Status',
|
||||
description: 'Return active, inactive, or both types of projects.',
|
||||
required: false,
|
||||
defaultValue: 'true',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{ label: 'Active', value: 'true' },
|
||||
{ label: 'Inactive', value: 'false' },
|
||||
{ label: 'Both', value: 'both' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
billable: Property.Checkbox({
|
||||
displayName: 'Billable Only',
|
||||
description: 'Return only billable projects.',
|
||||
required: false,
|
||||
}),
|
||||
only_me: Property.Checkbox({
|
||||
displayName: 'My Projects Only',
|
||||
description: 'Get only projects assigned to the current user.',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
only_templates: Property.Checkbox({
|
||||
displayName: 'Templates Only',
|
||||
description: 'Return only template projects.',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
page: Property.Number({
|
||||
displayName: 'Page Number',
|
||||
description: 'Page number for pagination.',
|
||||
required: false,
|
||||
}),
|
||||
per_page: Property.Number({
|
||||
displayName: 'Items Per Page',
|
||||
description: 'Number of items per page (max 200).',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
workspace_id,
|
||||
name,
|
||||
active,
|
||||
billable,
|
||||
only_me,
|
||||
only_templates,
|
||||
page,
|
||||
per_page,
|
||||
} = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const queryParams: Record<string, string> = {};
|
||||
if (name) queryParams['name'] = name;
|
||||
if (active !== undefined) queryParams['active'] = active;
|
||||
if (billable !== undefined) queryParams['billable'] = billable.toString();
|
||||
if (only_me !== undefined) queryParams['only_me'] = only_me.toString();
|
||||
if (only_templates !== undefined)
|
||||
queryParams['only_templates'] = only_templates.toString();
|
||||
if (page) queryParams['page'] = page.toString();
|
||||
if (per_page) queryParams['per_page'] = per_page.toString();
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/projects`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
queryParams,
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,56 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
QueryParams,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const findTag = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'find_tag',
|
||||
displayName: 'Find Tag',
|
||||
description: 'Find a tag by name in a workspace.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
search: Property.ShortText({
|
||||
displayName: 'Tag Name',
|
||||
description: 'Search by tag name.',
|
||||
required: false,
|
||||
}),
|
||||
page: Property.Number({
|
||||
displayName: 'Page Number',
|
||||
description: 'Page number for pagination.',
|
||||
required: false,
|
||||
}),
|
||||
per_page: Property.Number({
|
||||
displayName: 'Items Per Page',
|
||||
description: 'Number of items per page.',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { workspace_id, search, page, per_page } = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const queryParams: QueryParams = {};
|
||||
if (search) queryParams['search'] = search;
|
||||
if (page) queryParams['page'] = page.toString();
|
||||
if (per_page) queryParams['per_page'] = per_page.toString();
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/tags`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
queryParams: queryParams,
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,125 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
QueryParams,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const findTask = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'find_task',
|
||||
displayName: 'Find Task',
|
||||
description: 'Find a task by name and status.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
search: Property.ShortText({
|
||||
displayName: 'Task Name',
|
||||
description: 'Search by task name.',
|
||||
required: false,
|
||||
}),
|
||||
project_id: Property.Number({
|
||||
displayName: 'Project ID',
|
||||
description: 'Filter by project ID.',
|
||||
required: false,
|
||||
}),
|
||||
active: Property.StaticDropdown({
|
||||
displayName: 'Status',
|
||||
description: 'Filter by active state.',
|
||||
required: false,
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{ label: 'Active', value: 'true' },
|
||||
{ label: 'Inactive', value: 'false' },
|
||||
{ label: 'Both', value: 'both' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
page: Property.Number({
|
||||
displayName: 'Page Number',
|
||||
description: 'Page number for pagination.',
|
||||
required: false,
|
||||
}),
|
||||
per_page: Property.Number({
|
||||
displayName: 'Items Per Page',
|
||||
description: 'Number of items per page (default 50).',
|
||||
required: false,
|
||||
}),
|
||||
sort_field: Property.StaticDropdown({
|
||||
displayName: 'Sort Field',
|
||||
description: 'Field used for sorting.',
|
||||
required: false,
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{ label: 'Name', value: 'name' },
|
||||
{ label: 'Created At', value: 'created_at' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
sort_order: Property.StaticDropdown({
|
||||
displayName: 'Sort Order',
|
||||
description: 'Sort order.',
|
||||
required: false,
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{ label: 'Ascending', value: 'ASC' },
|
||||
{ label: 'Descending', value: 'DESC' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
start_date: Property.ShortText({
|
||||
displayName: 'Start Date',
|
||||
description: 'Smallest boundary date (YYYY-MM-DD).',
|
||||
required: false,
|
||||
}),
|
||||
end_date: Property.ShortText({
|
||||
displayName: 'End Date',
|
||||
description: 'Biggest boundary date (YYYY-MM-DD).',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
workspace_id,
|
||||
search,
|
||||
project_id,
|
||||
active,
|
||||
page,
|
||||
per_page,
|
||||
sort_field,
|
||||
sort_order,
|
||||
start_date,
|
||||
end_date,
|
||||
} = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const queryParams: QueryParams = {};
|
||||
if (search) queryParams['search'] = search;
|
||||
if (project_id) queryParams['pid'] = project_id.toString();
|
||||
if (active) queryParams['active'] = active;
|
||||
if (page) queryParams['page'] = page.toString();
|
||||
if (per_page) queryParams['per_page'] = per_page.toString();
|
||||
if (sort_field) queryParams['sort_field'] = sort_field;
|
||||
if (sort_order) queryParams['sort_order'] = sort_order;
|
||||
if (start_date) queryParams['start_date'] = start_date;
|
||||
if (end_date) queryParams['end_date'] = end_date;
|
||||
|
||||
const response = await httpClient.sendRequest<{ data: unknown[] }>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/tasks`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
queryParams: queryParams,
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,104 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import {
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
QueryParams,
|
||||
} from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
|
||||
export const findTimeEntry = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'find_time_entry',
|
||||
displayName: 'Find Time Entry',
|
||||
description: 'Find time entries by description.',
|
||||
props: {
|
||||
description: Property.ShortText({
|
||||
displayName: 'Description Contains',
|
||||
description:
|
||||
'Search for time entries containing this text in description.',
|
||||
required: false,
|
||||
}),
|
||||
start_date: Property.ShortText({
|
||||
displayName: 'Start Date',
|
||||
description:
|
||||
'Get entries from start_date (YYYY-MM-DD or RFC3339 format).',
|
||||
required: false,
|
||||
}),
|
||||
end_date: Property.ShortText({
|
||||
displayName: 'End Date',
|
||||
description: 'Get entries until end_date (YYYY-MM-DD or RFC3339 format).',
|
||||
required: false,
|
||||
}),
|
||||
before: Property.ShortText({
|
||||
displayName: 'Before Date',
|
||||
description:
|
||||
'Get entries before given date (YYYY-MM-DD or RFC3339 format).',
|
||||
required: false,
|
||||
}),
|
||||
since: Property.Number({
|
||||
displayName: 'Since Timestamp',
|
||||
description: 'Get entries modified since this UNIX timestamp.',
|
||||
required: false,
|
||||
}),
|
||||
meta: Property.Checkbox({
|
||||
displayName: 'Include Meta Data',
|
||||
description: 'Should the response contain data for meta entities.',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
include_sharing: Property.Checkbox({
|
||||
displayName: 'Include Sharing',
|
||||
description: 'Include sharing details in the response.',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
description,
|
||||
start_date,
|
||||
end_date,
|
||||
before,
|
||||
since,
|
||||
meta,
|
||||
include_sharing,
|
||||
} = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const queryParams: QueryParams = {};
|
||||
if (start_date) queryParams['start_date'] = start_date;
|
||||
if (end_date) queryParams['end_date'] = end_date;
|
||||
if (before) queryParams['before'] = before;
|
||||
if (since) queryParams['since'] = since.toString();
|
||||
if (meta !== undefined) queryParams['meta'] = meta.toString();
|
||||
if (include_sharing !== undefined)
|
||||
queryParams['include_sharing'] = include_sharing.toString();
|
||||
|
||||
const response = await httpClient.sendRequest<{
|
||||
items: { id: number; description: string; [key: string]: unknown }[];
|
||||
}>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/me/time_entries`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
queryParams: queryParams,
|
||||
});
|
||||
|
||||
const timeEntries = response.body.items || [];
|
||||
|
||||
if (description) {
|
||||
const matchingEntries = timeEntries.filter(
|
||||
(entry) =>
|
||||
entry.description &&
|
||||
entry.description.toLowerCase().includes(description.toLowerCase())
|
||||
);
|
||||
return { items: matchingEntries };
|
||||
}
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,67 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const findUser = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'find_user',
|
||||
displayName: 'Find User',
|
||||
description: 'Find a user in a workspace by their name or email.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
organization_id: togglCommon.organization_id,
|
||||
search_term: Property.ShortText({
|
||||
displayName: 'Name or Email',
|
||||
description: 'The name or email of the user to find.',
|
||||
required: false,
|
||||
}),
|
||||
active: Property.Checkbox({
|
||||
displayName: 'Active Users Only',
|
||||
description: 'Return only active users.',
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
}),
|
||||
page: Property.Number({
|
||||
displayName: 'Page Number',
|
||||
description: 'Page number for pagination.',
|
||||
required: false,
|
||||
}),
|
||||
per_page: Property.Number({
|
||||
displayName: 'Items Per Page',
|
||||
description: 'Number of items per page.',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
workspace_id,
|
||||
organization_id,
|
||||
search_term,
|
||||
active,
|
||||
page,
|
||||
per_page,
|
||||
} = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const queryParams: Record<string, string> = {};
|
||||
if (search_term) queryParams['search'] = search_term;
|
||||
if (active !== undefined) queryParams['active'] = active.toString();
|
||||
if (page) queryParams['page'] = page.toString();
|
||||
if (per_page) queryParams['per_page'] = per_page.toString();
|
||||
|
||||
const searchResponse = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/organizations/${organization_id}/workspaces/${workspace_id}/workspace_users`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
queryParams,
|
||||
});
|
||||
|
||||
return searchResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,56 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const startTimeEntry = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'start_time_entry',
|
||||
displayName: 'Start Time Entry',
|
||||
description: 'Start a new time entry (live timer).',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
description: Property.LongText({
|
||||
displayName: 'Description',
|
||||
required: false,
|
||||
}),
|
||||
project_id: togglCommon.optional_project_id,
|
||||
tags: togglCommon.tags,
|
||||
billable: Property.Checkbox({
|
||||
displayName: 'Billable',
|
||||
description: 'Whether the time entry is marked as billable.',
|
||||
required: false,
|
||||
defaultValue: false,
|
||||
}),
|
||||
task_id: togglCommon.optional_task_id,
|
||||
},
|
||||
async run(context) {
|
||||
const { workspace_id, description, project_id, tags, billable, task_id } =
|
||||
context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/time_entries`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
body: {
|
||||
workspace_id: Number(workspace_id),
|
||||
description,
|
||||
start: new Date().toISOString(),
|
||||
duration: -1,
|
||||
created_with: 'Activepieces',
|
||||
billable,
|
||||
...(project_id && { project_id }),
|
||||
...(task_id && { task_id }),
|
||||
...(tags && { tags }),
|
||||
},
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,54 @@
|
||||
import { createAction } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient, HttpError } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
|
||||
export const stopTimeEntry = createAction({
|
||||
auth: togglTrackAuth,
|
||||
name: 'stop_time_entry',
|
||||
displayName: 'Stop Time Entry',
|
||||
description: 'Stops the currently running time entry.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
},
|
||||
async run(context) {
|
||||
const { workspace_id } = context.propsValue;
|
||||
const apiToken = context.auth;
|
||||
let runningEntryId: number;
|
||||
|
||||
try {
|
||||
const runningEntryResponse = await httpClient.sendRequest<{ id: number }>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/me/time_entries/current`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
});
|
||||
runningEntryId = runningEntryResponse.body.id;
|
||||
} catch (e) {
|
||||
|
||||
if (e instanceof HttpError && e.response.status === 404) {
|
||||
return { success: false, message: "No time entry is currently running." };
|
||||
}
|
||||
|
||||
throw e;
|
||||
}
|
||||
|
||||
|
||||
const stopResponse = await httpClient.sendRequest({
|
||||
method: HttpMethod.PATCH,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/time_entries/${runningEntryId}/stop`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(`${apiToken}:api_token`).toString(
|
||||
'base64'
|
||||
)}`,
|
||||
},
|
||||
});
|
||||
|
||||
return stopResponse.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,328 @@
|
||||
import { Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
|
||||
|
||||
type TogglOrganization = {
|
||||
id: number;
|
||||
name: string;
|
||||
};
|
||||
type TogglWorkspace = {
|
||||
id: number;
|
||||
name: string;
|
||||
};
|
||||
type TogglClient = {
|
||||
id: number;
|
||||
name: string;
|
||||
};
|
||||
type TogglProject = {
|
||||
id: number;
|
||||
name: string;
|
||||
};
|
||||
type TogglTag = {
|
||||
id: number;
|
||||
name: string;
|
||||
};
|
||||
type TogglTask = {
|
||||
id: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export const togglCommon = {
|
||||
organization_id: Property.Dropdown({
|
||||
auth:togglTrackAuth,
|
||||
displayName: 'Organization',
|
||||
description: 'The organization to operate in.',
|
||||
required: true,
|
||||
refreshers: [],
|
||||
options: async ({ auth }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Connect your account first',
|
||||
options: [],
|
||||
};
|
||||
}
|
||||
const apiToken = auth.secret_text;
|
||||
const response = await httpClient.sendRequest<TogglOrganization[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: 'https://api.track.toggl.com/api/v9/me/organizations',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(
|
||||
`${apiToken}:api_token`
|
||||
).toString('base64')}`,
|
||||
},
|
||||
});
|
||||
if (response.status === 200) {
|
||||
return {
|
||||
disabled: false,
|
||||
options: (response.body || []).map((org) => ({
|
||||
label: org.name,
|
||||
value: org.id,
|
||||
})),
|
||||
};
|
||||
}
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Error fetching organizations',
|
||||
options: [],
|
||||
};
|
||||
},
|
||||
}),
|
||||
workspace_id: Property.Dropdown({
|
||||
auth:togglTrackAuth,
|
||||
displayName: 'Workspace',
|
||||
description: 'The workspace to operate in.',
|
||||
required: true,
|
||||
refreshers: [],
|
||||
options: async ({ auth }) => {
|
||||
if (!auth) {
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Connect your account first',
|
||||
options: [],
|
||||
};
|
||||
}
|
||||
const apiToken = auth.secret_text;
|
||||
|
||||
const response = await httpClient.sendRequest<TogglWorkspace[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: 'https://api.track.toggl.com/api/v9/me/workspaces',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(
|
||||
`${apiToken}:api_token`
|
||||
).toString('base64')}`,
|
||||
},
|
||||
});
|
||||
if (response.status === 200) {
|
||||
return {
|
||||
disabled: false,
|
||||
|
||||
options: (response.body || []).map((workspace) => ({
|
||||
label: workspace.name,
|
||||
value: workspace.id,
|
||||
})),
|
||||
};
|
||||
}
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Error fetching workspaces',
|
||||
options: [],
|
||||
};
|
||||
},
|
||||
}),
|
||||
client_id: Property.Dropdown({
|
||||
auth:togglTrackAuth,
|
||||
displayName: 'Client',
|
||||
description: 'The client to associate the project with.',
|
||||
required: false,
|
||||
refreshers: ['workspace_id'],
|
||||
options: async ({ auth, workspace_id }) => {
|
||||
if (!auth || !workspace_id) {
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Select a workspace first',
|
||||
options: [],
|
||||
};
|
||||
}
|
||||
const apiToken = auth.secret_text;
|
||||
const response = await httpClient.sendRequest<TogglClient[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/clients`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(
|
||||
`${apiToken}:api_token`
|
||||
).toString('base64')}`,
|
||||
},
|
||||
});
|
||||
if (response.status === 200) {
|
||||
return {
|
||||
disabled: false,
|
||||
options: (response.body || []).map((client) => ({
|
||||
label: client.name,
|
||||
value: client.id,
|
||||
})),
|
||||
};
|
||||
}
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Error fetching clients',
|
||||
options: [],
|
||||
};
|
||||
},
|
||||
}),
|
||||
project_id: Property.Dropdown({
|
||||
auth:togglTrackAuth,
|
||||
displayName: 'Project',
|
||||
description: 'The project to create the task under.',
|
||||
required: true,
|
||||
refreshers: ['workspace_id'],
|
||||
options: async ({ auth, workspace_id }) => {
|
||||
if (!auth || !workspace_id) {
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Select a workspace first',
|
||||
options: [],
|
||||
};
|
||||
}
|
||||
const apiToken = auth.secret_text;
|
||||
const response = await httpClient.sendRequest<TogglProject[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/projects`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(
|
||||
`${apiToken}:api_token`
|
||||
).toString('base64')}`,
|
||||
},
|
||||
});
|
||||
if (response.status === 200) {
|
||||
return {
|
||||
disabled: false,
|
||||
options: (response.body || []).map((project) => ({
|
||||
label: project.name,
|
||||
value: project.id,
|
||||
})),
|
||||
};
|
||||
}
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Error fetching projects',
|
||||
options: [],
|
||||
};
|
||||
},
|
||||
}),
|
||||
optional_project_id: Property.Dropdown({
|
||||
auth:togglTrackAuth,
|
||||
displayName: 'Project',
|
||||
description: 'The project to associate the time entry with.',
|
||||
required: false,
|
||||
refreshers: ['workspace_id'],
|
||||
options: async ({ auth, workspace_id }) => {
|
||||
if (!auth || !workspace_id) {
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Select a workspace first',
|
||||
options: [],
|
||||
};
|
||||
}
|
||||
const apiToken = auth.secret_text;
|
||||
const response = await httpClient.sendRequest<TogglProject[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/projects`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(
|
||||
`${apiToken}:api_token`
|
||||
).toString('base64')}`,
|
||||
},
|
||||
});
|
||||
if (response.status === 200) {
|
||||
return {
|
||||
disabled: false,
|
||||
options: (response.body || []).map((project) => ({
|
||||
label: project.name,
|
||||
value: project.id,
|
||||
})),
|
||||
};
|
||||
}
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Error fetching projects',
|
||||
options: [],
|
||||
};
|
||||
},
|
||||
}),
|
||||
tags: Property.MultiSelectDropdown({
|
||||
auth:togglTrackAuth,
|
||||
displayName: 'Tags',
|
||||
description: 'Tags to associate with the time entry. You can create new tags by typing them.',
|
||||
required: false,
|
||||
refreshers: ['workspace_id'],
|
||||
options: async ({ auth, workspace_id }) => {
|
||||
if (!auth || !workspace_id) {
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Select a workspace first',
|
||||
options: [],
|
||||
};
|
||||
}
|
||||
const apiToken = auth.secret_text;
|
||||
const response = await httpClient.sendRequest<TogglTag[]>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/tags`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(
|
||||
`${apiToken}:api_token`
|
||||
).toString('base64')}`,
|
||||
},
|
||||
});
|
||||
if (response.status === 200) {
|
||||
return {
|
||||
disabled: false,
|
||||
options: (response.body || []).map((tag) => ({
|
||||
label: tag.name,
|
||||
value: tag.name,
|
||||
})),
|
||||
};
|
||||
}
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Error fetching tags',
|
||||
options: [],
|
||||
};
|
||||
},
|
||||
}),
|
||||
optional_task_id: Property.Dropdown({
|
||||
auth:togglTrackAuth,
|
||||
displayName: "Task",
|
||||
description: "The task to select.",
|
||||
required: false,
|
||||
refreshers: ['workspace_id', 'optional_project_id'],
|
||||
options: async ({ auth, workspace_id, optional_project_id }) => {
|
||||
if (!auth || !workspace_id || !optional_project_id) {
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Select a workspace and project first',
|
||||
options: [],
|
||||
};
|
||||
}
|
||||
const apiToken = auth.secret_text;
|
||||
|
||||
const response = await httpClient.sendRequest<{ data: TogglTask[] }>({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://api.track.toggl.com/api/v9/workspaces/${workspace_id}/tasks`,
|
||||
queryParams: {
|
||||
pid: optional_project_id as string
|
||||
},
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Basic ${Buffer.from(
|
||||
`${apiToken}:api_token`
|
||||
).toString('base64')}`,
|
||||
},
|
||||
});
|
||||
|
||||
if (response.status === 200) {
|
||||
return {
|
||||
disabled: false,
|
||||
options: (response.body.data || []).map((task) => ({
|
||||
label: task.name,
|
||||
value: task.id,
|
||||
})),
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
disabled: true,
|
||||
placeholder: 'Error fetching tasks',
|
||||
options: [],
|
||||
};
|
||||
}
|
||||
}),
|
||||
};
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
export function generateTogglWebhookInstructions(
|
||||
eventName: string,
|
||||
triggerName: string,
|
||||
description: string,
|
||||
eventDetails: string
|
||||
): string {
|
||||
return `
|
||||
## Setup Instructions
|
||||
|
||||
To use this trigger, you need to manually create a webhook in your Toggl Track account:
|
||||
|
||||
### 1. Access Toggl Track Webhooks
|
||||
- Log in to your Toggl Track account
|
||||
- Go to **Integrations > Webhooks** (Admin access required)
|
||||
- Click **"Create Webhook"** or **"Create your first webhook"**
|
||||
|
||||
### 2. Configure the Webhook
|
||||
1. **Name**: Enter a descriptive name (e.g., "Activepieces ${triggerName}")
|
||||
2. **Events**: Select **"${eventName}"** from the events dropdown
|
||||
3. **URL Endpoint**: Paste this webhook URL:
|
||||
\`\`\`text
|
||||
{{webhookUrl}}
|
||||
\`\`\`
|
||||
4. **Secret**: Enter a secret key for security (optional but recommended)
|
||||
|
||||
### 3. Complete Setup
|
||||
- Click **"Add Webhook"**
|
||||
- Toggl Track will validate your endpoint
|
||||
- The webhook will appear in your webhooks list when ready
|
||||
|
||||
### 4. Verification
|
||||
- Your webhook status should show as **"Validated"** (happens automatically)
|
||||
- You can use the **"Test"** option to verify it's working
|
||||
- ${description}
|
||||
|
||||
---
|
||||
|
||||
**Requirements:**
|
||||
- Admin permissions in your Toggl Track workspace
|
||||
- Limit: 5 webhooks per workspace user
|
||||
|
||||
**Event Details:**
|
||||
${eventDetails}
|
||||
|
||||
**Troubleshooting:**
|
||||
- If status shows **"Not validated"**, click "Test" to trigger auto-validation
|
||||
- If status shows **"Disabled"**, re-enable it from the 3-dot menu
|
||||
- If events aren't received, verify you selected "${eventName}" event
|
||||
|
||||
**Note:** This trigger uses manual webhook setup as recommended by Toggl Track. **Validation happens automatically** when you click "Test" or when Toggl sends the first ping. The webhook will be managed through your Toggl Track dashboard, not programmatically through ActivePieces.
|
||||
`;
|
||||
}
|
||||
|
||||
export const TOGGL_WEBHOOK_EVENTS = {
|
||||
CLIENT_CREATED: 'Client created',
|
||||
CLIENT_UPDATED: 'Client updated',
|
||||
CLIENT_DELETED: 'Client deleted',
|
||||
PROJECT_CREATED: 'Project created',
|
||||
PROJECT_UPDATED: 'Project updated',
|
||||
PROJECT_DELETED: 'Project deleted',
|
||||
TAG_CREATED: 'Tag created',
|
||||
TAG_UPDATED: 'Tag updated',
|
||||
TAG_DELETED: 'Tag deleted',
|
||||
TASK_CREATED: 'Task created',
|
||||
TASK_UPDATED: 'Task updated',
|
||||
TASK_DELETED: 'Task deleted',
|
||||
TIME_ENTRY_CREATED: 'Time entry created',
|
||||
TIME_ENTRY_UPDATED: 'Time entry updated',
|
||||
TIME_ENTRY_DELETED: 'Time entry deleted',
|
||||
WORKSPACE_CREATED: 'Workspace created',
|
||||
WORKSPACE_UPDATED: 'Workspace updated',
|
||||
WORKSPACE_DELETED: 'Workspace deleted',
|
||||
WORKSPACE_USER_CREATED: 'Workspace user created',
|
||||
WORKSPACE_USER_UPDATED: 'Workspace user updated',
|
||||
WORKSPACE_USER_DELETED: 'Workspace user deleted',
|
||||
PROJECT_GROUP_CREATED: 'Project group created',
|
||||
PROJECT_GROUP_UPDATED: 'Project group updated',
|
||||
PROJECT_GROUP_DELETED: 'Project group deleted',
|
||||
PROJECT_USER_CREATED: 'Project user created',
|
||||
PROJECT_USER_UPDATED: 'Project user updated',
|
||||
PROJECT_USER_DELETED: 'Project user deleted',
|
||||
} as const;
|
||||
@@ -0,0 +1,89 @@
|
||||
import {
|
||||
createTrigger,
|
||||
Property,
|
||||
TriggerStrategy,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
import {
|
||||
generateTogglWebhookInstructions,
|
||||
TOGGL_WEBHOOK_EVENTS,
|
||||
} from '../common/webhook-instructions';
|
||||
|
||||
export const newClient = createTrigger({
|
||||
auth: togglTrackAuth,
|
||||
name: 'new_client',
|
||||
displayName: 'New Client',
|
||||
description: 'Fires when a new client is created in a workspace.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
setupInstructions: Property.MarkDown({
|
||||
value: generateTogglWebhookInstructions(
|
||||
TOGGL_WEBHOOK_EVENTS.CLIENT_CREATED,
|
||||
'New Client',
|
||||
'Create a test client to ensure events are received',
|
||||
`This trigger will fire when clients are created and will include:
|
||||
- Client ID and details
|
||||
- Workspace information
|
||||
- Creation timestamp
|
||||
- Creator information
|
||||
- Client notes and status`
|
||||
),
|
||||
}),
|
||||
},
|
||||
sampleData: {
|
||||
id: 123456,
|
||||
name: 'Acme Corporation',
|
||||
wid: 987654,
|
||||
archived: false,
|
||||
at: '2025-08-29T10:15:30+00:00',
|
||||
creator_id: 6,
|
||||
notes: 'Important client for Q4 projects',
|
||||
},
|
||||
type: TriggerStrategy.WEBHOOK,
|
||||
|
||||
|
||||
async onEnable(context) {
|
||||
// Manual setup - no programmatic registration needed
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
// Manual setup - users manage webhooks in Toggl Track UI
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
const payload = context.payload.body as any;
|
||||
|
||||
// Handle validation pings automatically
|
||||
if (
|
||||
payload?.payload === 'ping' ||
|
||||
payload?.validation_code ||
|
||||
payload?.validation_code_url
|
||||
) {
|
||||
try {
|
||||
await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: payload.validation_code_url,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
return [
|
||||
{
|
||||
message: 'Webhook validation successful',
|
||||
timestamp: new Date().toISOString(),
|
||||
status: 'validated',
|
||||
},
|
||||
];
|
||||
} catch (error) {
|
||||
console.error('Failed to auto-validate webhook:', error);
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
return [payload];
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,97 @@
|
||||
import {
|
||||
createTrigger,
|
||||
Property,
|
||||
TriggerStrategy,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
import {
|
||||
generateTogglWebhookInstructions,
|
||||
TOGGL_WEBHOOK_EVENTS,
|
||||
} from '../common/webhook-instructions';
|
||||
|
||||
export const newProject = createTrigger({
|
||||
auth: togglTrackAuth,
|
||||
name: 'new_project',
|
||||
displayName: 'New Project',
|
||||
description: 'Fires when a new project is added.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
setupInstructions: Property.MarkDown({
|
||||
value: generateTogglWebhookInstructions(
|
||||
TOGGL_WEBHOOK_EVENTS.PROJECT_CREATED,
|
||||
'New Project',
|
||||
'Create a test project to ensure events are received',
|
||||
`This trigger will fire when projects are created and will include:
|
||||
- Project ID and details
|
||||
- Workspace information
|
||||
- Client association (if any)
|
||||
- Creation timestamp
|
||||
- Creator information
|
||||
- Project settings (color, billable status, etc.)`
|
||||
),
|
||||
}),
|
||||
},
|
||||
sampleData: {
|
||||
id: 123456789,
|
||||
workspace_id: 987654,
|
||||
client_id: 456789,
|
||||
name: 'New Website Development',
|
||||
is_private: false,
|
||||
active: true,
|
||||
at: '2025-08-29T10:15:30+00:00',
|
||||
color: '#3750b5',
|
||||
billable: true,
|
||||
template: false,
|
||||
auto_estimates: false,
|
||||
estimated_hours: 40,
|
||||
rate: 75.0,
|
||||
rate_last_updated: null,
|
||||
currency: 'USD',
|
||||
recurring: false,
|
||||
recurring_parameters: null,
|
||||
current_period: null,
|
||||
fixed_fee: null,
|
||||
actual_hours: 0,
|
||||
actual_seconds: 0,
|
||||
},
|
||||
type: TriggerStrategy.WEBHOOK,
|
||||
|
||||
async onEnable(context) {
|
||||
// Manual setup - no programmatic registration needed
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
// Manual setup - users manage webhooks in Toggl Track UI
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
const payload = context.payload.body as any;
|
||||
|
||||
if (payload?.payload === 'ping' || payload?.validation_code || payload?.validation_code_url) {
|
||||
try {
|
||||
await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: payload.validation_code_url,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('Failed to auto-validate webhook:', error);
|
||||
}
|
||||
|
||||
return [
|
||||
{
|
||||
message: 'Webhook validation successful',
|
||||
timestamp: new Date().toISOString(),
|
||||
status: 'validated',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
return [payload];
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,80 @@
|
||||
import {
|
||||
createTrigger,
|
||||
Property,
|
||||
TriggerStrategy,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
import {
|
||||
generateTogglWebhookInstructions,
|
||||
TOGGL_WEBHOOK_EVENTS,
|
||||
} from '../common/webhook-instructions';
|
||||
|
||||
export const newTag = createTrigger({
|
||||
auth: togglTrackAuth,
|
||||
name: 'new_tag',
|
||||
displayName: 'New Tag',
|
||||
description: 'Triggers when a new tag is created',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
setupInstructions: Property.MarkDown({
|
||||
value: generateTogglWebhookInstructions(
|
||||
TOGGL_WEBHOOK_EVENTS.TAG_CREATED,
|
||||
'New Tag',
|
||||
'Create a test tag to ensure events are received',
|
||||
`This trigger will fire when tags are created and will include:
|
||||
- Tag ID and details
|
||||
- Tag name
|
||||
- Workspace information
|
||||
- Creation timestamp
|
||||
- Creator information`
|
||||
),
|
||||
}),
|
||||
},
|
||||
sampleData: {
|
||||
id: 456789,
|
||||
name: 'development',
|
||||
workspace_id: 987654,
|
||||
at: '2025-08-29T10:15:30+00:00',
|
||||
creator_id: 6,
|
||||
},
|
||||
type: TriggerStrategy.WEBHOOK,
|
||||
|
||||
async onEnable(context) {
|
||||
// Manual setup - no programmatic registration needed
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
// Manual setup - users manage webhooks in Toggl Track UI
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
const payload = context.payload.body as any;
|
||||
|
||||
if (payload?.payload === 'ping' || payload?.validation_code || payload?.validation_code_url) {
|
||||
try {
|
||||
await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: payload.validation_code_url,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('Failed to auto-validate webhook:', error);
|
||||
}
|
||||
|
||||
return [
|
||||
{
|
||||
message: 'Webhook validation successful',
|
||||
timestamp: new Date().toISOString(),
|
||||
status: 'validated',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
return [payload];
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,94 @@
|
||||
import {
|
||||
createTrigger,
|
||||
Property,
|
||||
TriggerStrategy,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
import {
|
||||
generateTogglWebhookInstructions,
|
||||
TOGGL_WEBHOOK_EVENTS,
|
||||
} from '../common/webhook-instructions';
|
||||
|
||||
export const newTask = createTrigger({
|
||||
auth: togglTrackAuth,
|
||||
name: 'new_task',
|
||||
displayName: 'New Task',
|
||||
description: 'Fires when a new task is created.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
optional_project_id: togglCommon.optional_project_id,
|
||||
setupInstructions: Property.MarkDown({
|
||||
value: generateTogglWebhookInstructions(
|
||||
TOGGL_WEBHOOK_EVENTS.TASK_CREATED,
|
||||
'New Task',
|
||||
'Create a test task to ensure events are received',
|
||||
`This trigger will fire when tasks are created and will include:
|
||||
- Task ID and details
|
||||
- Project association
|
||||
- Workspace information
|
||||
- Creation timestamp
|
||||
- Creator information
|
||||
- Task settings (estimated time, active status, etc.)
|
||||
|
||||
**Note:** You can filter tasks by project using the optional project filter above.`
|
||||
),
|
||||
}),
|
||||
},
|
||||
sampleData: {
|
||||
id: 789123456,
|
||||
name: 'Design homepage mockup',
|
||||
project_id: 123456789,
|
||||
workspace_id: 987654,
|
||||
user_id: 6,
|
||||
estimated_seconds: 7200,
|
||||
active: true,
|
||||
at: '2025-08-29T10:15:30+00:00',
|
||||
tracked_seconds: 0,
|
||||
},
|
||||
type: TriggerStrategy.WEBHOOK,
|
||||
|
||||
async onEnable(context) {
|
||||
// Manual setup - no programmatic registration needed
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
// Manual setup - users manage webhooks in Toggl Track UI
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
const payload = context.payload.body as any;
|
||||
|
||||
if (payload?.payload === 'ping' || payload?.validation_code || payload?.validation_code_url) {
|
||||
try {
|
||||
await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: payload.validation_code_url,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('Failed to auto-validate webhook:', error);
|
||||
}
|
||||
|
||||
return [
|
||||
{
|
||||
message: 'Webhook validation successful',
|
||||
timestamp: new Date().toISOString(),
|
||||
status: 'validated',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (context.propsValue.optional_project_id && payload?.project_id) {
|
||||
if (payload.project_id !== context.propsValue.optional_project_id) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
return [payload];
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,104 @@
|
||||
import {
|
||||
AppConnectionValueForAuthProperty,
|
||||
createTrigger,
|
||||
TriggerStrategy,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
import {
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
DedupeStrategy,
|
||||
Polling,
|
||||
pollingHelper,
|
||||
} from '@activepieces/pieces-common';
|
||||
|
||||
const polling: Polling<AppConnectionValueForAuthProperty<typeof togglTrackAuth>, Record<string, any>> = {
|
||||
strategy: DedupeStrategy.TIMEBASED,
|
||||
items: async ({ auth, propsValue }) => {
|
||||
const authHeader = `Basic ${Buffer.from(`${auth.secret_text}:api_token`).toString('base64')}`;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: 'https://api.track.toggl.com/api/v9/me/time_entries',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': authHeader,
|
||||
},
|
||||
});
|
||||
|
||||
const timeEntries = response.body as any[];
|
||||
|
||||
const runningEntries = timeEntries.filter((entry: any) => {
|
||||
const isRunning = entry.duration < 0;
|
||||
const isInWorkspace = !propsValue['workspace_id'] ||
|
||||
entry.workspace_id === propsValue['workspace_id'];
|
||||
return isRunning && isInWorkspace;
|
||||
});
|
||||
|
||||
return runningEntries.map((entry: any) => ({
|
||||
epochMilliSeconds: new Date(entry.start).getTime(),
|
||||
data: entry,
|
||||
}));
|
||||
},
|
||||
};
|
||||
|
||||
export const newTimeEntryStarted = createTrigger({
|
||||
auth: togglTrackAuth,
|
||||
name: 'new_time_entry_started',
|
||||
displayName: 'New Time Entry Started',
|
||||
description: 'Fires when a new time entry is started and is currently running.',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
},
|
||||
sampleData: {
|
||||
id: 1234567891,
|
||||
workspace_id: 987654,
|
||||
project_id: 123987456,
|
||||
task_id: null,
|
||||
billable: false,
|
||||
start: '2025-08-29T11:15:00Z',
|
||||
stop: null,
|
||||
duration: -1734567890,
|
||||
description: 'Working on API integration',
|
||||
tags: ['development', 'api'],
|
||||
at: '2025-08-29T11:15:00+00:00',
|
||||
user_id: 6,
|
||||
created_with: 'Toggl Track',
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
|
||||
async onEnable(context) {
|
||||
await pollingHelper.onEnable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
await pollingHelper.onDisable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
return await pollingHelper.poll(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
files: context.files,
|
||||
});
|
||||
},
|
||||
|
||||
async test(context) {
|
||||
return await pollingHelper.test(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
files: context.files,
|
||||
});
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,107 @@
|
||||
import {
|
||||
createTrigger,
|
||||
Property,
|
||||
TriggerStrategy,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import { togglCommon } from '../common';
|
||||
import {
|
||||
generateTogglWebhookInstructions,
|
||||
TOGGL_WEBHOOK_EVENTS,
|
||||
} from '../common/webhook-instructions';
|
||||
|
||||
export const newTimeEntry = createTrigger({
|
||||
auth: togglTrackAuth,
|
||||
name: 'new_time_entry',
|
||||
displayName: 'New Time Entry',
|
||||
description:
|
||||
'Fires when a new time entry is added (with optional project/task filter).',
|
||||
props: {
|
||||
workspace_id: togglCommon.workspace_id,
|
||||
optional_project_id: togglCommon.optional_project_id,
|
||||
task_id: togglCommon.optional_task_id,
|
||||
setupInstructions: Property.MarkDown({
|
||||
value: generateTogglWebhookInstructions(
|
||||
TOGGL_WEBHOOK_EVENTS.TIME_ENTRY_CREATED,
|
||||
'New Time Entry',
|
||||
'Create a test time entry to ensure events are received',
|
||||
`This trigger will fire when time entries are created and will include:
|
||||
- Time entry ID and details
|
||||
- Start/stop times and duration
|
||||
- Project and task associations (if any)
|
||||
- Workspace information
|
||||
- Description and tags
|
||||
- Creator information
|
||||
- Billable status
|
||||
|
||||
**Note:** You can filter time entries by project and task using the optional filters above.`
|
||||
),
|
||||
}),
|
||||
},
|
||||
sampleData: {
|
||||
id: 1234567890,
|
||||
workspace_id: 987654,
|
||||
project_id: 123987456,
|
||||
task_id: 789123456,
|
||||
billable: false,
|
||||
start: '2025-08-29T11:00:00Z',
|
||||
stop: '2025-08-29T11:30:00Z',
|
||||
duration: 1800,
|
||||
description: 'Weekly team meeting',
|
||||
tags: ['meeting', 'internal'],
|
||||
at: '2025-08-29T11:30:00+00:00',
|
||||
user_id: 6,
|
||||
created_with: 'Toggl Track',
|
||||
},
|
||||
type: TriggerStrategy.WEBHOOK,
|
||||
|
||||
async onEnable(context) {
|
||||
// Manual setup - no programmatic registration needed
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
// Manual setup - users manage webhooks in Toggl Track UI
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
const payload = context.payload.body as any;
|
||||
|
||||
if (payload?.payload === 'ping' || payload?.validation_code || payload?.validation_code_url) {
|
||||
try {
|
||||
await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: payload.validation_code_url,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('Failed to auto-validate webhook:', error);
|
||||
}
|
||||
|
||||
return [
|
||||
{
|
||||
message: 'Webhook validation successful',
|
||||
timestamp: new Date().toISOString(),
|
||||
status: 'validated',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (context.propsValue.optional_project_id && payload?.project_id) {
|
||||
if (payload.project_id !== context.propsValue.optional_project_id) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
if (context.propsValue.task_id && payload?.task_id) {
|
||||
if (payload.task_id !== context.propsValue.task_id) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
return [payload];
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,110 @@
|
||||
import {
|
||||
AppConnectionValueForAuthProperty,
|
||||
createTrigger,
|
||||
TriggerStrategy,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { togglTrackAuth } from '../..';
|
||||
import {
|
||||
HttpMethod,
|
||||
httpClient,
|
||||
DedupeStrategy,
|
||||
Polling,
|
||||
pollingHelper,
|
||||
} from '@activepieces/pieces-common';
|
||||
|
||||
const polling: Polling<AppConnectionValueForAuthProperty<typeof togglTrackAuth>, Record<string, never>> = {
|
||||
strategy: DedupeStrategy.TIMEBASED,
|
||||
items: async ({ auth }) => {
|
||||
const authHeader = `Basic ${Buffer.from(`${auth.secret_text}:api_token`).toString('base64')}`;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: 'https://api.track.toggl.com/api/v9/workspaces',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': authHeader,
|
||||
},
|
||||
});
|
||||
|
||||
const workspaces = response.body as any[];
|
||||
|
||||
return workspaces.map((workspace: any) => ({
|
||||
epochMilliSeconds: new Date(workspace.at || workspace.last_modified).getTime(),
|
||||
data: workspace,
|
||||
}));
|
||||
},
|
||||
};
|
||||
|
||||
export const newWorkspace = createTrigger({
|
||||
auth: togglTrackAuth,
|
||||
name: 'new_workspace',
|
||||
displayName: 'New or Updated Workspace',
|
||||
description: 'Fires when a workspace is created or updated (Toggl only supports workspace updated events).',
|
||||
props: {},
|
||||
sampleData: {
|
||||
id: 20763798,
|
||||
organization_id: 20764737,
|
||||
name: 'Workspace',
|
||||
premium: true,
|
||||
business_ws: true,
|
||||
admin: true,
|
||||
role: 'admin',
|
||||
suspended_at: null,
|
||||
server_deleted_at: null,
|
||||
default_hourly_rate: null,
|
||||
rate_last_updated: null,
|
||||
default_currency: 'USD',
|
||||
only_admins_may_create_projects: false,
|
||||
only_admins_may_create_tags: false,
|
||||
only_admins_see_team_dashboard: false,
|
||||
projects_billable_by_default: true,
|
||||
projects_private_by_default: true,
|
||||
projects_enforce_billable: false,
|
||||
limit_public_project_data: false,
|
||||
last_modified: '2025-09-01T00:00:00Z',
|
||||
reports_collapse: true,
|
||||
rounding: 1,
|
||||
rounding_minutes: 0,
|
||||
api_token: '72565784d2250b9ba2f2d61039ba9fee',
|
||||
at: '2025-09-01T09:23:02+00:00',
|
||||
logo_url: 'https://assets.track.toggl.com/images/workspace.jpg',
|
||||
ical_enabled: true,
|
||||
working_hours_in_minutes: null,
|
||||
active_project_count: 1,
|
||||
},
|
||||
type: TriggerStrategy.POLLING,
|
||||
|
||||
async onEnable(context) {
|
||||
await pollingHelper.onEnable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
|
||||
async onDisable(context) {
|
||||
await pollingHelper.onDisable(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
});
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
return await pollingHelper.poll(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
files: context.files,
|
||||
});
|
||||
},
|
||||
|
||||
async test(context) {
|
||||
return await pollingHelper.test(polling, {
|
||||
auth: context.auth,
|
||||
store: context.store,
|
||||
propsValue: context.propsValue,
|
||||
files: context.files,
|
||||
});
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"importHelpers": true,
|
||||
"noImplicitOverride": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noPropertyAccessFromIndexSignature": true
|
||||
},
|
||||
"files": [],
|
||||
"include": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.lib.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../../../../dist/out-tsc",
|
||||
"declaration": true,
|
||||
"types": ["node"]
|
||||
},
|
||||
"include": ["src/**/*.ts"]
|
||||
}
|
||||
Reference in New Issue
Block a user