0

Make: Mit einem Button aus Ninox Szenario ausführen

Hallo Forum,

ich möchte gerne per Knopfdruck aus Ninox heraus ein Szenario ausführen.
Kann mir jemand mit dem nötigen Code für den Button weiterhelfen?

Vielen Dank im Voraus!

Gruß, Oliver

18 Antworten

null
    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Dazu benutzt man meist einen Webhook in Make als ersten Node.
    let vUrl := "Url-MakeWebhook"
    do as server
    let vResponse := http("POST",vUrl,{},null)
    end

    Wenn man noch Daten mit übergeben möchte, erstellt man einen JSON-Body.

    let vBody := {RecordId : number(this)}

    und ändert den http() wie folgt:

    let vResponse := http("POST",vUrl,{},vBody)

    • CitizenDeveloper
    • Oliver_meerkamp
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Danke Uwe, aber damit bekomme ich es nicht hin.

    Mein Szenario beginnt mit einem "watch Emails" Modul, was zeitgesteuert die mails abruft.
    Das Szenatio läuft auch zeitgesteuert einwandfrei.
    Nur möchte ich es zusätzlich auch on demand auslösen können.
    Ich habe im Make Forum einen Beitrag dazu gefunden, aber ich bin anscheinend irgendwie zu doof dafür, dass umzusetzen 🙈

    https://community.make.com/t/run-scenario-on-demand-from-external-source/4333/4

     

    und hier steht auch was in der api dokumentation:
    https://www.make.com/en/api-documentation/scenarios-scenarioId-run-post

    aber ich verstehe leider überhaupt nicht, wie ich das in Ninox umsetzen kann. 😵

      • UweG
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Oliver Du möchtest 2 Startpunkte in einem Flow haben.
      Das funktioniert meines Wissens in Make nicht, da der Eingang des Nodes immer nur mit EINEM vorherigen Node verbunden werden kann.
      Der Router Node bietet dir zwar mehrere Ausgänge an aber kann auch nur eingangsseitig mit nur einem Node verbunden werden.

      Dein angeführtes Beispiel geht auch nur von einem einzigen Startnode aus.

      Sowas lässt sich mit n8n umsetzen.
       

      • CitizenDeveloper
      • Oliver_meerkamp
      • vor 2 Jahren
      • Gemeldet - anzeigen

      UweG 
      also ich glaube nicht, dass ich 2 Startpunkte haben möchte.
      Ich drücke es mal anders aus:
      Ich habe ein funktionierendes Szenario. Wenn man das Szenario in Make aufruft kann man auf den Knop "Run once" drücken. Im übetragenen Sinne möchte ich von Extern einfach das gleiche machen, also das Szenario ausführen.
      Wenn ich es richtig verstehe, ist in diesem Abschnitt der Doku genau dies beschrieben:
      https://www.make.com/en/api-documentation/scenarios-scenarioId-run-post

      Ich bin leider nur nicht in der Lage diese Syntax für Ninox zu übersetzen. 😟

      • UweG
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Oliver
      Der Aufruf sollte wie folgt aussehen:

      let vAuth := {Authorization : "Token MakeApiKey"};
      let vUrl := "https://eu1.make.com/api/v2/scenarios/MakeScenarioId/run";
      do as server
      let vResponse := http("POST",vUrl,vAuth,{})
      end

      Wieder etwas dazu gelernt.

      • CitizenDeveloper
      • Oliver_meerkamp
      • vor 2 Jahren
      • Gemeldet - anzeigen

      UweG 

      🤩 das funktioniert hervorragend. Den nötigen Token bekommt man in Make auch leicht über das User Profile generiert.
      Vielen, vielen Dank für die Unterstützung! 🥳

      Gruß, Oliver

    • Michael_Blechinger
    • vor 9 Monaten
    • Gemeldet - anzeigen

    Hallo ich bin gerade auch dabei mittels eines Buttons in Ninox einen Webhook in Make zu triggern. Leider klappt es noch nicht, weil ich den Token noch nicht gefunden habe. Leider finde ich den nicht. Wie am Foto habe ich bei vURL die Webhook URL eingetragen und dann bei vAuth then code von Webhook UDID eingetragen. Der Trigger kommt in Make.com auch an, wird aber nicht ausgeführt.

      • CitizenDeveloper
      • Oliver_meerkamp
      • vor 9 Monaten
      • Gemeldet - anzeigen

       

      Den Token kannst du hier erstellen:
      Unten links in Make auf den Benutzer klicken - dann "Profile" und hier den Reiter "API ACCESS" wählen.
      hier kann dann der Token generiert werden.

      • Michael_Blechinger
      • vor 9 Monaten
      • Gemeldet - anzeigen

       Danke Dir! Den Token konnte ich dann erstellen. Leider wird das Scenario nicht gestartet. 

      So schaut der Code aus:

      • CitizenDeveloper
      • Oliver_meerkamp
      • vor 9 Monaten
      • Gemeldet - anzeigen

       
      Du musst davor das Wort "Token" schreiben.
      Und für die URL brauchst du die Nummer vom Sezenario.
      So sollte es aussehen:

      let vAuth := {
              Authorization: "Token 75fxxx56-2xx6-42c6-a673-4a921xxx4105"
          };
      let vUrl := "https://eu1.make.com/api/v2/scenarios/999999/run";
      do as server
          let vResponse := http("POST", vUrl, vAuth, {});
          void
      end
      • Michael_Blechinger
      • vor 9 Monaten
      • Gemeldet - anzeigen

      Super das hat so funktioniert nur dass meine URL für Make mit eu2.make.com beginnt, statt eu1.

      Ich frage mich nur, woher hast du gewusst, dass die vURL für dich diese oben geschriebene ist?

      Wenn ich zb. das Szenario editiere, ist die URL: https://eu2.make.com/72113/scenarios/2871808/edit.

      • CitizenDeveloper
      • Oliver_meerkamp
      • vor 9 Monaten
      • Gemeldet - anzeigen

       

      Na fein 👏

      Den Link hatte ich von hier:
      https://community.make.com/t/run-scenario-on-demand-from-external-source/4333/4

    • michael.8
    • vor 18 Stunden
    • Gemeldet - anzeigen

    Hallo zusammen,
    ich hab diese Post gefunden, weil ich auch vor dem Problem stehe, dass ich keine Verbindung von Ninox zu Make.com hinbekomme. Ich muss irgendetwas übersehen. Hab aber kein Ahnung was.

    Ich habe in make.com einen Webhook erstellt und diesen mit der Ninox-Api-Key verbunden.
    In Ninox hab ich einen Button erstellt und den Code wie oben beschrieben eingefügt.
    Es passiert aber NICHTS, wenn ich auf den Button klicke. Eigentlich müsste ich doch im make.com Webhook-module sehen, dass Daten ankommen, oder nicht?

    Mal abgesehen davon was ich damit tun möchte, gibt es eine Möglichkeit diese Verbindung zu testen?

    Vielen Dank für eure Hilfe

    Hier der Code im Button:

    let me := this;
    let url := "https://hook.eu2.make.com/xtw6c07tfxq1etkdk9_______________________";
    let method := "POST";
    let header := {
            Authorization: "Token 99aeb240-1b73-42eb-b5b6-____________________"
        };
    let data := me.{
            bezeichnung: Bezeichnung,
            status: Status,
            termin: Termin
        };
    do as server
        http(method, url, header, data)
    end

      • CitizenDeveloper
      • Oliver_meerkamp
      • vor 18 Stunden
      • Gemeldet - anzeigen

       

      Also bei mir habe ich es mit einer globalen Funktion gelöst:

      function callIntegromat(url : text,id : number) do
          let data := {
                  RecordID: id
              };
          http("Post", url, {
              'Content-Type': "application/json"
          }, data)
      end;

      Wenn die Funktion drinn ist, kannst du das von überall aufrufen.
      Wenn Du dann z.B. einen Button nimmst fügst du folgendes ein:

      callIntegromat("https://hook.eu1.make.com/uvnk***********************cw6", number(this))

      Damit wird in Make dann der Webhook angesprochen.
      In Make wählst du in deinem Szenario natürlich von Ninox das Modul "Watch Record Events"
      In diesem Modul findest du dann auch die Webhook Adresse zum kopieren.
      Zum testen in Make dann z.B. "Run once" klicken und dann in Ninox den Button.
      Dann solltest du in Make was sehen, sprich es wird die ID vom Datensatz wo du den Button drinne hast übergeben.

      Gruß Oliver

      • michael.8
      • vor 16 Stunden
      • Gemeldet - anzeigen

       
      Tausend Dank für deine schnelle Antwort und Hilfe!
      Das funktioniert soweit. Daten kommen an. Jetzt muss ich sie nur noch weiterverarbeiten.
      Keine Ahnung was ich da wirklich falsch gemacht hab. Werd noch bisschen Forschung betreiben.

      Danke nochmal!

      • CitizenDeveloper
      • Oliver_meerkamp
      • vor 16 Stunden
      • Gemeldet - anzeigen

       

      Du warst wohl einfach nur im falschen thread gelandet, denn hier ging es darum ein schon existierendes Make Szenario zu starten, also nicht um Ninox mit Make zu verbinden. 😉

    • michael.8
    • vor 13 Stunden
    • Gemeldet - anzeigen

    ok. Danke für den Hinweis.
    Ich hatte keinen passenderen Hinweis gefunden. Ich dachte ich muss das ganze mit einem Webhook starten.

    • michael.8
    • vor 13 Stunden
    • Gemeldet - anzeigen

    kannst du mir zufällig auch dabei helfen wie man Datumswerte aus den INfos die ich von Ninox bekomme vergleichen kann. 
    Hintergrund ist der, dass ich unterscheiden möchte ob der Datensatz den ich bekomme neu ist, oder ein geänderter. Dafür kann ich doch die Variablen "Created at" und "Modified at" nach einem Router vergleichen, oder?
    Vielen Dank nochmal für deine Hilfe!

Content aside

  • Status Answered
  • vor 13 StundenZuletzt aktiv
  • 18Antworten
  • 192Ansichten
  • 4 Folge bereits