Audit Log

Audit Log

The Audit log provides a way to observe past actions by Teams you are part of. It is available to Business level plans and above.

To access the audit log, click on your username in the top right corner, then choose Audit Log:


From here, you can narrow down your search using the query panel on the left hand side. You can change the date range covered, the types of activities, which applications or plans to look at, and which users you are interested in. Changes to the query panel will be applied automatically.

We're always adding new audit activity types but if you think we're missing something, contact support.



Raygun has customizable dashboards, so you only see information you care about. This documentation will show you how to view and edit your dashboards.

Viewing your dashboards

To locate your dashboards, click on the button in the top left corner of the Raygun application. Within the drop down, switch to the Dashboards tab to view the dashboards you have access to. Click any listed dashboard to view it. Dashboards belong to plans, so if you are a member of multiple plans, you can switch between them by clicking the plan in the left hand margin of the drop down.

Primary dashboard

One of the dashboards in the image above has been labeled as Primary. Most plans have a primary dashboard that can be customized just like any other dashboard, but has a few special characteristics. The Primary dashboard starts off with a preset layout of tiles using data from your top 5 applications with the most data. The Primary dashboard has a Reset function that reverts any customizations back to the preset tile layout using data from your top 5 applications at the time of reset. The primary dashboard can not be deleted.

Legacy dashboard

Another dashboard in the image above is labeled as Legacy. This will link you to the old global dashboard which can not be customized. Note that this will only be available to plans that have had a legacy dashboard. Newly created plans only have customizable dashboards.

Create custom dashboards from your APM, error and RUM data

At the core of the Dashboard is the ability to provide your team with a high level view of the health of your application. It does this with customizable dashboard tiles that can be dragged, dropped and edited as you see fit.

The data is 100% customizable and you can add as many product “tiles” onto a dashboard as you wish. Whether you need to understand more about the locations of your end users or how many are experiencing crashes in real time, Raygun will present what you need in a beautiful and user friendly Dashboard.

Here is the list of tiles you can add to your dashboard, sort by products:

Crash Reporting

  • Error instances*
  • Error groups count*
  • Recent crashes
  • Error groups*
  • Errors per app*
  • Error count*

* Can be filtered by error group status (e.g. Active, Resolved, Ignored, or Permanently ignored). See Filtering a tile by status below.

Real User Monitoring

  • Total users
  • New users
  • User satisfaction
  • Sessions
  • Median session length
  • Average load time
  • Health score
  • Returning users
  • User count
  • Session count
  • Live health score
  • Live sessions
  • Live users
  • Live load time
  • Load time distribution
  • Session distribution
  • Live active sessions


These tiles are only available if you've been granted beta access to Raygun APM.

  • Apdex
  • Requests per minute (RPM)
  • Average request breakdown
  • Request execution speeds


Editing a dashboard

In order to make any changes at all to a customizable dashboard, you first need to switch the dashboard into edit mode. To do this, click the "Edit dashboard" button in the top right corner of a dashboard.


Saving changes

It's important to note that none of the changes that you make to a dashboard will be persisted until you press the green "Save changes" button in the edit bar. This applies to all of the editing functions documented in the following sections. Make sure to always save any changes you're happy with before navigating away from the dashboard you're working on. After saving changes, the dashboard will switch out of edit mode.


In order to avoid accidental saves, you'll need to click the check box and then hit "Yes, save" in the modal that appears. Everyone who can view the dashboard will see the changes that you save.


Canceling changes

If you've made some changes to a dashboard but then want to cancel them rather than saving, click the "X" button on the right hand side of the edit bar. This will reload the dashboard and switch out of edit mode.


Since this operation is going to lose your unsaved changes, you'll need to click the check box and then hit "Yes, revert" in the modal that appears. If you don't see this modal, then no changes were made to the dashboard.


Renaming a dashboard

While in edit mode, a pencil icon will appear next to the dashboard's header. Click anywhere on the title or pencil icon, and then type in the title you want for your dashboard. The title is used to identify your dashboard in the switcher, so it helps to give your dashboards unique and meaningful names.


Adding a tile

A tile is a component of information from the Raygun Platform, such as a list of errors or a time series chart of user sessions. The highlight of Raygun dashboards are the highly configurable tiles. You can add as many tiles as you need, and can even add the same type of tile multiple times and configure them differently.

1. To add a tile, first make sure the dashboard is in edit mode.

2. In the edit bar, click on the blue "Add tile" button.

3. You'll be presented with a modal listing the various tiles you can add to your dashboard. Note that some tiles may not be available to you if you have no applications with Raygun Crash Reporting or Pulse (RUM) data. The modal allows you to search by name, and sort by name or tile type to help you find what you want to add to your dashboard. Click the blue "Select" button next to a listed tile that you want to add to your dashboard.

4. To finish up, configure the tile with the data you want to display.

  • Most tiles have a title that gets displayed in their headers.
  • Some tiles have a date range to fetch the data from, whereas other tiles represent live values of what's happening right now.
  • Use the "Select application" drop down to specify where to source the tiles data from. A single tile can source data from any number of your applications.
  • The above image is just one example of configuring a tile. Different types of tiles can have different options specific to what they display.

5. The blue "Add tile" button will be disabled until you've configured enough information for the tile to display data. The main thing you usually need to add is the applications to fetch the data from. Once you're ready, click "Add tile" for the tile to be added to your dashboard which will then scroll into view.

Moving a tile

Any of the tiles can be moved around while the dashboard is in edit mode. This allows you to customize the tile layout and display them in a preferred arrangement.

Move a tile by holding down the left mouse button over any non-interactive area of a tile. Then, drag and drop the tile to another place on the grid. As you drag a tile around, other tiles will move out of the way, and when dropped, the tile will automatically snap to the grid.

Resizing a tile

No customizable dashboard can be without the ability to resize tiles, which aids in achieving your ideal tile layout.

While the dashboard is in edit mode, drag the arrow in the bottom right corner of any tile to resize it.

Just like moving a tile, the dimensions of the tile will snap to the grid when the resize handle is dropped. Some tiles have a minimum size, (e.g. 2x3 grid units), and cannot be resized smaller than their minimum.

Configuring a tile

Any options that you configure while adding a tile can be revisited. To open the tile configuration modal, make sure the dashboard is in edit mode, then click the cog icon in the top right corner of any tile you want to edit.

Once you're done editing any of the tile's options, click the green "Apply" button.

Filtering a tile by status

The marked tiles above under Crash Reporting can be filtered by error group status. Error group statuses include: Active, Resolved, Ignored, and Permanently ignored.

Relevant tiles

The error-based tiles which can be filtered by status are:

  • Error count
  • Error groups
  • Errors per app
  • Error instances
  • Error Groups count

To apply a status filter:

1. Click the Edit Dashboard in the top-right corner of the page
2. Click the settings icon in the top-right corner of the error-based tile you want to filter and you'll see the Statuses to include list. 

Dashboard tile with "active" filter on

3. Check the Resolved option, and change the title to reflect the new status (optional)

Error groups tile settings

4. The error group list tile will now only show Resolved error groups

Resolved error groups list in tile

Tiles that require multiple products

Some tiles (such as the Crash Free Users tile) require all or multiple Raygun products to be enabled before we can accurately display the data.

For example, the Crash Free Users tile requires both Raygun Crash Reporting and Real User Monitoring to be enabled and receiving data.

With the Crash free Users tile, Raygun Crash Reporting and Real User Monitoring work together to surface the percenteage of all users who have experienced software errors over the time range. This allows you to:

  • Set a benchmark around this percentage and aim to improve
  • Understand which errors affect user experience, right down to the stack trace
  • Give priority to the software errors affecting your User Satisfaction score

To learn more about how to enable Raygun products for your applications, check out our docs for getting started with Crash Reporting and Real User Monitoring.

Renaming a tile

The title is one of the options available in a tile's configuration modal. If the title is the only thing you want to change on a tile, then you can alternatively edit the title in-place. When the dashboard is in edit mode, a pencil icon is displayed next to each tile's header. Clicking anywhere on the title or the pencil icon will allow you to type in a new title.

Deleting a tile

1. You can remove a tile from your dashboard while in edit mode by first clicking the cog icon in the top right corner of the tile you want to remove.

2. In the bottom left corner of the tile configuration modal, hit the "Delete" button.

3. As this is a destructive action, you'll need to check the box and click "Yes, delete" in the next modal that appears.

Clearing all tiles

If you want to re do a dashboard from scratch, you can clear the dashboard which will remove all the tiles. While in edit mode, click the "Clear" button near the left hand side of the edit bar.

This will look slightly different if you are currently working on your plan's primary dashboard.

As this operation will lose any other edits you've made while in edit mode, you'll need to click the check box and hit "Yes, clear" in the modal to avoid accidents. Note that clearing the dashboard does not persist until you save changes when you're done editing.

Resetting the primary dashboard

Resetting is a function only available to a plan's primary dashboard. Resetting will find your top 5 applications with the most data and replace everything on the primary dashboard with a preset tile layout. In edit mode, click the "Reset dashboard" button within the left hand drop down of the edit bar.

This operation will lose any other edits you've made, so you'll need to click the check box and hit "Yes, reset" in order to confirm this function. Just like all other dashboard editing operations, none of the affects that resetting has on the primary dashboard will be persisted until you save changes.


Creating a dashboard

To add a whole new dashboard to your plan, open the switcher in the very top left corner of the Raygun application. If you have multiple plans, select which plan you want to add a dashboard to in the left hand margin. Make sure you're viewing the "Dashboards" tab, and then press the blue "Create dashboard" button.

The dashboard is created instantly and added to the plan. The dashboard will start out in edit mode so that you can get straight into the customizations. Remember to give your new dashboard a meaningful name. You'll need to save changes in order to persist any edits you make.

Note that different Raygun plans have different limits on how many dashboards you can create.

Deleting a dashboard

If you have a dashboard that you don't need anymore, you can delete it while the dashboard is in edit mode. Click the "Delete" button on the left hand side of the edit bar. Note that all Raygun plans have one primary dashboard that can not be deleted. If you do not see the "Delete" button, it will be because you're currently working on your plan's primary dashboard.

As this is a destructive operation that can not be undone, you'll need to click the check box and press "Yes, delete" in order to finalize this operation.

TV mode

Information displayed on your dashboards will update every few minutes, providing you with a live view. You may choose to switch to TV mode and have the dashboard on a permanent screen to monitor your applications.

You can put a dashboard into TV mode by clicking the TV icon on the right hand side of the header bar. TV mode is only available if the dashboard is not in edit mode.

In TV mode, click on the pin icon to unpin/hide the header bar. The header bar can be accessed again by moving the mouse against the top of the screen. To exit TV mode, you can either click the "X" button in the header bar, or press the Esc keyboard key.

Deleting Error Groups

Deleting Error Groups

Raygun allows you to delete error groups off the dashboard. Once deleted they will no longer be accessible, though a repeat occurance will recreate the error group.

Deletion can be done from an application's error dashboard. By ticking the box beside an error group a delete option should appear above.

Simply hit delete and confirm to remove the error.

Note: deleted error may not disappear instantly as it is removed by a background process.

Removing all Errors

You can remove all error groups from an application on the Application Settings page.

Select the type of errors you wish to delete (from Active, Resolved, Ignored or Permanently Ignored) and click the Delete button beside. You will then have to confirm the deletion.

This will remove all error groups of the given status within an application.

Error Statuses

Error Statuses

This article describes the meaning and usage of the status of error groups in the Raygun dashboard.

Raygun currently lets you assign error groups to one of five statuses. These are:

  • Active
  • Resolved
  • Resolved After Version
  • Ignored
  • Permanently Ignored

When an error is first received it is assigned to Active, and is visible in the first tab. You can then take action to change it to another status. This can be done in two ways:

  • From the individual error group view: when viewing the Exception Details for an error group, click the top-right dropdown to assign this error group to another status
  • From the application view: when viewing all errors in an application, select one of the four status tabs, select one or many error groups using the checkboxes to the far left, then click the blue 'Change Status' button to assign them all.

After changing the status, the error group will then be moved and visible in its new tab.

Effect of error statuses

Each status has a different effect, relating to what email/plugin notifications you receive when a new error instance is received for that error group. These are:


