developers · Aug 12, 2025

Ein Entwickler-Guide: Zwei-Wege-Synchronisation mit der Quire API aufbauen

KI-übersetzt
· Auf Englisch ansehen

Quire Zwei-Wege-Synchronisation: Architekturdiagramm mit bidirektionalem Datenfluss zwischen Quire und externen Anwendungen

Zuletzt aktualisiert: 20. Juli 2026

TL;DR

Eine Zwei-Wege-Synchronisation zwischen Quire und einer anderen App braucht einen Middleware-Server, der Webhooks von beiden Seiten empfängt und über die jeweilige API die Änderung spiegelt. Architektur: Quire ↔ Ihre App ↔ Andere App. Vier Umsetzungsschritte: den Webhook-Server aufsetzen, ihn bei Quire registrieren (als Projekt-Follower hinzufügen), ihn bei der anderen App registrieren, dann Events anhand der Aktivitätstypen aus der Quire API-Dokumentation verarbeiten. Zwei Sicherheitsregeln: den Ursprung jeder Änderung taggen, um Endlosschleifen zu vermeiden, und eine ID-Zuordnung zwischen Quire-Aufgaben-IDs und den Element-IDs der anderen App führen. Die Google Calendar Two-Way Sync App ist ein funktionierendes Beispiel.

Wenn Daten in zwei Apps liegen, wird jede Aktion entweder doppelt erledigt oder gerät stillschweigend aus dem Takt. Eine Zwei-Wege-Synchronisation löst dieses Doppelerfassungsproblem, indem Quire und die andere App automatisch über Webhooks Updates austauschen. Genau für dieses Muster ist die Open API von Quire gebaut.

Die Kosten getrennter Tools sind gut belegt. Laut McKinseys Studie zur „social economy" verbringen Wissensarbeiter fast 20 % ihrer Woche damit, interne Informationen zu suchen, statt ihre eigentliche Arbeit zu erledigen. Eine verlässliche Synchronisation nimmt automatisch einen guten Teil dieses Aufwands weg.

Die Google Calendar Two-Way Sync App ist das klassische Beispiel: Quire-Aufgaben und Google-Kalender-Ereignisse bleiben ohne manuellen Abgleich aufeinander abgestimmt. Dieser Beitrag zeigt, wie sich dasselbe Muster gegen die API jeder anderen App umsetzen lässt.

Google Calendar Two-Way Sync ist für Premium-Abos und höher gedacht. Weitere Informationen finden Sie auf unserer Preisseite.

Bestandteile einer Quire-Zwei-Wege-Synchronisation

Komponente Rolle
Quire-App Stellt API-Zugangsdaten bereit; als Projekt-Follower für Webhooks registriert
Middleware-Server (Ihre App) Empfängt Webhooks von beiden Seiten; ruft die jeweilige API auf, um die Änderung zu spiegeln
Andere App (z. B. Google Calendar) Quelle der Ereignisse auf ihrer Seite; Ziel der API-Schreibvorgänge
Webhook-URL in den Quire-App-Einstellungen Wohin Quire Aktivitätsereignisse per POST sendet
ID-Zuordnungstabelle Verknüpft Quire-Aufgaben-IDs mit den Element-IDs der anderen App
Ursprungs-Tag an jeder Änderung Verhindert endlose Update-Schleifen

Wie funktioniert der Zwei-Wege-Synchronisations-Workflow?

Man kann sich die Zwei-Wege-Synchronisation als Gespräch zwischen zwei Apps vorstellen. Wenn Sie eine Aufgabe in Quire aktualisieren, teilt sie der anderen App die Änderung mit. Und wenn in dieser anderen App etwas aktualisiert wird, teilt sie es Quire mit. So bleiben Ihre Informationen überall konsistent.

Diagramm des Zwei-Wege-Synchronisations-Workflows: Ereignisfluss zwischen Quire, Middleware und externer App

Welche Umsetzungsschritte sind nötig?

Der erste Schritt ist das Einrichten Ihrer Quire-App. Sie müssen eine erstellen, um die nötigen Zugangsdaten für den API-Zugriff auf Ihr Quire-Projekt zu erhalten.

Eine Schritt-für-Schritt-Anleitung, wie Sie Ihre eigene App mit der Quire API erstellen, finden Sie in unserem Blogbeitrag.

Um eine Zwei-Wege-Synchronisation umzusetzen, müssen Sie eine Middleware-App (Ihre App) entwickeln, die als Brücke zwischen Quire und Ihrer Ziel-App (etwa Google Calendar) fungiert. Stellen Sie sie sich wie einen Übersetzer vor: Sie holt Informationen von einer Seite, verarbeitet sie und sendet dann die passenden Befehle an die andere Seite. Der Ablauf sieht so aus: Quire ↔ Ihre App ↔ Andere App.

