You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I had to create an integration between a few systems that involved a reverse ETL out of a Postgres warehouse into Netsuite. To accomplish this I used a webhook destination in Rudderstack to send the data to Netsuite. However, in order to get Netsuite to accept the data I need to pass the appropriate authentication headers with it, specifically HMAC-SHA256.
Accordingly, I ended up creating a transformation in Rudderstack that:
Imports the entire CryptoJS library so values can be encrypted
Constructed track and identify event payloads to be sent
Created the authentication string with a randomized nonce, timestamp, signature, etc.
Generate the authentication signature, base64 encoded the authentication string, and added it to the event header(s)
This allowed me to successfully authenticate with Netsuite in order to send the data from Postgres into it. I wrote a custom script in Netsuite which gave me a URL that ended up being used in the Rudderstack webhook.
I've written a handful of transformations in the past but this one sparked a big "oh, wow" moment for me. Realizing that you can pull in entire third-party libraries into the transformation and use external functionality makes it even more powerful and really set my mind in motion, thinking through additional use cases and ways to push it even further to the limit. Real-time language translation? Artificial intelligence? The list goes on...
License
I understand, that my code will be licensed under MIT license (copy of license is available in this repo)
The text was updated successfully, but these errors were encountered:
Thank you for contributing to RudderStack Transformations. Your submission will be reviewed soon.
Do follow the transformations-challenge channel on RudderStack slack community for updates on the challenge.
Contact Details
jeffrey@jeffreyallanbrown.com
Language
Javascript
Category
Custom Integrations/Other
Description
I had to create an integration between a few systems that involved a reverse ETL out of a Postgres warehouse into Netsuite. To accomplish this I used a webhook destination in Rudderstack to send the data to Netsuite. However, in order to get Netsuite to accept the data I need to pass the appropriate authentication headers with it, specifically HMAC-SHA256.
Accordingly, I ended up creating a transformation in Rudderstack that:
This allowed me to successfully authenticate with Netsuite in order to send the data from Postgres into it. I wrote a custom script in Netsuite which gave me a URL that ended up being used in the Rudderstack webhook.
Code Block
Input Payload for testing
Takeaway
I've written a handful of transformations in the past but this one sparked a big "oh, wow" moment for me. Realizing that you can pull in entire third-party libraries into the transformation and use external functionality makes it even more powerful and really set my mind in motion, thinking through additional use cases and ways to push it even further to the limit. Real-time language translation? Artificial intelligence? The list goes on...
License
The text was updated successfully, but these errors were encountered: