How to get real-time updates from Ethereum in your favorite apps
Introducing the all-new Zapier integration for real-time Ethereum event notifications
TL;DR — for those who can’t wait, try creating your own Zap here — https://zapier.com/apps/dagger-for-ethereum/integrations.
A few months back, someone sent a random transaction to Parity Wallet and accidentally locked funds. No one knew about it until that person informed the team on Github. Currently there is no easy way to receive transaction (filtered) events from Ethereum and process them.
Etherscan sends you an email whenever anyone deposits to your account. But we need more ways to get informed whenever something happens on contracts. For example, getting a Slack message or a mobile notification when someone withdraws more than 10 ETH or 1000 Tokens from your Multi-sig wallet?
What if there was a way that you could get a notification each time a transaction is made using your account in the way you want — on email, Slack, Discord, SMS? What if you were notified when the buy order you made on RadarRelay got filled? What if there was an easier way to track loan applications on say, Dharma Protocol? Would it not feel convenient to be informed about Ethereum events that matter to you?
Real-Time Transaction Notification
Let’s say your friend asks you to transfer some ETH tokens because well, she wants to show off in front of her girls. You oblige and transfer the tokens to her address. But wait! How does she check that the transaction was complete. She doesn’t get a notification though. You send her a text that the transaction is done and ask her to verify it. She goes back and checks her wallet and looks at the recent deposit and sees that she did get a credit. She confirms the same to you. Would it not be simple if there was a notification on email or SMS to tell her that the transaction is complete?
Multi-Signature wallets help you in securing your accounts by requiring more than one key to authorize a transaction. So let’s say that Susan, Karen and Maggi are 3 close friends who have created an account on a wallet with Multi-Signatures. In the earlier example, notifications are not generally received on the recipient end to understand that funds have been deposited in the account. If Susan and Karen are hanging out at a coffee shop and make a purchase using the funds from their wallet (assuming a ⅔ confirmation scheme), Maggi wouldn’t know a thing about the purchase and that would make Maggi pretty upset. A Simple Slack or SMS notification to Maggi would suffice and resolve this issue.
Blockchain foundations such as the Ethereum Foundation (EF) issue grants to promising projects to help build tools for the decentralized ecosystem. Wouldn’t it be great if you can monitor the foundation addresses automatically? Anytime the Foundation decides to give a project a grant and makes an actual transfer, you get notified. Over time, one could know the frequency of transfers and amount granted to different projects. Getting granular information such as “Amount remitted on the grant” and “Frequency of grants issued” will create a great deal of transparency within the community.
Let’s say you have given loans to a lot of users using Dharma Protocol. But you find it very tedious to keep a track on all the loans that you’ve given to people. You have to manually track repayments and remind them about it. What if you were given a simple way to monitor the number of loan applications, the amount remitted and also notified about upcoming repayments. You wouldn’t need to keep checking every loan that you’ve given, right?
For those who don’t know, Dharma is a simple protocol for issuing, underwriting, and administering debt agreements for issuing loans using crypto tokens.
Trades on Decentralized Exchanges
Honestly, tracking any kind of trades on a decentralized exchange (DEX) is any day a tedious job. To find out simple queries such as “What trades happened today on a particular DEX contract?” or “What tokens are being traded frequently?” is not easy to do on 0x relayers such as Paradex and Radar Relay. If these transactions were automatically tracked and the details sent to you in a Google spreadsheet for you to analyse at the end of the day, that’d be neat, right?
If you had put in a Buy order on a DEX such as Paradex, and then instead of waiting for it to get matched, and the order filled, you could just go on with your life. And when the order got filled, you would get a notification automatically. That would be nice, eh?
Aragon Backed Organizations
For this who dont know, Aragon is a project which aims to create Decentralized Autonomous Organizations (DAOs).
Once Aragon matures as a protocol, and more organizations or DAOs start using it for administration, there will be a lot of transactions happening in the contracts. Things like voting for important decisions, fundraising, token transfers, payments, accounting etc. all would take place through the smart contract.
Imagine so many events happening on the Ethereum network for the DAO to run, and all this can be sent as notifications to you automatically. You don’t need to painstakingly go to Etherscan to check manually. Of course, every DAO will have a front end interface, but you are a hacker by heart — you need to get intricate info. And the Ethereum Zapier integration will give you these tools.
Ethereum + Dagger + Zapier
Our integration with Zapier helps in creating a notification by choosing a set of events. What I’ll be showcasing further in this post:
- Taking you through the entire flow on how to create a Zap
- Showcasing an example where we’ll be trading WETH tokens in return for ZRX tokens on a 0x Exchange
- Email Notification when a successful transfer has happened
Let’s go Create a Zap!
1. Login to you Zapier Account and click on “Make a Zap”
2. Choose Dagger For Ethereum from the App drop-down menu. Zapier will navigate you to a different page with a list of triggers. These triggers are predefined. We will keep adding to this list as we go forward. Feel free to send us your custom requests.
3. After choosing the trigger event, you get navigated to a different page. This page will display the trigger event details. I have chosen the trigger as “On ERC20 Token Transfer”. This means when my trade is complete i.e. I get ZRX tokens to my account, I will get a notification.
In the Ethereum Network dropdown, you get to choose between Mainnet and Kovan. I’ve selected the ZRX Token (because I like it). Now, the ‘when’ drop-down basically answers the question as to which event you would like to be notified.
For your reference the list is as such:
I have selected ‘On Token Receive’ as my trigger event. So this means that I will be notified whenever there is a transaction is completed, i.e. when ZRX tokens are added to the account. You then add the address for which you specifically want to be notified for. You can also add multiple addresses to this list.
4. Once this process is complete, Zapier provides a confirmation of the trigger points and details of the Zap.
Click on “Fetch & Continue” to start the process. This will start fetching information about the transactions related to the contract and the ETH address added to the trigger section. Once these are confirmed an active connection is made. If anything is invalid, it will give you a prompt error.
The next section then allows choosing a method of notification. Zapier has a host of apps already built-in to set up your notification. You can even choose from external apps such as Google Sheets as a form for notifying you.
If you choose the Email integration, you get to a page where it allows to set up an email template. Zapier has this workflow in-built.
You can choose a Sender’s email address and also add a subject line. You can also adjust the body of the email according to the variables available.
You can draft the body of the email in such a way that is human readable. Using these variables will help pluck out specific information and append it.
After all the parameters have been set up you can confirm all the options. You can even send a test email to check if the entire set up is working correctly.
Note — You can add multiple notifications mode to this segment by clicking on “Add a step”.
Now, you are ready to activate your Zap and test it in real-time conditions.
Once the Zap is active, all you need to do is wait for the notifications to pour in, like these:
I start getting notifications particular to the address that I’ve chosen while setting up my Zap.
With the information that is available in receipts, the possibilities for such applications are endless. We will shortly add generic smart contract receipts notifications as well.
What’s Under the Hood
We have integrated the Dagger tool with Zapier to provide an easy and user friendly interface that will allow users to get notified on real time updates from Ethereum Blockchain
Zapier and how it works
Zapier is a web automation app. With Zapier you can build Zaps which can automate parts of your business or life. A Zap is a blueprint for a task you want to do over and over. In words, a Zap looks like this: “When I get a new thing in A, do this other thing in B.” The first part is the Trigger and the second part is the Action.
Zapier supports hundreds of apps. You can mix and match triggers and actions to automate just about anything. Zaps are very lightweight and very easy to setup.
Every few minutes, Zapier regularly checks your trigger for new data (some even get triggered immediately!). When the Zap triggers, Zapier automatically performs the action for you.
Dagger For You
Dagger is a simple tool, built on top of the Ethereum Network. It provides a way to listen to incoming and outgoing transactions from accounts and contracts, and as well as logs.
With Dagger, if you subscribe to certain kind of topics, then whenever a transaction occurs which complies with subscribed topics, you get a message.
Dagger provides a variety of topics to listen to multiple things, including new blocks, incoming/outgoing transactions, new receipts, event logs (with and without filter) and contract creation.
So what are you waiting for?
Try creating your own Zap here — https://zapier.com/apps/dagger-for-ethereum/integrations. You will need to create a free Zapier account (if you don’t already have one).
Do let us know how you are using our Zapier integration, and we promise to mention you in future blog posts around this.
Special thanks to Ashish for developing the integration, Delroy Bosco for putting this article & help docs together and Jaynti Kanani for coming up with the idea in the first place, co-developing it and helping the team whenever they were stuck.