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.
Tag an error
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".
1class ApiController < ApplicationController
2 before_filter :tag_request
3
4 def tag_request
5 Appsignal.tag_request(:responsible_team => 'backend')
6 end
7end
Activate the Zapier integration on AppSignal
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:
Configure Zapier
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:
The possibilities are endless
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!