Syksyllä 2019 olin mukana projektissa, jossa otimme yrityksessämme käyttöön Salesforcen. Toteutin itse teknisen operaation: sain/otin tehtäväkseni siirtää tiedot vanhasta järjestelmästä uuteen. Suoraan sanoen tämä oli työurani ehkä suurin haaste, mutta se meni lopulta ihan hyvin. Salesforce on sen jälkeen ollut vahvasti data-ohjautuvan yrityksemme prosessien keskipisteessä. Kerron tässä, millaisia teknisiä ratkaisuja teimme käyttöönoton ja integraatioiden osalta.
Näin sen teimme
Meillä oli kaikilla yhteinen tahto aloittaa uudessa järjestelmässä mahdollisimman puhtaalla datalla. Datan siivousoperaatiosta tuli lopulta aika työllistävä, mukana oli monta osapuolta. Onneksi projektissa oli virallinen projektipäällikkö, joka piti lankoja käsissä; minä vastasin lähinnä teknisestä siirto-operaatiosta. Samalla, kun dataa siivoiltiin, harjoittelin kymmenillä toistoilla siirtoa Salesforcen testiympäristöön. Siirtopäivänä prosessin kulku oli selvä ja tosi hyvin harjoiteltu. Siinä kävi sitten niin, että kaikki tiedot meni tuotantoympäristössä saman tien paikoilleen! Projekti valmistui siis täsmälleen sinä päivänä kuin pitikin. Oli juhlallista kulkea käytävillä käyttöönottoa seuraavana päivänä ja katsoa, kun myyjät jatkoivat töitään ja toimintojaan uudessa ympäristössään täsmälleen siitä kohdasta, kuin mihin olivat ne jättäneet vanhassa järjestelmässä. En koskaan unohda viskipulloa, jonka löysin pöydältäni sitä seuraavana päivänä 🙂
- Vanhasta järjestelmästä oli tehty vuorokausittain päivittyvä integraatio Google BigQueryyn. Päätin käyttää sitä migraatiodatan lähteenä. Koska tiesin, missä muodossa Salesforcessa kaipasi datan, aloin heti projektin alussa muotoilemaan dataa SQL-näkymissä oikeaan muotoon.
- Koska Salesforce on tosiaan hyvin ranttu datan laadun osalta, ainakin valitsemillamme asetuksilla, oli tärkeää päästä jo aikaisessa vaiheessa testaamaan siirtoja; tuli toistuvasti virheilmoituksia, jotka johtivat yhä uusiin datanpuhdistukierroksiin. Ellei tätä vaihetta olisi aloitettu ajoissa, olisi ollut käytännössä mahdotonta pysyä sovitussa aikataulussa; datan puhdistus vaati monen osapuolen osallistumista, ja sellaiseen liittyy aina viiveitä.
- Meillä oli Salesforce- ja migraatio-osaamista talon sisällä. Tämä mahdollisti todennäköisesti paljon sujuvamman operaation, kuin mitä se olisi ollut ulkopuolisen konsultin ohjauksessa.
Kun saimme Salesforcen käyttöön, olimme innoissamme: miten hieno systeemi ja upea datarakenne! Mikään ei näytä estävän meitä tekemästä täsmälleen haluamaamme dataratkaisua.
Mitä siis halusimme? Sujuvia integrointeja muihin bisnesjärjestelmiimme tietenkin, ja mahdollisimman helposti ja edullisesti 🙂 Totesimme, että Salesforcessa on kattava API eli ohjelmistorajapinta, teimme tärkeän strategisen päätöksen: vältämme Salesforcen tarjoamia APEX-pohjaisia integrointiratkaisuja ja suuntaamme Python-pohjaisiin Rest API-ratkaisuihin. Päätöstämme tuki se, että meillä oli jo Google Cloud Platform monipuolisesti hallinnassa.
Miksei APEX kelvannut?
APEX on sinänsä hieno Salesforcen ohjelmointikieli todella monipuolisia integrointeja ja automaatioita varten, mutta se vaatii erikoisosaamista, jota joutuisimme ostamaan konsulttitalolta. Python&API-ratkaisut voimme tehdä vaikka ns. kesäteekkareiden kanssa, ellei omat kädet riitä. Muutenkin tuntuu, että se on teknologisesti enemmän nykyaikaan sopiva ratkaisu, nimenomaan kun puhutaan integraatioista.
Tilanne nyt
Muutaman vuoden kokemuksella voimme todeta, että tuo päätöksemme oli oikea. Mitä olemme kehittäneet Salesforcen ympärille?
- Airflown (Googlessa: Cloud Composer) avulla tehty automaattinen tietojen ajastettu synkronointi Salesforcen ja muiden järjestelmien välillä. Rest API on onneksi vallitseva rajapinta moderneissa tuotteissa.
- Koska meillä on Google BigQueryssä (Sanomme sitä “data lakeksi”) kaikkien yritysjärjestelmiemme data, voimme jalostaa niistä tietoa, jotka siirtyvät automaattisesti Salesforceen Rest APIn kautta. Näin voimme seurata Salesforcessa olevissa asiakkuuksissa olennaisia avaintietoja, kuten esim. laskutusta ja ja tehdä sen perusteella luokituksia.
- Laukaisemme Salesforcen Outbound Message-toiminnan kautta erinäisiä tapahtumia Google Cloud Function-palveluiden kautta. Esimerkiksi uusista kaupoista tulee Slackkiin ilmoitukset koko yrityksen ihasteltavaksi; juhlinta-emojit kaupan koon mukaan!
- SAAS-tuotteidemme kokeilut (“trialit”) tuottavat automaattisesti ns. liidit Salesforceen.
- Irtisanomislomake on tehty Salesforcen päälle; mahdollistaa kätevästi suoran kytkennän asiakasdataan.