Wie baut man das Schritt für Schritt?

1. Eine App zur Event-Verarbeitung vorbereiten

Um die Zwei-Wege-Synchronisation zu ermöglichen, müssen Sie zunächst Ihre eigene Server-App als Middleware einrichten. Diese App ist dafür zuständig, Webhook-POST-Anfragen sowohl von Quire als auch von der anderen App zu empfangen. Ihr Server sollte in der Lage sein:

  • eingehende HTTP-POST-Anfragen (Webhook-Events) von Quire und der anderen App entgegenzunehmen,
  • die Event-Payloads zu parsen und zu bestimmen, welche Aktionen nötig sind,
  • über die jeweiligen APIs die Daten in Quire oder der anderen App entsprechend zu aktualisieren.

Sie können diese Server-App mit jeder beliebigen Technologie bauen, etwa Node.js, Python oder Ruby. In den folgenden Abschnitten verwenden wir Node.js, um ein einfaches Beispiel für den Empfang und die Verarbeitung von Webhook-Events zu zeigen. Stellen Sie sicher, dass Ihr Server aus dem Internet erreichbar ist, damit Quire und die andere App ihm Webhook-Events senden können.

Hier ein einfaches Node.js-Beispiel mit Express:

const express = require('express');
const app = express();
app.use(express.json());

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

2. Einen Webhook in Quire einrichten, um Aufgaben-Updates an Ihre App zu senden

Als Nächstes müssen Sie in Ihrem Server eine Route erstellen, um Webhook-Events von Quire zu empfangen.

app.post('/webhook', (req, res) => {
  console.log('Received webhook event:', req.body);
  // TODO: Handle the event and update Quire or other app via API
  res.status(200).send('Event received');
});

In diesem Beispiel lautet die Webhook-Route /webhook, die vollständige URL ist also ${your-host}/webhook.

Kopieren Sie diese Webhook-URL und fügen Sie sie in die Quire-App-Einstellungen ein, damit Quire weiß, wohin Ereignisbenachrichtigungen an Ihre App gesendet werden sollen.

Quire-App-Einstellungen mit dem Konfigurationsfeld für die Webhook-URL

Zusätzlich müssen Sie Ihre Quire-App als Follower des zu synchronisierenden Projekts registrieren. So stellen Sie sicher, dass Ihre App Benachrichtigungen für relevante Updates erhält.

Eine Schritt-für-Schritt-Anleitung, wie Sie über die Quire API Benachrichtigungen empfangen, finden Sie in unserem Guide.

3. Einen Webhook in der anderen App einrichten, um deren Updates an Ihre App zu senden

Um Updates aus der anderen App mit Quire zu synchronisieren, müssen Sie in Ihrem Server ebenfalls eine Route erstellen, um Webhook-Events dieser App zu empfangen. Der Registrierungsprozess ähnelt dem oben gezeigten Beispiel für Quire. Konfigurieren Sie einfach die andere App so, dass sie ihre Ereignisbenachrichtigungen an den Webhook-Endpunkt Ihrer Middleware-App sendet, und stellen Sie sicher, dass Ihr Server diese eingehenden Events angemessen verarbeiten kann.

4. Eingehende Events verarbeiten und Daten in Quire und der anderen App über deren APIs aktualisieren

Sobald Ihre App Webhook-Events sowohl von Quire als auch von der anderen App empfängt, müssen Sie Logik implementieren, um diese Events zu verarbeiten und die Daten zwischen beiden Plattformen zu synchronisieren. Dazu gehört typischerweise:

  • Die Event-Payloads parsen, um zu erkennen, was sich geändert hat (z. B. Aufgabe erstellt, aktualisiert oder gelöscht). Weitere Details zur Event-Struktur finden Sie im Quire API-Dokument – Benachrichtigungsereignisse.
  • Bestimmen, welche API-Aufrufe nötig sind, um diese Änderungen in der anderen App abzubilden.
  • Die passenden API-Anfragen an Quire oder die andere App senden, um die Daten synchron zu halten.
  • Eine Zuordnung zwischen Quire-Aufgaben-IDs und den Element-IDs Ihrer App pflegen, damit Updates korrekt verknüpft werden.

Durch die sorgfältige Verarbeitung eingehender Events und die Aktualisierung der Daten über die APIs stellt Ihre App sicher, dass Änderungen auf beiden Seiten korrekt abgebildet werden und eine verlässliche Zwei-Wege-Synchronisation erhalten bleibt.

Hier ein Beispiel mit Node.js und axios:

const axios = require('axios');