When a new error occurs, you will receive a notification email. If instances of this error group continue to arrive, you will receive follow-up emails at certain time intervals (so we don't flood you with notifications for every instance).

If you are a low-rate sender, we can flag your application to send 'reoccurred' email notifications at a repeating interval. Please contact us if would you like this enabled.


The error group is removed from active counts and the Daily Digest email. If another error instance is received, the error group will be reassigned to Active and a reoccurring notification will be sent.

Resolved After Version

The error group is removed from active counts and the Daily Digest email. If another error instance is received and the version of your code that generated that error is greater than the version you set this error as resolved in, the error group will be reassigned to Active and a reoccurring notification will be sent.

For example: Version of your software is generating a NullPointerException. You fix this error and plan to release the fix in version You mark the error as Resolved after Version, and no longer receive new notifications for that error. You then release, but the error wasn't resolved and keeps happening. This will cause you to receive a notification that the error had re-occurred, and the error will be set back to Active.

You can also choose to discard future error instances in the resolved version and below by checking 'Please discard future occurrences in the resolved version and below':

Note that this feature needs you to set the version property on your Raygun error reports. This process should be detailed in the documentation for your Raygun client library.


Similar to 'Resolved' above, but the reoccurring email notification is different. This is useful to mark junk error groups separately from your actually fixed errors, for instance when setting up Raygun and sending test exceptions.

If you set an error group to Ignored, the next time it receives an error you will get an email notification informing you it has reoccurred.

Permanently Ignored

This removes the error from all active count as above, but if a new error instance arrives it will not be reassigned to Active. No notifications will ever be delivered again for this error group, until you manually reassign it to Active in the dashboard.

This is useful for ignoring situations like web crawlers that request invalid routes.

Permanently Ignored errors still count towards your quota unless you choose to discard all future occurrences. You can choose to discard all future occurrences of Permanently Ignored errors below.

Error statuses and plan usage

Every error instance that Raygun receives is normally counted against your Raygun Plan limit, which has a certain amount of errors stored per month (visible on the pricing page and your Plan Settings page when logged in).

You can choose to discard error instances if they end up assigned to a Permanently Ignored error group. To do this, change the error group status to Permanently Ignored as usual, but ensure the checkbox in the dialog is selected.

permanently ignore modal window screenshot demonstrating how to prevent ignored errors from being stored.

This will drop the error instance immediately (it won't appear in the dashboard), the error group count won't be incremented, and your plan's monthly error count won't be increased. This behavior will remain until you change the error group's status (you can reset it to Permanently Ignored and clear the checkbox if you wish to receive instances again). This behavior will only take effect for future error instances; those already stored will remain counted against your monthly processing limit even if the error group is deleted.

External Access Token

External Access Token

Generate an external access token:

  1. Navigate to the Raygun User Settings Page by clicking your avatar on the top right corner of the app, then clicking on "My Settings"
  2. Click on "Generate New Token"
  3. If you've generated an external access token before, the button will be "Regenerate Token"
  4. Done!

You'll need your external access token for the following services:

You can access the dSym center, JS source map center and ProGuard map centre by navigating to the ‘Application Settings’ submenu on the left sidebar:

Exporting Data

Export Crash Reporting Data From Raygun

Customers on Business and Enterprise plans have the ability to export errors captured by Raygun.  Here we'll provide an explanation of the export feature as well as a walkthrough of how to use it.


The Raygun Crash Reporting export feature allows customers to export all error groups or selected errors groups from within the Crash Reporting dashboard.

When exporting, all instances of an error in an error group will be exported.

Exports are genereated as compressed 7zip files which are then accessed by a link sent out via e-mail once the export process is completed.

Exporting Selected Error Groups

Step 1:

In the Raygun Crash Reporting dashboard, check the box for either all error groups or for individual error groups that you want to export.

Selecting an individual error

Step 2:

Click on the "Export Selected Groups" button

Step 3: 

Review selected groups in the window that opens and click "Add errors to export list"

add errors to report list

Step 4:

Confirm the error groups that you want to export and then click the "Start export" button.

Step 5:

Here you can add/edit e-mail recipients (yellow circle).  Once you have added all the intended recipients, click the "Start export" button (red circle).  

Exporting All Error Groups

Step 1:

Click on "Export" under Crash Reporting on the left navigation sidebar (yellow circle) and select "Export all" from the tab options (red circle).

Step 2:

Select a date and time range (yellow cirlce, defaults to 180 days from today's date) and then click "Start export" (red circle).

Step 3:

Add e-mail addresses to be notified when the export is complete (yellow circle) and then click "Start export" (red circle).


No matter which method you use, once the export has been started you should see a final confirmation notification appear confirming the successful export request.


*Note:  Exports can take some time to process depending on the volume of errors being exported.  Raygun will e-mail you when your report is ready for download.  Once an export is started, another export cannot begin on this application until the first has completed. 


Downloading and extracting the export file

When an export has completed, Raygun will send the recipients you specified during the export a link to download the compressed export file. Note that you don't need to be logged into Raygun to download the file so anyone can download the file if supplied with the download link. However, the download link will only remain valid for 48 hours after the export has completed.

The file you download will have the file extension .7z which is a compressed archive file created with 7-Zip open source software. These files are created using a compression method called LZMA, which is an algorithm for loss-less data compression—a type of compression known for reducing file size while preserving quality. In our testing we found this to provide the best compression for large amounts of JSON text.

To extract the JSON files from the export you will need to download the 7-Zip software or another program that supports the 7-Zip format such as Winzip.

Event Allocation

Event Allocation

The Event Allocation slider provides a way to choose the split of your total entries between crashes and sessions.

This feature is available for plan owners of Platform Startup and Platform Small Business plans.

To access event allocation, go to the plan settings page and click the event allocation tab.

To use the slider, simply select the handle and drag and drop to the desired location.

You can also type the amount of entries you wish to allocate directly into the input boxes or use the preset buttons.

The red lines indicate how many errors and sessions you have already used. 

Setting the slider within the already used sessions or errors will set the limits but will take affect on your next billing cycle (as you can't set a limit below what you have already used). 

When the desired allocation is set, click save and the allocation will be saved.


Filtering Error Groups

Filtering Error Groups

The Crash Reporting dashboard allows you to filter error groups by a number of elements present in the original error report.

Filter types:

Using filters:

Filtering can be done by clicking the 'Add Filter' button in the filter bar of an application's Crash Reporting dashboard.

Assigned Team and Assigned User

Filter error groups by team or the the assigned user on your team.

The assigned user is asignee of an error group. To assign a team or user to an error group, just click on the 'Assign a user' drop down on the top right corner of an error group:

Resolved By User

Filter error groups by the user who resolved the error.

If the error is not resolved, or the error has been resolved then reopened it will not appear in the results.

The user who resolved the error is the user who was last to chnage the errors state from Active to Resolved, effectivly marking the error as fixed:


Filter error groups by the browser captured in the error payload under 'browserName' nested under 'environment'.


Filter error groups by the host name captured in the error payload under 'hostName' nested under 'request'.

Machine Name

Filter error groups by the machine name captured in the error payload under 'machineName'.

Not Assigned

Filter error groups that have no user or team assigned to it.

Operating System

Filter error groups by the operating system captured in the error payload under 'osVersion' nested under 'environment'.


Filter error groups by the tag or tags captured in the error payload under 'tags'.


Filter error groups by the version of your application captured in the error payload under 'version'.

Applying multiple filters

You can apply multiple filters at once. Filters are OR'd together, so if you added a filter for Version = and Version =, you'd get errors from both Version and Version

Below is an example of a filter for Browser is like Chrome* and Operating System = Windows 10:


Using Wildcards

Some of our filters support the use of wildcards. These filters are:

  • Version
  • Browser
  • Operating System
  • Machine Name
  • Host

When using any of these filters you will have the option of selecting 'Like' as a filter operator.

When 'is like' is selected you will not be restricted to selecting a value from the drop down menu, but instead will be able to enter any string to search by.

Step 1:

Step 2:

Step 3: 

You can include both the '?' and '*' wildcard operators in your search.

An excellent use for this feature is to search for all sub-versions of a Browser or Version.

e.g. 1.0.1* will include all sub versions, like,, etc...


Providing Data for Filtering

The filter will not be enabled until you have specified a dimension (e.g. "Browser"), comparator (e.g. "is equal to") and value (e.g. "IE 11.0". There is an autocomplete list that pops up as you start typing to help you find the value you are looking for.

The data must be present in the error entry that is sent to Raygun. Each provider has a different way of including this data.

You can find out how to add this to your error logs in the appropriate section of each langauges documentation page. These can be viewed here

For more general information about data filtering, see Filtering data.

Inbound Filters

Inbound Crash Report filtering for Raygun

Inbound Filters for Raygun Crash Reporting allow you to filter out errors before they are recorded in Raygun, keeping them from being counted against your monthly limit.

Jump to an item:

Inbound filters location

To start setting up Inbound Filters click on "Filtering" under the Crash Reporting option in the left navigation sidebar in Raygun. 

The Inbound Filter screen is divided into two sections:  "Create an inbound filter" and "Active inbound filters"

The "Create an inbound filter" section allows you to specify new inbound filters you want to add for this application.  "Active inbound filters" shows you which inbound filters you have available and which inbound filters are currently active.

Creating inbound filters

When creating a new inbound filter you can choose between several different filter types:

Note: Wildcards (*) are supported for all inbound filter types. New inbound filters are NOT applied to currently stored exceptions, only to incoming exceptions after the inbound filters are created/activated.

IP address

To create an IP Address inbound filter, enter in the IP Address of the resource you want to filter out.

Wildcard example: 192.168.0.* will match any address with the first three segments

Machine name

To create a Machine Name inbound filter, enter in the machine name of the resource(s) that you want to prevent exceptions being tracked for.

Wildcard example: *PC will match any machine name ending with PC

HTTP -  Hostname or URL path

To create an HTTP inbound filter, choose to discard requests from the Hostname or URL path, then enter in the Hostname or URL path you want exceptions to be filtered out for.


Wildcard example: * will match any sub-domain of

Additionally, while not part of the hostname, you can also filter on the protocol here. Example: file://*

URL paths

Wildcard example: */signin will match any paths ending in /signin

Version - Number or Build number

To create a Version inbound filter, enter in the version number you want exceptions to be filtered out for.

Additionally, using the drop-down menu, you can set a comparison operator for the version from the following list:

  • Equal to
  • Not equal to
  • Greater than
  • Greater than or equal to
  • Less than
  • Less than or equal to
  • Not found

Wildcard example: 2.* will match any any version in the 2 range

Errors with no specific version

To create an inbound filter select for errors with no specific version, choose "Version" and "Not found" from the drop-down menu:

Error message

To create a Message inbound filter enter in the string you want to filter out for.  The strings are not case sensitive so rayGUN will match both raygun and RAYGUN.

Wildcard examples: HttpException* will match any messages starting with HttpException, while *HttpException* will match any messages containing HttpException.


To create a Tag inbound filter enter in the tag name you want to filter out.  The tag names are not case sensitive so mYtAg will match both mytag and MyTag.

Wildcard example:  MyTag* will match any tags starting with MyTag

User agent

To create a user agent inbound filter enter in the name of the user agent you want to filter out.  The names are not case sensitive

Wildcard example: Mozilla/5.0*

Active inbound filters

The top portion of the Active Filters section shows the inbound filters that have been created in the "Create a filter" section.

Provider filters

The bottom portion of the Active Filters section displays the Provider Filters which are supplied by Raygun.  These inbound filters are built and can be turned off and on by clicking on the button sliders located on the far right side of the individual filters.

Once activated, the individual inbound filter's "Date added" field will update with the current date.  If the inbound filter is deactivated the "Date added" value will be cleared.

The currently available Provider Filters are:

  • ?Discard any requests where the user-agent is a known crawler bot
  • Discard any requests for non existent resources (404)
  • Discard any requests where the host is a .local domain or is localhost
  • Discard any requests related to phpMyAdmin access attempts
  • ASP.NET: Discard any requests which failed request validation - e.g. XSS attempts
  • JavaScript: Discard any errors where no information is available due to browser security restrictions

Keyboard Shortcuts

Keyboard Shortcuts

Raygun currently supports a few keyboard shortcuts:

  • Press the tilde key (` or ~) to open the application switcher
  • On an error page, the left and right arrow keys will switch between instances of an error type.
  • When writing a comment on an error group, CTRL + Enter will submit the comment.

Managing Organizations

Managing Organizations

When you start a trial in Raygun, we create a plan for you. This plan is tied to your user account, so you will receive all billing notifications to your email address.

If your Raygun subscription is for a company rather than for your personal use, you may want to convert it to an Organization plan. This gives you extra flexibility: you can change the name of the plan and set billing contact email addresses. Users in the Owner's Team still recieve billing notifications but your billing team no longer needs a Raygun account to also get those emails.

Converting your plan to an Organization is simple - go to the Plan Settings screen by clicking on your username in the top right corner, then click on the plan you want to modify. At the bottom of the Plan Settings screen, there will be a section labelled "Convert to Organization":

Fill in the name of your Organization, add a primary billing contact in the Billing Email field, and add any other billing contact email addresses into the Billing CC Email Address field. Clicking Convert to Organization will convert your plan immediately.

The Billing CC field can take any number of email addresses, separated by semi-colons. For example, you could add;; and those 3 email addresses will also receive billing notifications. Users in the Billing CC list will not be added to the Owners team.

Managing Teams and Users

Managing Teams and Users

Note: To add or delete teams and team members you must be a plan owner. (A plan owner is the person with administrative access.)


The Teams page gives you visibility into which team members have access to each application. As a plan owner, from the Teams page, you can create, add or delete both teams and individual team members.


This documentation covers the following:

Manage teams

Manage team members


Manage teams

To administer team permissions across your applications, navigate to the main sidebar of your Application Dashboard and click on “Invite team.”

Invite team by heading to the main sidebar

Alternatively, navigate to the top right of the main header, and click the drop-down arrow next to your name. Click the plan you’d like to manage.


Click into your header to manage the plan


Navigate to the “Teams” tab on the header menu.


Navigate to the “Teams” tab on the header menu


The Teams page contains a list of both applications and users. All users in a team have access to the applications listed.


There are two default team categories you can’t remove, Owners and Users.


  • Owners have the ability to manage teams, billing, and applications.
  • Users contain all team members invited to a plan. Removing a user from the User teams pages removes their access to applications on the plan.

Create a new team

You may like to create different teams for team members across different projects. To create a new team, click the “Create team” button. Owners are added to the team by default.


To create a new team, click the “Create team” button


Enter your team’s name into the prompt and click “Submit.”


Enter your team’s name into the prompt and click “Submit.”


Your new team is now displayed in the Teams page.

Add applications to your team

For your new team to start receiving data from Raygun, you will have to add the applications which you would like your team to monitor. You can add unlimited applications to each team.

  1.  Click on the team where you wish to add an application.
  2.  Hit the drop-down arrow inside the Add application input field. Select the application, and click “Add.”


Hit the drop-down arrow inside the Add application input field. Select the application, and click “Add.”

Delete a team

Inside the Teams page, click on the team which you’d like to delete.


Inside the Teams page, click on the team which you’d like to delete.


Locate the “Delete Team” option beneath the Applications and Members selection.


Locate the “Delete Team” option


Click “Delete Team.” You’ll be prompted to confirm team deletion.


Click “Delete Team.”


If you choose to delete a team, it will no longer show in the Teams area.  You will lose  team information contained in this team permanently, such as user access to the listed applications

Manage team members

Depending on your plan type, as a plan owner, you can add multiple team members to your account and manage which teams and applications where they have visibility.

When you are new to Raygun, we recommend adding team members using the following method.


What if a team member signed up as an individual by mistake?  

Join an existing team

To join an existing team, you must be invited via email by the plan owner for security reasons. Ask your plan owner to follow the instructions to add a new team member.

Add a new team member to a team

1. Select which team you’d like to add your team member to.


1. Select which team you’d like to add your team member to.


2. Enter your team members email to the Invite team member input field and click “Invite.”



2. Enter your team members email to the Invite team member input field and click “Invite.”


3. For team members outside of your organization, they must accept the email invite for security reasons.


For team members already part of your organization, they will be added to the team automatically.


Team members are added to the team on the Teams page

Remove a team member from a team

Removing a team member from the Users page will delete them from all teams. Removing a team member from the Teams page will remove them from that team only.


Need to delete a user from your organization permanently?

Delete team member from a team only

Click on the team where you would like to remove the team member.


Click on the team where you would like to remove the team member.


Click the close button on the team members name to remove them from the team.


Click the close button on the team members name to remove them from the team.


Team members with multiple plans

Does your team member already own a Raygun Plan?

For example, they may have set up a separate plan to familiarize themselves with Raygun’s functionality without interfering with their organization’s data. Or, they may use Raygun for personal projects, or, they may have signed up by mistake.


All new Raygun users start out on an individual plan. When a team member signs up as an individual, they will not automatically connect to your organization's plan for security reasons.  


In this case, your team member can toggle between the personal and organization’s plan.


To toggle between plans, click on the application name and select a plan from the left side of the modal popup, and select the plan in which you would like to work.


Toggle between plans in the modal popup


If you decide you no longer wish to have multiple plans, contact us and we will be happy to remove the plan in question.

Disabled features

Are some features like the “Create team” buttons disabled?

You may not be a plan owner. Ask your plan owner to add you to a team using the instructions above. Alternatively, you may be on a Raygun Side Project plan, which only allows for one User.


Speak to our sales team to upgrade, or change your plan type to an organization, where you will be able to add teams and team members.

Merging Error Groups

Merging Error Groups

Raygun allows you to merge distinct error groups into one. This can be useful when similar errors are treated as distinct by default.

On an application's error dashboard simply tick the box beside two or more error groups you wish to merge then click the "Merge" button which appears above.

You will then be prompted to select which of the error groups the others should be merged into.

After merging both types of error will now appear under the new merged group and any reoccuring errors will appear in the new merged group.

Notification System

Error Notification Preferences Using Raygun

Set up email notifications for Raygun Crash Reporting and Raygun Pulse.

This article covers the following:

How to change your email notification settings

  1. Click on your user name in the top right corner of the page and click 'My notifications':

  2. Once on the 'My notifications' management page you'll be presented with options to do any of the following:
  • Select what type of notifications you receive
  • Choose specific applications you want to get notifications from
  • Choose to receive the informative 'Daily Digest' newsletter packed with your organisation activity in the last 24 hours
  • Choose to receive 'Pulse weekly'- a weekly email outlining recent Pulse activity

Important admin email notifications regarding your plan usage and account access will not be affected - these will continue to be emailed to you as you approach your account limit or have trouble accessing your account.

Please note that the 'My notifications' settings will only apply to your own account and does not affect the notification settings of your team members.

The notification types:

If you have Raygun Crash Reporting enabled, you can alter the following notification options:

Notify on error

This means that you will only get an email whenever a BRAND NEW error is detected, or if a "Resolved" error comes back to haunt you and occurs again.

Example 1: A new error is detected for the first time - an email is sent.
Example 2: An error was marked as resolved but has just reoccurred - an email is sent

Repeating errors

This means that you will only get an email if an error is occurring repeatedly at specific intervals.
NOTE: We will provide you with notification emails only if instances of this error keep arriving. We group our repeating error email notifications according to whether or not they have occurred within a certain time window. 

For example:
An error has occurred, one minute after its initial appearance or reappearance, so an email is sent stating that the error is repeating and the current rate.

Raygun offers smart notifications, so notifications will only be sent at specific intervals (1 minute, 5 minutes, 10 minutes, 30 minutes, 1 hour), should the issue continue to repeat or have thousands of occurrences.

Daily digest

Raygun can provide a digest email for specific applications over a 24 hour period. 

Additionally, you can choose to receive an overall daily digest which will report 24 hour activity of all applications within your organization. This option can be found under 'General Notifications' in the 'Manage Notifications' page. You can also set the time that you wish daily digest emails to be sent under your personal settings found under the top right dropdown menu and then 'My Settings'.

In general we recommend using the daily digest emails to monitor errors which continue to occur at low rates.

Interaction emails

By using these settings you will be able to receive notification emails when your fellow team members take actions in the Raygun application.

If you have Raygun Pulse enabled, you will get the following notification options:

Pulse weekly

A weekly email outlining recent Pulse activity on your site or application.

Why am I not getting notifications?

We only send repeated error notifications if the same error is still occurring after 1 minute, 5 minutes, 10 minutes, 30 minutes or 60 minutes since initial appearance (or reappearance if previously "resolved"). You will not receive an email notification for EVERY error occurrence.

If you have gone through all of the steps outlined above and have at least one of the checkboxes on your notification preferences page checked, your plan may be exceeding its monthly quota and we are no longer processing new incoming errors.

Integration notifications

Raygun offers two different types of integrations - issue links and chat integrations. Issue links don't produce any notifications in Raygun. Chat integrations can vary per provider, so check out the documentaion for the specific integration you're using to see how these are set up, but generally all integrations use the same smart notification rules so that you are not flooded with notifications when an error is reoccurring frequently.


ProGuard support for Raygun

What is ProGuard?

ProGuard is a free Java tool for obfuscation, class file shrinking, optimizing and preverifying. When enabling ProGuard in a native Android application that also uses Raygun, the obfuscation feature requires a bit of attention. By default, your obfuscated class and method names will show up in the stacktraces of exception/error reports submitted to Raygun. This makes the stacktraces difficult to read when looking into the cause of the issues.

ProGuard produces a mapping.txt file that can be used to restore the original class and method names. Such files can be uploaded to Raygun to automatically process all of your exception reports into readable stacktraces. The documentation on this page contains everything you need to know about using ProGuard with Raygun in your native Android applications.

If you haven't set up Raygun in your Android application yet, you can find the documentation to do so here.

Enable ProGuard in a Gradle Android project

A Gradle Android project will contain a couple of build.gradle files - one for the project, and one for the application. ProGuard can be enabled by editing the build.gradle file of the application. This can be found in the root of the app directory. The file should already contain "minifyEnabled" fields that are set to false. Setting this to true will enable ProGuard. Generally you'll want to enable ProGuard in the "release" build type, but not in "debug".

buildTypes {
  release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), ''
  debug {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), ''

Update your pro file

Also in the app folder, you'll find a file which is where you can configure ProGuard settings. You'll need to add the following lines to this file in order for Raygun and ProGuard to play nicely together. Each line is explained below so that you can understand what these changes to your pro file will do.

-keep class** { *; }
-keepattributes Exceptions, Signature, InnerClasses, SourceFile, LineNumberTable
-renamesourcefileattribute SourceFile

-keep is required here in order for Raygun4Android to function correctly. This line tells ProGuard not to obfuscate any of the code in Raygun4Android. Some of the classes are used to build up a Json payload, which if obfuscated is going to create a payload that Raygun can’t read.

-keepattributes is recommended in order to keep certain bits of information. In particular, Signature is needed to resolve generic type names and LineNumberTable is so that your stack traces have line numbers which is generally what you want. By default, file names will not be available in the stacktraces. The SourceFile entry on the -keepattributes line will cause file names to be available in the stacktraces, but note that they are not obfuscated. Don't include SourceFile on the -keepattributes line if you don't want your file names to be included in your app package.

-renamesourcefileattribute is optional. This causes the file names of your code to all appear as “SourceFile” in the stacktrace. This is for added secrecy so that your actual file names can not be seen in the application package. Even with a mapping file, the original file names can not be resolved, which is not so good for debugging. If you don't mind your file names being kept, then feel free to remove this line for the extra debugging help.

Upload your ProGuard mapping files

When you use Android Studio to build your application package, ProGuard will write a mapping file to the /app/build/outputs directory of your application project. By uploading the mapping file to Raygun, all your exception reports will be retraced with the mapping file and be presented to you with readable stacktraces. Raygun provides two ways to upload your files - an API end point which is useful for automation, and manual upload from within the Raygun web app.

It's important to note that every time you make changes to your code and then build your application, you'll need to upload the newly generated mapping file if you want readable stacktraces from that build. Raygun is most valuable when your application is out in the wild being used by customers, rather than while debugging. So you generally only need to upload mapping files for builds of your application that get released to your customers. Raygun selects a mapping file you've uploaded based on the versionName of your application (as set in your build.gradle file). Specifying which version that each mapping file is for is explained in the instructions for both of the upload techniques below.

API endpoint

The recommended way of uploading the mapping files to Raygun is by automating a POST to the API endpoint. Below are examples of uploading a mapping file using cURL and different authentication methods. Each <VARIABLE> needs to be substituted (including the angle brackets) with your own value as described below each code example.

Username and password


<USERNAME> and <PASSWORD> are your Raygun account credentials.
<PATH_TO_MAPPING_FILE> is an absolute or relative path to your mapping file including the file name and .txt extension.
<VERSION_NAME> is the version name of your application as set in your build.gradle file. This is needed to select the correct mapping file for each of your exception reports.
<RAYGUN_APPLICATION_ID> is available in the URL of your Raygun application dashboard.

Basic authentication

  -H "Authorization: Basic <BASIC_AUTH_TOKEN>"

<BASIC_AUTH_TOKEN> can be generated by taking your Raygun account credentials in the format username:password and then using the base 64 result.
<PATH_TO_MAPPING_FILE> is an absolute or relative path to your mapping file including the file name and .txt extension.
<VERSION_NAME> is the version name of your application as set in your build.gradle file. This is needed to select the correct mapping file for each of your exception reports.
<RAYGUN_APPLICATION_ID> is available in the URL of your Raygun application dashboard.

External access token


<PATH_TO_MAPPING_FILE> is an absolute or relative path to your mapping file including the file name and .txt extension.
<VERSION_NAME> is the version name of your application as set in your build.gradle file. This is needed to select the correct mapping file for each of your exception reports.
<RAYGUN_APPLICATION_ID> is available in the URL of your Raygun application dashboard.
<EXTERNAL_ACCESS_TOKEN> can be obtained from Raygun by clicking your name in the top right corner, select "My settings" and then hit "Generate external access token" or copy it if you already have one.

Additional options

By default, the upload will fail if the version you specify has previously had a mapping file uploaded. If you do want to overwrite existing version names with the new mapping file, add the following to the cURL POST:

-F "overwrite=true"

If the upload is clearly not working, add the verbose option to get more information about what's wrong.


Possible results

200 if the upload was successul.

302 if you don't provide any form of authentication.

400 if the version is not provided. If the file does not have a .txt extension. If a file is already mapped to the given version and overwrite is false.

401 if credentials are incorrect, or you don't have access to the application.

404 if the url or app id is incorrect.

curl (26) if the path to the mapping file is incorrect.

Manual upload

A drag and drop zone is available in the Raygun web application for manually uploading ProGuard mapping files. This can be found by first visiting the desired application in your Raygun account, selecting "Application settings" from the side menu, and then clicking "ProGuard map center". Before uploading a mapping file manually, you'll need to rename it to be the same as the versionName of your application as set in your build.gradle file (but keep the .txt extension). This is so that for each exception report, Raygun can use the correct mapping file that was generated from the same version of your application.

Managing your uploaded mapping files

Regardless of how you upload your mapping files, they will all be listed in the PrGuard Mapping Center as seen in the image above. You can find the ProGuard Mapping Center by first visiting the desired application in your Raygun account, selecting "Application settings" from the side menu, and then clicking "ProGuard map center". Each listed mapping file includes a button to delete the file. When uploading a file manually, the upload will fail if the same version is already listed. Delete the existing file first if you wish to upload a new mapping file for that version.

Processing your error reports

With your mapping file uploaded, Raygun will retrace the stacktraces of all exception reports flowing into your Raygun dashboard. If any exceptions came into your Raygun account before you uploaded the mapping file for that version, then you can manually trigger a reprocessing of an exception report. To do this, navigate to an exception report instance in your Raygun dashboard that needs reprocessing. While on the Summary tab (default) scroll to the bottom to find a "Reprocess crash report" button. Click this and refresh the page a little later to see the reprocessed stacktrace.



This feature allows you to create, download, email and save reports based on specific Crash Reporting data you want to focus on. This feature is included for all Business and Enterprise plans.

Jump to a specific part of the documentation:

Create reports

1. Click on 'Reports' in the application sidebar under 'Crash Reporting':

2. Click on 'Create new report' and give your report a name:

3. Add columns by selecting which properties from your error reports you would like to include, including custom data:

If any errors do not have information for a column, 'unspecified' will be used. Columns can be re-organised in any order, just simply drag them into the order you want.

'Message' is a default column and cannot be removed. 

4. Create primany filters. Primary filters narrow down the errors that will be included in the report.

To create a primary filter, select the filter, operator and filter property. The filter dropdown contains properties from your error reports, including custom data. 

Example: You can choose to only include errors from version 1.3.0 or greater:

Primary filters cannot be changed after the report has been queued for processing.

5. Define the time range:

6. Click on 'Create report'. You will recieve an email once the report is ready to view. It can take several minutes to build the report, depending on your error volume.

View reports

Once a report is successfully generated, you can view it in the Reports table:

The report will contain a static set of data at the point in time it was generated. The data does not get updated, however, if you wanted to reuse the same columns and filters from a report, you could apply secondary filters or re-run the report with a new date range.

Search and secondary filters


You can search within a report using the search box at the top. The results will automatically update and you can save the updated results as a new report:

Secondary filters

Use secondary filters to narrow the report results even further, without permanently removing entries. The filters are based on the report columns and you can add multiple filters.

Just choose the filter, operator and specific filter property you want and the results will automatically update. You can then save the resutls as a new report.

Re-run reports

If you already have a report with all the filters you require, but want to include errors that are beyond the date range of the original report, you can use the re-run report feature.

Click on a report you want to re-run, then click the 'Re-run report' button on the top right and set the new date range.

You can also view all the re-run reports by clicking on the 'Currently viewing' dropdown:

Schedule reports

Once a report has been generated, it can be scheduled again. Scheduling allows you to reuse the same report definition of columns and filters to generate new reports at a frequency that suits your reporting needs.

To schedule a report, just click on the stopwatch icon on the top right next to the 'Re-run report' button (see screenshot above).

Choose when you want to schedule the reports and click 'Done'. You will recieve an email one the report is ready to view.

View report history

Reports that have been re-run or scheduled will create a report history. To view the history, just click on the hyperlinked number in the history column on the Reports table:

Or, if you're already in a report, click on the 'Currently viewing' drop down and click 'View complete history':

Manage reports

There are a variety of ways to manage and store your reports. You can:

  • Download reports as a CSV or Sqlite file for further data analysis outside of Raygun
  • Email reports as a CSV or Sqlite file to send to others
  • Delete reports once they have been successfully generated

These options are found within a report, on the top right of the page:

The number of reports you can generate is based upon your plan size. 

Raygun Sidekick

Raygun Sidekick

In short, the Raygun Sidekick is a Mac application that will detect, zip and upload dSYM files to your Raygun account. This is a must-have tool for all developers working on native iOS applications using our native Raygun4iOS provider. dSYM files are essential to extracting great stack trace information out of native iOS error reports that you send to Raygun. The Raygun Sidekick app makes sure that you don't forget to upload a dSYM, and provides the simplest possible workflow for doing this.

Getting started

First off, download the latest version of the Raygun Sidekick here. This tool is distributed as a dmg, so when you open it up, drag the Raygun icon into the Applications folder. Then you can open the Applications folder and run the Raygun Sidekick app from there. At this point the dmg is no longer needed, so you can dismount it.

Install Raygun Sidekick

If you are having issues running the Raygun Sidekick app, please see the troubleshooting section below.

The first time you run the Raygun Sidekick, you'll be presented with the Preferences window where you can log into your Raygun account. After logging in, feel free to change any of the other preferences and then close the window.

Log in

Your trusty Raygun Sidekick is now standing by - you can see the Raygun icon in the Mac menu bar.

Raygun Sidekick


Whenever you perform an Archive operation on your iOS application in XCode, The Raygun Sidekick will ping you a Mac notification. (To perform an Archive operation, make sure XCode is set to build for an iOS device, and then select Archive from the Product menu).

Raygun Sidekick Notification

Clicking the notification will open the uploader window and display information about the dSYM that XCode built during the Archive operation. Use the combo box to select which one of your applications you want to upload the dSYM to. (Tip: Raygun Sidekick will remember which application you choose for each dSYM so that you don't need to select it every time). Now simply hit the "Upload" button and the Raygun Sidekick will take care of the rest. When the upload is complete, you can go ahead and close the window.

Upload dSYM

Manual uploads

If you accidentally closed or missed a notification, click the Raygun icon in your Mac menu bar to see a list of the 5 latest dSYMs generated by XCode. Simply click one of these that you need to upload. This will bring up the upload window which you can use in the same way as described above.

Recent dSYM List

If you need to upload an older dSYM, or a dSYM that isn't in the XCode Archives folder, you can click the Raygun icon in the Mac menu bar, and then select "Open uploader app...". In the window that opens, you can either drag and drop a dSYM or xcarchive file, or click to open a file selector. After doing so, the window will change to show the usual upload process as described above.

Drop zone

Update options

Early on, the Raygun Sidekick will ask you if you want to automatically check for updates - which we recommend that you do. This will only be asked once, but you can change the update options at any time. Click the Raygun icon in the Mac menu bar, and then select "Preferences...". In the Preferences window, select the "Updates" tab near the top of the window. Here you can optionally check for updates automatically, download updates automatically, and set a check-for-updates frequency. If you've heard that we've released a new version of Raygun Sidekick and you just gotta get it now, click the "Check for updates" button in the Preferences windows, or in the Raygun Sidekick Mac menu.

Auto-update preferences


Issues running the Raygun Sidekick app: As with most Mac developer tools that aren't published to the app store, Gatekeeper may try prevent you from running the application. The Raygun Sidekick and all the internal frameworks are signed with a Developer ID, but for more recent versions of OSX, Gatekeeper may still warn you since it didn't come from the app store. If you do run into this issue, click the Mac icon in the top left corner of your Mac menu bar, and then select "System Preferences...". In the window that opens, select "Security & Privacy", then under "Allow apps downloaded from:" switch to the "Anywhere" option. Now you will be able to run the Raygun Sidekick application. After doing so, this will no longer be an issue, so go ahead and change you security options back. (We are exploring options to resolve this issue in a future version).

Trouble signing in or out: If you tried out the beta of the Raygun Sidekick, it is possible that when running the latest version, the Raygun Sidekick doesn't seem to want to stay signed in or out. This issue can be caused by multiple Raygun Sidekick passwords stored in your Keychain. This is very easy to fix: simply open the "Keychain Access" application on your Mac, then locate and delete any "Raygun Sidekick" passwords. Now you'll be able to sign in to the Raygun Sidekick and everything will work as expected from now on.


The latest version of the Raygun Sidekick can be downloaded right here. If you have any questions, we'd love to hear from you in the forums.


Searching error groups

Error Search

Raygun search allows you to view error groups and instances that match the keyword queries you enter. The search box is available below the application switcher in the top-left corner of the application dashboard.

By default search queries with multiple keywords are ANDed together, so only errors that match all keywords will be returned.

Fuzzy queries

Raygun search supports partial matching (e.g for when searching for affected users), so to locate a user 'John Smith' with the email, you could search for, person, john or smith and other such combinations.

camelCase and PascalCase strings (e.g class names) are also supported - so if you have a type like myAwesomeCustomException, it can be located by entering any combination of the keywords myawesomecustom or exception. This is not currently case-insensitive, so you can also query for it with myAwesomeCustomException, but not myawesomecustomexception.

You are able to search with terms that contain a colon if they are not listed in the reserved fields above. This includes the double-colon scope resolution operator ('::') as used in some languages.

You can also search for method/function calls that include '()' - for instance the query contains() will return errors that have 'Contains()' in their stack trace.

Well-known field queries

Many important fields are indexed, including the message, class name, stack trace, and more. By default, all of these are searched when submitting a query. If you want to target a particular field, you can add one of these prefixes to the query:

  • message
  • version
  • url
  • querystring
  • host
  • impacteduser
  • exceptiontype
  • stacktrace (class names and method names only)
  • innererror
  • customtags
  • customdata
  • machinename
  • browser
  • operatingsystem
  • device
  • architecture
  • devicemanufacturer
  • model
  • errorgroupid

For instance, to search only through the custom data of your errors, enter customdata: foo.

Browser searching

Errors for certain browsers can be searched for by providing a search query such as browser: chrome or browser: ie. You can also specify the version, for instance browser: ie8. This provides an alternative to the browser predicate in the filter UI.

Query by Error Group ID

As above, you can search for a particular error group by ID by submitting the query errorgroupid: {{id}}. The error group ID is located after the /errors/ segement in the REST URL path for an error group. For instance, /crashreporting/{{appid}}/errors/{{errorgroupid}}.

Exact queries

Wrap a query in double-quotes, e.g. "foo-bar", which will match raw message, separated only by whitespace. For instance, without double-quotes, exceptions will be returned which have the tokens 'foo' and 'bar', but when wrapped in quotes only exceptions with messages that contain the string 'foo-bar' will be included.


The search engine supports the standard wildcard characters * and ?. When included in your search query string, these will match from all characters preceding it, to any after it (or all, if it is the final character). This is supported for both exact and non-exact queries (ones that aren't wrapped in double-quotes), but is particularly useful for the latter for precise matching.

Wildcard querying allows you to match part of a substring, by matching on any errors that have a particular field with a value that starts with that string exactly. For instance, the query "#ff*" will return any errors that include both #ffffff and #ff0000, but not #000000. The first character in the query string should not be one of the two wildcard characters above - it must a regular character (otherwise it is ignored).

Boolean queries

Raygun Search supports common boolean logic with your supplied terms:

  • AND - matches error groups where both terms exists. For instance 'foo AND bar' will return error groups that contain both 'foo' and 'bar'.
  • OR - matches error groups where either term exists. For instance 'foo OR bar' will return all error groups that contain either 'foo' or  'bar'.
  • NOT - matches error groups that don't contain the next term. For instance 'NOT foo' will return all error groups that don't contain 'foo'
  • Sub-query grouping with brackets - specify precise boolean queries with curvy brackets. For example '(foo OR bar) AND baz' will return all error groups that contain 'baz' along with 'foo' or 'bar',

Please note that all boolean terms must be written in UPPER CASE, terms in lower case will not act as a boolean operator.

User Search

Specific users can be searched on the "Users" page. Simply enter provided user's details into the search box. The search is performed on the firstNamefullNameemailidentifier and uuid field's by default. Results are ordered by the number of attributes matching the search terms.

Single Sign-On

Using Single Sign-On with Raygun

Basic SSO

Basic SSO using GitHub, Google, Twitter and Facebook is available to all users. At the Raygun login page, just choose which service you would like to use to access Raygun:

Basic SSO uses the login credentials for a service, such as Google, to access multiple applications, such as Raygun. Using Basic SSO removes the need to re-authenticate when switching between applications.

Advanced SSO / SAML-based SSO

Advanced SSO is available for customers on an Enterprise level plan. We support the SAML2 (Security Assertion Markup Language) standard for authenticating users and logging them into the application.

To get your enterprise integrated with Raygun SSO please contact our team by either sending us an email or by using the "Contact Raygun" link within the application. We will get in touch to complete the integration process with your identity provider.

Once integration has been completed, users can log in to Raygun using SSO by either using the "Sign-in with SSO" link from the main application sign-in page or by using the custom endpoint that we will have supplied for you during the integration process. When signing in using SSO you will be redirected to your identity provider (e.g. G-Suite), where you may need to complete additional steps (e.g. selecting the authenticating account) before being redirected back to Raygun. If you have two-factor authentication applied to your account, you will still need to supply an authentication token before completing the authentication process.

For provisioning new team members, you will first need to create a new account for your team member with the email address on the account matching the email address which will be supplied by your identity provider. Alternatively, you can invite the team member into your organization. Your team members must be joined to your Raygun team for authentication to succeed.

For de-provisioning users from the system, you can either contact us to delete the user account, or remove the team member from the user's team in your Raygun account.

If you would like to ensure all users on your team must authenticate through your single sign-on provider, please contact us and we can apply this policy to your account.

Source Maps

Source Maps

When dealing with minified JavaScript the information supplied in stack traces does not provide accurate line/column information to track down the source of the error. To deal with this you can utilize a source map which will provide the translation between the original JavaScript source and the minified version.

Raygun supports source map decoding for the information supplied by browsers which produce a line and column number for error information. Typically any errors which are specifically raised by you will contain this information. Recent versions of Chrome will also produce this information for window.onError global errors.

What you need

Raygun requires the following to complete the decode process:

  • Valid line/column numbers to be present in at least one line of the stack trace
  • An accessible minified JavaScript file as specified in the stack trace. This is either downloaded or retrieved from the source map center to determine if there is map file present
  • The map file to be correctly indicated in the minified JavaScript file using a footer comment
  • An accessible source map file (either publicly hosted or uploaded to the source map center)
  • To provide inline code snippets we also require the sources content field of the map file to be present or for the map file to point to publicly accessible unminified source JavaScript files. If neither of these are provided decoding of line numbers and variable names can still succeed but no inline code will be displayed with the stack trace

Recommended minifier tooling

We recommend using UglifyJS2 to generate a source map file.

Both the minified JS and its map file should use relative pathing. Look into the -p and --source-map-root options.

Validate your Source Maps

Ensure that your source maps are compatible with Raygun by using our validation tool. We have created a handy tool that allows you to validate your source map files for use with Raygun.

Uploading JavaScript files

If you do not wish to have publicly accessible JavaScript files you can upload them directly to Raygun from the JS Source Map Center. This is within the Application Settings submenu on the main dashboard.

Within the Source Map Center you can upload files and label them with the URL they would normally be accessed from. When a JavaScript error is mapped we will use the files you uploaded instead of trying to access them from your servers.

In addition to the upload page we offer an API endpoint, the URL is displayed in the Source Map Center and is specific to each application.

Simply send a post request with "URL" and "file" parameters specified to upload the file. Any existing files with the same URL will be overwritten.

The request must be authenticated by adding either a basic auth header for a user with access to the application (eg. "Authorization: Basic MyBasicAuthToken") or an External Access Token appended as a querystring parameter (eg. "").

External Access Tokens can be generated from your user settings page.

Here is a cURL example request using Basic Authorization:

  -X POST 
  -F "url=" 
  -F "file=@C:\website\js\myjs.min.js"

Here is an example using the Grunt plugin grunt_http_upload using an External Access Token:

http_upload: {
  your_target: {
    options: {
      url: '',
      method: 'POST',
      data: {
        url: ''
    src: 'C:\website\js\myjs.min.js',
    dest: 'file'

Uploading multiple Source Maps and JavaScript files

If you have a lot of source maps and JavaScript files to upload for each deployment of your site/application, then another option available to you is the bulk upload endpoint. This lets you upload a zip file containing many source maps and/or JavaScript files. All the details you need to use this endpoint are described below.


<RAYGUN_APPLICATION_IDENTIFIER> is the identifier of the application in Raygun that you're uploading to. This can be found in the URL when looking at your application in Raygun.

Required parameters

  • "file" must be a zip file containing the source map files you are uploading.
  • "urlmap" is a JSON array of objects that map a source map or JavaScript file to a url. Each object must have a "filename" field that is the name of a file in the zip, and a "url" field that the file is to be mapped to.

Authentication options

  • External access token: You can create an external access token in Raygun from your user settings page. This can be used by adding an "authToken" query parameter to the endpoint URL.
  • Basic authentication: Use your Raygun credentials to make a basic authentication token, and use this in an "Authorization" header.

Here is an example of using this endpoint with cURL and an external access token

  -F 'urlmap=[{"filename":"<SOURCE_MAP_FILE_NAME>", "url":"<SOURCE_MAP_URL>"},{"filename":"<JAVA_SCRIPT_FILE_NAME>", "url":"<JAVA_SCRIPT_URL>"}]'

<SOURCE_MAP_FILE_NAME> The file name of a source map within the zip file. This is expecting just the file name, not a path.
<SOURCE_MAP_URL> The URL you want to map the source map to.
<JAVA_SCRIPT_FILE_NAME>strong> The file name of a JavaScript file within the zip file. This is expecting just the file name, not a path.
<JAVA_SCRIPT_URL> The URL you want to map the JavaScript file to.
<PATH_TO_ZIP_FILE> An absolute or relative path to the zip file to upload.
<RAYGUN_APPLICATION_IDENTIFIER> The identifier of the application in Raygun that you're uploading to. This can be found in the URL when looking at your application in Raygun.
<EXTERNAL_ACCESS_TOKEN> This can be obtained from Raygun by clicking your name in the top right corner, select "My settings" and then hit "Generate external access token" or copy it if you already have one.

Limitations and expectations

If any of the following are not met, then the entire upload will fail and return a 400.

  • The zip file must not exceed 65 MB when compressed.
  • The contents of the zip file must not exceed 128 MB when uncompressed.
  • The zip file must contain no more than 1000 files.
  • The "file" parameter must be present and the file must be a zip.
  • The "urlmap" parameter must be present and have the correct JSON structure described above.

If any of the following are not met on an individual file within the zip, then that file will not be uploaded. All files in the zip however will have a chance to be processed. The response will include the failure reason for any files that were skipped.

  • A source map file must have the file extension of ".map", ignoring case.
  • A JavaScript file must have the file extension of ".js", ignoring case.
  • The file name of a source map or JavaScript file needs to be included in the "urlmap" parameter along with the URL to map it to.
  • A source map or JavaScript file must not exceed 65 MB uncompressed.

Private source maps setup example

To get started you will need a tool which can help produce a source map as part of producing a minified version of your JavaScript. We personally use UglifyJS and find it to be a great tool. To install it you will need Node.js installed, you can then run:

npm install uglify-js -g

This will install Uglify so that it's globally available which is what you will typically want.

To produce minified JavaScript we can simply run 

uglifyjs example.js -o example.min.js

To produce minified JavaScript with a mapping file we can run

uglifyjs example.js -o example.min.js --source-map

This produces the minified file "example.min.js" as well as a source map file ""

If you deploy the minifed file example.min.js to production but do not wish for any or some of these files to be publicly accessible you will need to upload these files to Raygun to get source mapped stacktraces.

You can do this from within Raygun by accessing the JS Source Map Center in the Application Settings sub menu.

Here you can simply select the minified, mapping and source files to upload. After uploading you can type the URL the resource is mapped to so when our source mapping process tries to retrieve the file, it uses the file you uploaded instead.

You can determine the URL to enter by looking at the map file's "file" and "sources" properties. You can then prepend the URL of the minified file on production minus the filename.

For instance, if we have a minified file example.min.js located at and we upload example.min.js, example.js and to Raygun. We would assign their URL's like this:

After the files are uploaded they will be used in the source mapping processes. This is what your mapped stacktrace will look like:

Using Private Source Maps for Hybrid Mobile Apps

With many mobile applications being written in JavaScript within containers such as Apache Cordova, using Raygun4js is an appealing way to track errors across all platforms. However as the application is hosted on the phone instead of a website with a static URL you may find that error stacktraces contain files paths which differ across different platforms and devices. This introduces some difficulty when trying to utilize source maps which require the minifed and mapping files to be uploaded and labeled with exactly the same URL's as would appear in a stacktrace.

For this reason we recommend adding a handler to the raygun4js provider to rewrite file's URLs before the error is reported back to Raygun. This means that errors will be reported from the same domains and not unique domains for every platform or device.

An example of such a handler is shown below:

//handler method
var beforeSend = function(payload) {
    var stacktrace = payload.Details.Error.StackTrace;

    var normalizeFilename = function(filename) {
        var indexOfJsRoot = filename.indexOf("js");
        return '' + filename.substring(indexOfJsRoot);

    for(var i = 0 ; i < stacktrace.length; i++) {
        var stackline = stacktrace[i];
        stackline.FileName = normalizeFilename(stackline.FileName);
    return payload;

//attaching the handler to the Raygun provider

This handler removes the platform and device specific paths from the URL's present in an error's stacktrace.

For instance an error occuring on an Android phone within the file


and on an iOS device within the file


will both report

as the URL of the file within which the error occured.

This allows the use of a single set of sourcemaps for source mapping across all deployments.


There could be up to a 30 minute delay before the mapping process starts utilizing any uploaded files. To reprocess any errors which occur during this time simply hit the "Re-process this error for Source Maps" button on an error instance.

Code snippet insertion is only available if there are less than 50 source files referenced in the map file.

Using Private Source Maps with Node.js apps

Raygun supports source mapping for Node.js stacktraces which include column numbers. To enable this feature simply upload your map files as per the instructions on this page and enable the processing of Node.js errors with this setting in Raygun.

Node.js option for source maps

Managing files in the JavaScript Source Map Center

Files in the JavaScript Source Map Center can be managed via a few API calls.

A GET request to[applicationIdentifier] will return a JSON object listing all files within the center. eg.

  -X GET 


  "Count": totalNumberOfItems, 
  "Items": [
       "Url": "https://urlOfItem", 
       "FileName": "fileName.js", 
       "UploadedOn": "2016-01-01..." 

A DELETE request to[applicationIdentifier]/all will remove all files within the center. eg.


A DELETE request to[applicationIdentifier] will remove files with the specified URLS from the center. eg.

  -F "url="[applicationIdentifier]

All requests use the same authentication methods as the upload call (Basic Authentication and Token Authentication).

Summary Favourites

Summary Favourites

Summary favourites enables you to customize the fields you'd like to see on the Summary tab for all your Crash Reporting errors groups.

What are Summary favourites

When you click an error group in Crash Reporting, you will land on the error group's Summary tab. There will be yellow stars on the right side of most of the fields - these indicate that these fields have been saved as a 'favourite' to be viewed on the Summary tab:

If you have not chosen any Summary favourites, the Summary tab will show the default favourites. You can view a list of the default favourites below.

Choose favourites

To choose favourites to add to the Summary tab:

  1. In an error group, navigate to a tab that contains selectable favourites
  2. If there's a field with a grey star next to it, simply click on the grey star to add the field to the Symmary tab:
  3. To remove a favourite form the Summary tab, just click on the yellow star.

Reset favourites

To reset Summary favourites back to the default selection:

  1. Navigate to the Raygun User Settings Page by clicking your avatar on the top right corner of the app, then clicking on "My Settings"
  2. Click on "Reset Summary Favourites"
  3. Done!

Default Summary favourites

  • Occurred on
  • Machine name
  • Message
  • Tags
  • Class name
  • Version
  • Request
    • Host name
    • URL
    • IP address
  • Error
    • Message
    • Class anme
  • User
    • Identifier
    • Email
    • First name
    • Full name
  • Stack trace

Two Factor Authentication

Two Factor Authentication

Enabling two factor authentication adds an additional layer of security to your Raygun account.

To set up two factor auth navigate to your account settings by clicking your name in the top right then "My settings".

Click "Enable Two Factor Authentication". Here you will be asked to choose an authentication application you wish to use. A few suggestions are listed.

Once you have choosen an authenticator you can progress to the next page where you can either scan a QR code or enter the code manually. Simply enter your password and auth code to confirm and enable two factor authentication.

SMS Authentication

To set up SMS authentication you must have two factor authentication enabled and a phone number saved in your profile settings:

Set up SMS authentication:

  1. Navigate to your account settings by clicking your name in the top right then "My settings"
  2. Click "Enable SMS Authentication"
  3. Click "I'm ready, let's set it up"
  4. Click "Send SMS code" to receive your authentication code - it should arrive within 30 seconds
  5. Enter your credentials when receive the authentication code
  6. Click "I want to enable SMS authentication"
  7. Done!

SMS authentication acts as a fallback authentication method if you have two factor authentication enabled but lose the mobile authenticator application.

In order to enable SMS authentication you will need a device capable of receiving SMS messages.

You won't be able to change the phone number associated with your Raygun account while SMS authentication is enabled.

If you want to change the phone numbers you will need to disable SMS authentication before updating your credentials.


User Tracking

Set Up User Tracking In Raygun

In Raygun, you can capture data about currently logged in users for Crash Reporting and Real User Monitoring. You can provide whatever user information that will help you solve issues, but make sure to abide by any privacy policies that your company follows

Crash Reporting

Providing user information will allow your Crash Reporting dashboard to display the number of unique users that each exception has affected. This is a huge help with prioritising issues to solve that have the largest impact.

If available, you could provide an ID that is meaningful to you such as a database ID. This could help you to look up information at your end that aids in solving issues. If you are able to provide a name and contact details, you'd be able to contact customers to let them know that issues they've encountered are being worked on, or have been solved.

If you don't want to include easily identifiable user information such as email and name, providing a unique guid at the very least will allow you to see the number of users that are affected by each error.

User tracking is available in the following Raygun providers:

Real User Monitoring

Providing user information will allow Raygun Real User Monitoring to display the username in its Sessions and Users tab. If you have user tracking enabled, you will be able to view the user's full name and email. This is helpful for contacting customers who you see have had bad experiences on your site or application.

For tracked and anonymous users, you can view the user location, browser and platform information, experience and session information, and error history. Error history will only be available if you have Crash Reporting activated.

Set up user tracking in Real User Monitoring

Documentation missing?

If we don't have documentation about your desired topic, send us a message and we'll create it for you.