Kuinka vastaanottaa tekstiviestejä Slackissa (Twilio-toimintojen avulla)

Tekstiviestin lähettäminen Slackille Twilio Functions -toiminnon kautta

Yksi Slackin hienoista ominaisuuksista on, että se integroituu melkein kaikkiin olemassa oleviin SaaS-tuotteisiin. Rakastan ilmoitusten kytkemistä Slackiin melkein kaikesta, mutta olen löytänyt erityisen puutteellisen integraation, joka vastaanottaa tekstiviestejä. On olemassa muutamia esimerkkejä tekstiviestien lähettämisestä viivakomentojen kautta, mutta en löytänyt toista menevää.

Miksi?

Miksi haluat vastaanottaa tekstiviestejä Slackissa? On olemassa muutamia syitä, miksi olen halunnut sen:

  • Kun sinulla on sovellus, joka käyttää tekstiviestejä yhtenä ilmoituskanavanaan, voi olla hyödyllistä kytkeä muutamia numeroita, jotta laadunvarmistusryhmäsi voi vahvistaa, että sovellus lähettää tekstiviestit oikein käyttämättä fyysisiä puhelimia.
  • Valitettavasti on muutama SaaS-myyjä, jotka tarjoavat 2FA: ta, mutta vain tekstiviestien välityksellä, eivätkä käyttäjät salli eri kirjautumistunnuksia käyttää samaa laskutustiliä. Tiimien ei tarvitse vain jakaa salasanaa, vaan he myös pakotetaan myös poistamaan 2FA käytöstä tai jakamaan laite. Asetamalla SMS-to-Slack-silta, voit käyttää tätä 2FA-numerosi. (Täällä on paljon turvallisuuskysymyksiä, mutta tämä voi olla toisinaan hyödyllinen ratkaisu.)
  • SaaS-tuotetta tai vanhaa järjestelmää, johon olet kirjautunut, ei ole vielä integroitu Slackiin, mutta se lähettää ilmoitukset tekstiviesteinä ja haluat vastaanottaa ne Slackissa.

Anna palvelimettomat toiminnot

Tämä ongelma kuulosti täydelliseltä sovellukselta palvelimettomille toiminnoille - määritä palvelimeton toiminto tekstiviestien vastaanottamiseksi webhookin kautta, muotoile sitten toiminto ja lähetä viesti edelleen Slackille.

Olen nyt tehnyt tämän Twilio ja Plivon kanssa tekstiviestipalveluina sekä AWS Lambdan ja Google Functions -palvelimien kanssa palvelimettomia toimintoja varten. Olin suunnitellut ensin kirjoittaa kuinka tehdä Twilio Google-funktioilla, mutta sitten löysin aiemmin tänä vuonna ilmoitetun Twilio-toiminnot. Kuten osoittautuu, tämä on täydellinen ratkaisu tähän ongelmaan, koska sillä vältetään verkkohyppy ja tarve kirjoittaa koodia webhook-pyyntöjen tarkistamiseksi, koska se on sisäänrakennettu.

SMS-sillan asettaminen

Ensinnäkin tarvitset:

  1. Hieno joukkue ja kanava, jolla haluat vastaanottaa tekstiviestejä
  2. Twilio-tili ja numero, josta saat tekstiviestin

Molemmilla on ilmainen kokeilusuunnitelma (mutta kummallakaan ei näytä olevan viiteohjelmia, joten minulla ei ole erityisiä linkkejä sinulle… ).

Löysä asennus

Määritä Slack-sovelluksessa ”Custom Integration” (saapuva webhook). Valitse kanava, jonka haluat vastaanottaa tekstiviestin (tai lähetä se vain käyttäjällesi testauksen aikana ja muuta sitä myöhemmin). Varmista, että kopioit linkin webhookiin.

Twilio-asennus

  1. Siirry Twilio-funktioiden määritys-sivulle ja lisää ympäristömuuttuja SLACK_WEBHOOK_PATH ja liitä linkki tulevasta webhookista yllä, paitsi poistamalla kaikki URL-osoitteen edeltävät / palvelut. (Toisin sanoen vain liitä polku.)
  2. Luo uusi Twilio-toiminto tähän. Valitse vain Tyhjä-malli.
  3. Kopioi seuraava toimintoon:

Tallenna tämä toiminto (nimein omani “Relay SMS to Slack”) ja siirry sitten yhden saapuvien numeroiden määrityksiin. Määritä Viestit-osiossa Twilio soittamaan toimintoasi, kun saat tekstiviestin, kuten:

Saapuvien tekstiviestien määrittäminen mennäksesi toimintoosi

Nyt sinun pitäisi voida lähettää tekstiviesti ja vastaanottaa se Slack! Sen tyyli on seuraava:

Kuinka yllä oleva toiminto muotoilee Slackille lähetetyt tekstiviestit

Mukautin webhookin avatarin ja asetin nimen tekstiviestiksi, mutta voit asettaa omasi haluamallasi tavalla!

Ajatuksia integraatiosta

Tämä sovellus sopii täydellisesti Twilio-toimintoihin, joten olin iloinen löytäessään ne tässä prosessissa. Jotkut löydetyistä Twilio-toimintojen eduista olivat:

  • He käsittelevät sinulle automaattisen todennuksen pyynnön (jos haluat).
  • Melko kohtuuhintaisia.
  • Erittäin nopea päivitys ja käyttöönotto.
  • Ne tarjosivat tavan hallita toimintojen salaisuuksia niiden konfiguroinnin kautta erittäin hienosti - ei salaisuuksia komentosarjoissa! (Olin yllättynyt, että tämä ei ollut niin helppoa esimerkiksi Google Cloud Functions -toiminnossa ).

Heillä oli kuitenkin myös joitain haittoja:

  • Näyttää siltä, ​​että ainoa tapa luoda funktio on niiden editorin kautta. Tietysti voit kopioida ja liittää, mutta tämä tarkoittaa, että sinulla voi olla vain yksi ”tiedosto” ja luottaa vain sisäänrakennettuihin Node.JS-kirjastoihin (ja tietysti Twilio ). Joten minun piti käyttää yllä olevaa sisäänrakennettua https-moduulia sen sijaan, että olisi jotain hienostuneempaa, kuten pyyntö tai nouto, ja olisin varovainen lähettäessään siihen suurempia toimintoja.
  • Tämä tarkoittaa myös koodin hallintaa, versiointia ja käyttöönottoa, joka ei ole tällä hetkellä todella automaattista.
  • Vielä yksi myyjä, jolle sinun on lähetettävä koodi.
  • Vain Node.JS: ää tuetaan tällä hetkellä (onko se ensisijainen ympäristöni, joten… )

Kaikki asiat huomioon ottaen päätin kuitenkin mieluummin käyttää Twilio-toimintoja tähän käyttötapaukseen! Jos joku on kiinnostunut (tai mahdollisesti edes jos et ole), aion myös julkaista, kuinka suoritin saman asian Google Cloud Functions -toiminnolla. Käyttöönoton hallinta ja salaisuuksien käsittely ovat lopulta kiehtovia vertailukohteita.

Jos pidit tästä viestistä ja uskot, että se voisi auttaa muita ihmisiä, paina -painiketta, jotta muut ihmiset löytävät sen helpommin. Kirjoitan tällaisista aiheista ajoittain, joten seuraa myös minua, jos haluat lukea lisää.