Terminverwaltung - gelöschte Einträge aus Google Kalender löschen via make.com

Hallo zusammen,

nachdem es mir gelungen ist, Termine aus Seatable in den Google-Kalender einzutragen und vorhandene Einträge upzudaten, soll es nun auch möglich sein, gelöschte Termine aus dem Google-Kalender zu löschen. Der Umweg über make und Google ist notwendig, da (soweit ich herausfinden konnte) noch keine Möglichkeit existiert, den Seatable-Kalender in eine Dritt-App (iCloud-Kalender o.ä.) zu übernehmen.

Mein Vorgehen, welches nicht funktionieren will:

  1. Make-Modul “Make an API Call” an Seatable (GET)

  2. danach folgender Filter:

  3. das Modul “Google search Events” mit der Query auf {{1.body.deleted_rows.row_id}}
    {{1.body.deleted_rows.detail.row_name_option}} aus der Datenquelle Seatable

  4. als letztes folgt das Modul “Google Calender - delete an Event”
    Hier würde ich normalerweise als “Event-ID” die Event-ID aus der Liste der verfügbaren Events wählen, allerdings erhalte ich den Fehler, der Wert sei leer. Die Summary kann ich als Abgleich nicht nutzen, da der entsprechende Eintrag aus Seatable {(1.body.deleted_rows.detail.row_name_option} leer angeliefert wird.

Habt ihr eine Idee zur Umsetzung oder habt diese Problematik bereits lösen können?

Bis für jeden Hinweis dankbar, stehe gerade “etwas” auf der Datenleitung :wink:

Bitte beschreibe, welchen GET API-Endpunkt du genau verwendet und was genau als Ergebnis zurückkommt und was du dann damit machst.

diese URL nutze ich: /dtable-server/api/v1/dtables/{BASE_UUID}/deleted-rows/

und diese Header (von make automatisch gesetzt)

Ergebnis:
INPUT
image

OUTPUT:


Weil der Wert {1. body.deleted_rows.detail.row_name_option} leer geliefert wird, filtere ich auf Einträge , die existieren, aber NULL sind. Diese Events werden in der Google-Suche berücksichtigt, denn nur die gelöschten Einträge (Seatable) sollen auch aus dem Kalender gelöscht werden.
“Google search events” nutzt diese Query:

Im Modul “Google delete events” stehen folgende Einträge zur Verfügung:

und aus SeaTable:

Ich frage mich, welchen Wert ich wie ermitteln muss, damit Google das richtige Event löscht.

Ich versuche zusammenzufassen, was ich verstehe:

  1. Du löscht in SeaTable Kalendereinträge
  2. Die SeaTable API liefert dir Einträge, die gelöscht wurden.
  3. Nun willst du die zugehörigen Kalendereinträge in Google Kalender löschen.

Ist diese Zusammenfassung richtig?
Dann stellt sich mir die Frage, wie du die richtigen Kalendereinträge für ein Update bei Google Kalender triffst? Genauso identifizierst du die Kalendereinträge und löscht diese dann.

Deine Zusammenfassung ist richtig.
Make.com lässt sich hier gerade nicht aufrufen, ich liefer Dir die Infos nach.
Aber der große Unterschied ist, dass ich bei einem Update einerseits eine Event-ID / Row-ID und zusätzlich die Terminbeschreibung “Summary” erhalte.
Detailinfos ergänze ich, sobald make wieder funktioniert.

Update:
Das Update eines Events im Google-Calender (GC) ist wie folgt aufgebaut:

  1. Trigger Seatable (ST) “List Rows”
  2. GC “Search Event” (Query “Terminbeschreibung” (ST))
  3. Filter auf GC “Summary” EXISTS
  4. GC “Update Event”
    • Event ID: “Ecent_ID”(GC)
    • Event Name: “Terminbeschreibung” (ST)
    • Event Date: “Termin” (ST)

Wie vorhin bereits hingewiesen, hier ist der große Unterschied, dass es eine Terminbeschreibung aus ST gibt. Diese ist bei der Eventlöschung nicht mehr vorhanden ({1. body.deleted_rows.detail.row_name_option}), so dass Das Make-Modul “Event löschen” keinen Anhaltspunkt findet, welches Event gelöscht werden soll, zumal (theoretisch) an einem Tag mehrere Events vorhanden sein können, so dass sich die Einschränkung über ein Eventdatum ausschließt.

Wäre es nicht denkbar, die API um die Ausgabe des fehlenden Wertes zu erweitern?

Auslöser könnte auch ein Webhook sein, allerdings bleibt die Problematik bestehen, aus den über die API resultierenden Daten den Google Termin zu finden, der gelöscht werden soll.

Hatte mir parallel Zapier zu diesem Thema angesehen, mitbdem kostenfreien Abo lässt sich der Sachverhalt m.E. jedoch nicht lösen.

Jetzt verstehe ich die Problematik. Gelöschte Einträge liefern nicht mehr die “Row-ID” zurück.
Aus meiner Sicht solltest du folgenden Weg gehen:

  • anstatt die Einträge in SeaTable zu löschen, setzt du einen Status auf z.B. gelöscht.
  • mit Make suchst du regelmäßig nach Einträgen mit diesem Status
  • das liefert dir die Row-ID, die du dann nutzen kannst, um sowohl die Zeile in SeaTable als auch den Kalendereintrag zu löschen.

Hey Chris,

könntest du die Terminverwaltung als Template in Make zur Verfügung stellen?
Also “Termine aus Seatable in den Google-Kalender einzutragen und vorhandene Einträge upzudaten”

Viele Grüße
Nico

Hi Nico,

Kann ich in den nächsten Tagen machen. Kennst Du dazu das Vorgehen?

Eine gute Idee, das Vorgehen klingt logisch, ich werde das in den nächsten Tagen testen und Dir Rückmeldung geben.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.