app.post('/webhook', (req, res) => {
  const { type } = req.body.data;
  // Reference of activity types: 
  // https://github.com/quire-api/quire-api/blob/master/docs/activity_types.md
  switch (type) {
    case 0: //Quire task created
      onQuireTaskCreate();
      break; 
    case 1: //Quire task deleted
      onQuireTaskDelete();
      break;
  }
  res.status(200).send('Event received');
});

// Route for handling events from another app to Quire
app.post('/anotherwebhook', async (req, res) => {
  const { isCreate, id, name, projectId } = req.body;
  if (isCreate) {
    // Create a task in the Quire project
    await axios.post(`https://quire.io/api/task/${projectId}`, { name });
    // Optionally, store the mapping between your app's id and Quire's task id
  } else {
    // Retrieve the corresponding Quire task id using your mapping logic
    const taskOid = getTaskIdByAppEventId(id, projectId);
    // Delete the task from the Quire project
    await axios.delete(`https://quire.io/api/task/${taskOid}`);
  }
  res.status(200).send('Event processed successfully');
});

Dieses Beispiel zeigt, wie man Erstellungs- und Löschereignisse aus einer anderen App verarbeitet und mit Quire synchronisiert. Achten Sie darauf, eine ordentliche Fehlerbehandlung zu implementieren und die ID-Zuordnung für eine verlässliche Synchronisation zu pflegen.

Was sind die wichtigsten Punkte, die es zu beachten gilt?

Zwei Sicherheitsregeln decken die Fehlerquellen ab, die jede erste Implementierung tückisch machen:

  • Verfolgen Sie den Ursprung jeder Änderung. Taggen Sie Updates, die Ihr Sync-Prozess ausgelöst hat, und ignorieren Sie sie, wenn sie als Webhook zurückkommen. Ohne das sendet Quire ein Update an die andere App, die andere App löst einen Webhook zurück aus, Ihr Server sendet erneut, und die Schleife wiederholt sich endlos.
  • Halten Sie die Datenformate konsistent. Ein Feld, das in Quire eine bestimmte Bedeutung hat (etwa eine Markdown-Beschreibung), muss unter Umständen explizit umgewandelt werden, bevor es als Kalenderereignis-Beschreibung, Klartext-Notiz oder anderes Zielformat ankommt.

Was ist der nächste Schritt?

Open API plus Webhooks machen aus Quire und Ihren anderen Tools eine einzige Quelle der Wahrheit statt zwei konkurrierender. Beginnen Sie mit der kleinstmöglichen sinnvollen Synchronisation (ein Event-Typ, eine Richtung) und prüfen Sie, ob die Schleife durchgängig funktioniert, bevor Sie erweitern.

Verwandter Beitrag: Externe Tools über die Quire API integrieren — am Beispiel von n8n — ein durchgerechnetes Beispiel, falls Sie lieber mit einem No-Code-Automatisierungstool statt einem eigenen Server starten möchten.

Aufgabenverwaltungssoftware, um große Ziele in den nächsten kleinen Schritt herunterzubrechen

Häufig gestellte Fragen

Was ist eine Zwei-Wege-Synchronisation zwischen Quire und einer anderen App?

Eine bidirektionale Verbindung, bei der Änderungen in beide Richtungen fließen: Änderungen in Quire werden an die andere App gesendet, und Änderungen dort werden zurück zu Quire gesendet. Die Google Calendar Two-Way Sync App ist ein funktionierendes Beispiel.

Was brauche ich, um eine Zwei-Wege-Synchronisation mit der Quire API zu bauen?

Eine Quire-App mit API-Zugangsdaten, einen aus dem Internet erreichbaren Middleware-Server zum Empfangen von Webhooks und Logik, um Events zwischen beiden APIs zu übersetzen. Jede Backend-Sprache funktioniert.

Welche Rolle spielt die Middleware-App?

Sie fungiert als Übersetzer zwischen Quire und dem anderen Dienst, empfängt Webhook-Events, entscheidet, welche API-Aufrufe nötig sind, und pflegt die Zuordnung zwischen Quire-Aufgaben-IDs und den Element-IDs der anderen App.

Wie verhindere ich Endlosschleifen bei der Synchronisation?

Verfolgen Sie, woher jede Änderung stammt, und ignorieren Sie Updates, die durch Ihren eigenen Sync-Prozess ausgelöst wurden. Ohne diese Absicherung springt jedes Update endlos zwischen den beiden Apps hin und her.

Welcher Quire-Plan wird für Google Calendar Two-Way Sync benötigt?

Premium und höher. Die aktuellen Limits der Stufen finden Sie auf der Preisseite.

Whiter
Software Engineer