Magicians never share their secrets. But we do. Sign up for our Ruby Magic email series and receive deep insights about garbage collection, memory allocation, concurrency and much more.
Recently one of our customers asked if it was possible to send errors to different email addresses based on where the error happened in their application. We can do that with our Zapier integration!
Lets consider the following scenario:
We want to notify our "backend" team when an error occurs in one of the API controllers.
We can use the AppSignal Zapier integration to enable this.
First, we have to tag the error in our application. We can do this with
Appsignal.tag_request, and this can be done anywhere in your application. In this case we're going to tag any API controller action with a "responsible team" tag set to "backend".
1 2 3 4 5 6 7
class ApiController < ApplicationController before_filter :tag_request def tag_request Appsignal.tag_request(:responsible_team => 'backend') end end
Next, we have to connect AppSignal to Zapier. For this we need some credentials to give AppSignal access to Zapier. Go to the "integrations" tab, activate your Zapier integration and write down your credentials:
On Zapier.com, select "AppSignal" as the source and "email" as the destination. Then connect AppSignal to Zapier using the credentials retrieved in the previous step:
Next, we add a filter for requests with the "responsible_team" tag set to a value of "backend":
Finally, we use the data from AppSignal to compose an email to the responsible team:
Zapier allows AppSignal to integrate with tons of other services. Instead of email you could notify a specific Slack channel, send a push notification to a specific team with PushBullet or go crazy with some other channel.
If you have any questions or like to see more 3rd party services supported, don't hesitate to get in touch!