Kirjaudu sisäänAloita ilmainen kokeilu
Meta Tech Provider

Tallenna WhatsApp-viestit Airtableen ja lähetä viestejä basesta

Airtablen saapuvan webhookin trigger hyväksyy vain POST-pyyntöjä, joten se ei voi vastata Metan vahvistus-GET-pyyntöön eikä toimia numeron webhook-kohteena. Ohjaa kohde n8n-työnkulkuun, joka lisää jokaisen viestin tauluun. Lähettäminen onnistuu Airtablen sisältä: Run a script -automaatio voi kutsua Cloud API -rajapintaa fetchillä, kun numeron token on tallennettu salaisena arvona.

POST only

Airtablen When webhook received -trigger ei hyväksy muita metodeja, joten se ei voi vastata vahvistus-GET-pyyntöön.

5 per second

Airtablen saapuvan webhookin triggerin pyyntöraja, lisäksi 100 KB:n payload-raja.

50 fetches

Pyyntöjä, joita yksi Airtablen Run a script -toiminto voi tehdä, kukin aikakatkaistaan 30 sekunnissa.

Miksi Airtable ei voi vastaanottaa WhatsApp-webhookeja suoraan?

Meta tarkistaa kohteen ennen kuin se toimittaa mitään. Se lähettää GET-pyynnön, jossa on challenge-arvo, ja odottaa saavansa saman arvon takaisin vastauksen runkona. Airtablen When webhook received -trigger hyväksyy vain POST-pyyntöjä ja vastaa omalla kiinteällä JSON-vastauksellaan, joten tarkistus ei mene läpi eikä Meta aloita toimitusta.

Ratkaisu on yksi välivaihe. n8n:n Webhook-node hoitaa vahvistuksen ja vastaanottaa jokaisen viestin, ja n8n:n Airtable-node lisää rivin: lähettäjä, profiilinimi, teksti, viestin tunnus, aikaleima ja vastaanottavan puhelinnumeron tunnus. Sama rakenne toimii Make-palvelussa ja Zapierissa.

Välivaiheesta on toinenkin hyöty. Airtablen webhook-trigger sallii viisi pyyntöä sekunnissa, ja työnkulkutyökalu voi jonottaa piikin, jonka Airtable muuten hylkäisi.

Miten WhatsApp-viestipohjan lähettää Airtable-basesta?

Automaatiolla, jonka toiminto on Run a script. Triggerinä voi olla tietue, joka siirtyy näkymään, kentän muutos tai painikkeen napsautus. Skripti lukee tietueen puhelinnumeron ja kentät input.config()-kutsulla ja kutsuu Cloud API -rajapinnan messages-endpointia fetchillä. Airtablen automaatioskriptit ajetaan palvelinpuolella, joten selaimen rajoituksia ei tarvitse huomioida.

Tallenna token salaisena arvona skriptieditoriin äläkä koodiin. Airtable piilottaa salaiset arvot konsolitulosteesta, ja skriptiä voivat muokata vain ne, joilla on pääsy kaikkiin sen salaisiin arvoihin.

Käytä viestipohjaa aina, kun asiakas ei ole kirjoittanut viimeisen 24 tunnin aikana, sillä vapaa teksti menee perille vain tämän ikkunan sisällä. Skripti voi kirjoittaa palautetun viestin tunnuksen takaisin tietueeseen, jolloin lähetys liittyy riviin.

Run a script action: send an approved template
const { phone, name } = input.config();
const token = input.secret("WHATSAPP_TOKEN");
const res = await fetch(
  "https://graph.facebook.com/v23.0/<PHONE_NUMBER_ID>/messages",
  {
    method: "POST",
    headers: { Authorization: "Bearer " + token, "Content-Type": "application/json" },
    body: JSON.stringify({
      messaging_product: "whatsapp",
      to: phone,
      type: "template",
      template: {
        name: "order_ready",
        language: { code: "en" },
        components: [{ type: "body", parameters: [{ type: "text", text: name }] }],
      },
    }),
  },
);
output.set("result", await res.json());

Miltä viestitaulun pitäisi näyttää?

Yksi rivi per viesti ja WhatsAppin viestin tunnus ensisijaisena kenttänä. Meta yrittää uudelleen toimituksia, jotka se arvioi epäonnistuneiksi, ja työnkulku, joka hakee tunnuksen ennen lisäämistä, ei kirjoita samaa viestiä kahdesti.

Pidä mukana suuntakenttä, jonka arvot ovat inbound ja outbound. Coexistence-numerolla tiimin WhatsApp Business -sovelluksessa kirjoittamat vastaukset saapuvat samaan webhookiin smb_message_echoes-tapahtumina, ja kun ne kirjataan outbound-riveiksi, base sisältää koko keskustelun eikä vain toista puolta.

Linkitä jokainen viesti Contacts-tauluun, jonka avain on pelkistä numeroista koostuva puhelinnumero, eli muodossa, jossa Meta sen lähettää. Rollup näyttää kunkin kontaktin viimeisen saapuvan viestin ajan, ja juuri tämän yhden kentän perusteella automaatio päättää, käytetäänkö vapaata tekstiä vai viestipohjaa.

Yleiset virheet

  • Airtablen webhook-osoitteen asettaminen numeron kohteeksi. Se hyväksyy vain POST-pyyntöjä, Metan vahvistus-GET epäonnistuu eikä mitään toimiteta.
  • Tokenin liittäminen skriptin runkoon. Tallenna se skriptin salaiseksi arvoksi, jolloin se pysyy poissa koodista ja lokeista.
  • Vapaan tekstin lähettäminen tietueautomaatiosta henkilölle, joka ei ole kirjoittanut 24 tuntiin. Perille menee vain hyväksytty viestipohja.
Näin teet tämän EasyCoexistencen avulla

Yhdistä numero osoitteessa easycoexistence.com, ohjaa sen webhook-kohde Airtableen kirjoittavaan n8n-työnkulkuun ja lue puhelinnumeron tunnus ja token hallintapaneelista. Hinta alkaen US$ 9 per numero kuukaudessa, laskien US$ 1:een numeroiden lisääntyessä, ja ensimmäiset 3 päivää ovat ilmaisia.

Usein kysytyt kysymykset

Onko Run a script Airtablen ilmaisessa paketissa?

Airtable listaa toiminnon kaikille pakettityypeille vaihtelevin rajoituksin ja mainitsee, ettei se ole käytettävissä Team-paketin kokeilussa.

Voinko jättää n8n:n pois ja käyttää Make-palvelua tai Zapieria?

Voit. Mikä tahansa kolmesta voi vastaanottaa webhookin, vastata vahvistukseen ja lisätä rivin. Vain Airtable itse ei voi olla kohde.

Voiko Airtablen painike lähettää WhatsApp-viestin?

Voi. Käytä When a button is clicked -triggeriä ja Run a script -toimintoa, joka kutsuu Cloud API -rajapintaa, ja rivin tiedot täyttävät viestipohjan.

Tallentaako EasyCoexistence viestit?

Ei. Meta toimittaa jokaisen webhookin n8n-URL-osoitteeseesi, ja ainoa kopio on se, jonka työnkulkusi kirjoittaa Airtableen.

Lue lisää

Valmis aloittamaan?

Ota WhatsApp Coexistence käyttöön minuuteissa, ei kuukausissa. Sovellus toimii edelleen puhelimessa.

Aloita ilmainen kokeilu

Vahvistettu

WhatsApp ja Airtable Cloud API -rajapinnassa