Management Overview


Management is the section of the Main Menu where you will be able to customize most aspects of your interaction with Countly, including the applications you can create to visualize insights derived from your chosen features, crucial information regarding the data being processed by Countly, team permissions, etc.

Note that some individual components might be partially or entirely restricted depending on whether you are using Countly Enterprise or Countly Lite. You can validate which features correspond to each edition here.

User Management

Understanding User Management

Countly provides a way to manage different types of users (i.e., global admin, admin, or user). Each user will be able to do what has been assigned to them. For example, you may want your marketing team to be able to see only the whole dashboard, whereas the website manager, working as the global admin, may easily add/remove applications, define other users, and manage the entire interface.

Different types of users have different authorization levels:

  1. Global admin can add, remove, or edit users; add, remove, or edit applications; and typically do whatever is assigned to them on the user interface. This is the most powerful user.
  2. Admin can manage applications, e.g. add an application, edit it, or remove it completely from the management dashboard.
  3. User is basically at the bottom of the hierarchy, and can only see the Dashboard, without having the ability to manage other applications and users.

All 3 types of users can send push notifications, are able to download raw data, and use the API to read data from MongoDB directly.

Using User Management

Manage Users

Upon going to Management > User Management, you will find the following View by default.


Here you will find:

  1. Tabs for managing individual users or to manage groups. By default, the Users tab will be selected.
  2. Table with the list of users. You can filter, search, or download the information or edit the columns with the controls on top of the table.
  3. Menu for managing each individual user. Note that restrictions to these actions will depend on your role. The global administrators can remove the failed logins of a user. This option allows users who exceed the maximum number of failed login attempts and incur a temporary ban to reset their failed login count and remove the time ban.
  4. Button to create new users.

Creating Users

In order to add a user, you must be the global admin.

Also, make sure Restrict Access is enabled. To do so, in the Sidebar, go to Management > Feature Management and enable the Restrict Access toggle.

To add a new user, click + Create User to access the following drawer:


Here you can enter user information and credentials. Fill in the details here and click Create User.

If in Role, Global Administrator is not checked, the following options will appear, so as to select the permissions the new user or admin will have and for particular applications.


Here, the Admin use the checkboxes for particular permissions, for individual features of Countly, or both. You can use the search bar to search for specific feature(s) to which you want to grant access. You can also fine-tune the restrictions for specific applications using the + Add Additional User Permission Set .

Active Directory and Okta integrations

When you use AD or Okta integrations in Countly Enterprise, user and group management is completely hidden, and all management is carried out with AD or Okta rules.

Manage Groups

The control of users and groups is a core element of Countly. While you may define a user without a group, you may also define a group and put each user into that particular group to benefit from easy administration. While creating a group, the administrator defines what the users in that group can do, and then adds users accordingly.

In order to define a group, go to Management > User Management.


Creating New Groups

The logic is similar to how new individual users are created.

Clicking + Create Group, will open the following drawer:

Here, you should define the particular properties of this group, such as which apps will those users have access to, or which sections they will be able to create, read, update, or delete. You can also use the search bar to search for specific feature(s) to which you want to grant access. If you mark the Global Administrator checkbox under Role , all permissions will be set to true.

Division of Data Manager Permissions

Data Manager permission has been divided into 3 parts:


  • Data Manager: Redaction - Redaction is the systematic procedure of eliminating confidential or sensitive data to make it suitable for sharing with a larger audience. Its purpose is to facilitate the controlled sharing of information. Data Redaction will cover the redaction functionality for user properties.
  • Data Manager: Transformations - Data transformation is the structured process of changing, cleaning, and arranging data into a format that’s easy to work with. This helps in making better decisions by analyzing data effectively. Data Transformations will cover everything related to transformations (for both events and user properties).
  • Data Manager - will cover the rest of the rights.

Note: The CRUD permission dependencies are different for each one of them; for example- when you select the read operation of Data Manger: Transformations, the read operation of Data Manager is automatically selected for you.

After you create your group, it will look like this:


Here, we have defined 3 different groups. You may define as many groups as you would like depending on your granularity requirements. After creating a group, when a new user is added, those groups are viewable under User Groups, as shown below.



This is the main control panel for the general settings of Countly.

Upon accessing from the Sidebar > Management > Settings, you will be greeted by the following View:


There are three main elements:

  1. Core Settings: contains settings for everything that is not a feature and, thus, cannot be disabled (find more about enabling/disabling features in the Feature Management section). This section includes grouped settings for your Countly instance's API, Frontend, Logs, and Security.
  2. Feature Management Settings: contains settings for the individual features of Countly. The parameters you set here will affect directly how some data gets displayed and collected by the corresponding feature. For further information on the meaning and impact of each setting, please refer to the User Guide corresponding to each particular feature. Also, note that these settings are independent of whether the individual features are enabled in Feature Management.
  3. Panel visualizing the settings of the selected item in sections 1 or 2. By default, it will show the settings for the first item in the list (e.g., API, as in the image above).

Logs (Settings)

For the management of Server and Audit Logs, review the Logs section below.


Logs Settings consists of a comma-separated list of logger names for each logging level. The Default value is a logging level for loggers that are not listed in the config. To overwrite logging level WARNING for module api and to set it to DEBUG, for instance, you'll need to replace featurename:api on the screenshot above with featurename:api, api. This will automatically enable all api:XXX loggers as well, unless some of them have different log levels in the settings.

Also note, that due to the fact that these settings is not available on Countly upon startup, the default logging setting must be supplied to config.js as well. config.js preferences are used on startup and then get replaced by shared configuration stored in MongoDB:

var countlyConfig = {
    logging: {
        info: ["jobs"],
        default: "warning"

module.exports = countlyConfig;



The Application Management feature is available in both Countly Lite and Countly Enterprise.

The Application Management feature allows you to control, edit, and create all details related to all your web, mobile, and desktop applications. Applications can be managed by global users, and viewed by Admins of the apps. This feature ensures easy control over any quick changes you may want to implement, allowing Global Admins to create, edit, or delete apps, and allowing Admins to view app information, like app key, and to control settings, like setting up push notifications.

Understanding Applications

In the Application Management feature, you can add new applications to Countly, as well as edit and change any of the app details. The elements that you can address, for each app, under Application Management include:

  • Basic app information
  • App details
  • App settings, including:
    • Push Notifications
    • API
    • Drill and Segmentation
    • Jira Integration

Using the above, you can edit any app details as required, as long as you have access to do so.

Using Applications

To start working on your apps, go to Management > Applications. You will see a list of all the apps you've already added on the left. Click on any app to open up its View.


Here you will find:

  1. List of existing Applications. Note, for Admins, this would be a list of applications to which the user has admin access.
  2. Edit button to change the App Information. Note that any change needs to be confirmed when the ensuing Save Changes button in the bottom of the page.
  3. App Lock to disable data population for the app and disables any app info editing capability.
  4. App menu, that allows you to clear data in the App, reset, or delete the App.
  5. Button to create a new app.

Adding New Applications

You can also add new applications through Applications. To do so, once you go to Management > Applications, click on the + Add New App button at the top right of the page. A form will open up, and you will be required to fill in the below details:

  • Application Name: Name of the application that you would like to maintain in Countly
  • Application Type: Whether it is a web, mobile, or desktop app. Countly records data based on application type.
  • Time Zone: The default time zone for your application, which will become the time zone in which all data will be recorded.
  • Application Image: Add an image for your application. This will show up next to the app name in the list of apps on the Application Management page and will allow for easier reference.

You will be given an app key which is unique to that application. This key should be written in the SDK code snippet, which in turn, will be embedded in your application. For information on how to do this, please review SDK integration guides.

If you sell items from your mobile or web app, you can use Applications to enter your IAP (In-App Purchase) Event Key in order to collect IAP revenue data, and see the same under App Settings > Revenue feature.

Once you have filled in these details, click on Create to save your application. You will now be able to see this application in the list of applications under Applications. You can always edit its details and additional settings using the below-mentioned steps.

Editing Applications

Once you have clicked on an application, you can edit its many details. Although the application is not locked by default, if it is locked by user, then you need to first Unlock the App Lock. To do so, click on the three dots on the top right corner and select Unlock. Keeping your application details locked is recommended to avoid accidental data purge or population.

Once you have unlocked the App Lock, you can proceed to make the necessary changes. The basic details include:

  • App Name
  • App Type
  • App Key (Note that this can be changed but has some consequences. A warning appears to notify the user about this.)
  • Time Zone
  • App ID (This cannot be edited)

You can also edit App Settings including Push Notifications, Jira, API, and Drill and Segmentation. Click on the drop down arrow to the left of each of these to expand the menu and make the necessary changes. When making any changes in Push Notifications, make sure to add necessary GCM/APN credentials.

Important Note

Any changes that you make in the App Settings will override the global settings for the app.

Once you have completed making the required changes, remember to Lock the application before exiting.


The Consolidate feature is a powerful tool combining multiple Countly applications into a new, consolidated one. This new application, in turn, allows all the available data from the other applications to be accessed in a single place in your Countly platform.

With the Consolidate feature, you can create more wide-ranging reports that will let you analyze data from a higher level than one specific application

Please note

Using Consolidate to create a new application will effectively duplicate the incoming data, with one set being recorded first in the original application and the second in the consolidated app. This can effectively affect deployment, server requirements, and data point processing. Please check with your Account Manager or our Support Team for details on how Consolidate can affect the data points processed through Countly.

Retroactive Data

When using this feature, the incoming data visible in the new application will be new. This means that the pre-existing, stored data from the original applications are not added to the new consolidated application, thus ruling out retroactive data collection. Since the consolidated app will only deal with incoming data, testing is only possible using accurate data, as the Data Populator does not generate data from the original apps.


Getting Started

To enable the feature, go to Management > Feature Management and enable Consolidate.

Using Consolidate

Consolidating application data is one of the particular settings for each application, along with Jira Crashes, Push Notifications, and several others.


You can only consolidate applications on the same server.

You can create a consolidated application by following these steps:

1. Create a new application in Countly.

2. In Management > Applications , select the application you created. Then, scroll down to App settings > Consolidate , and add pre-existing applications’ data to be consolidated into your new one.


You will get a notification confirming your changes and be able to visualize the data from the applications you selected by searching for the newly created application. You can use the Application Selector to select your new application and analyze the data.

Use Case Example

Suppose you have a mobile and a web application in Countly and maintain them as separate apps. In both applications, you use user_id to identify customers.

You would like to be able to access and analyze the user_id values from both applications.

  1. Check that the application is already tracking user_id values and that the property name matches both applications, i.e., in each application, you have a user_id property.
  2. Simply create a new application with the name of your choice. Assuming your mobile and web applications are on the same server, you can consolidate them in the new application.
  3. Select the new application and get your analysis started.

Deleting Applications

If you would like to delete an application, simply open the application by selecting it in the left menu and then click Delete. There may be some cases where you would only want to delete the data associated with an application but keep the application keys and other information. In this case, use Clear Data to remove all incoming data from this application, and start fresh.

Clearing the data is different form resetting the application. When you 'Clear Data', you only remove the collected data. However, if you reset the application, you will remove all user created things, like cohorts, funnels, etc.

Please note that if you clear data using this method, certain application configuration, such as push credentials and attribution configurations, will not be removed.

Countly Code Generator

If you would like to generate mobile or web code for Events, User Profiles, Crash reporting, and all the other features that come with Countly in general, we suggest using the Countly Code Generator, which is a point and click service that builds the necessary code for you.

License Manager

Please refer to the detailed License Manager User Guide.

Data Points

Benefits of Data Points

Countly operates through data points.

Monitoring your data consumption is crucial as it has a direct impact on the service-level agreements and, ultimately, your billing arrangements.

It is a good practice to regularly verify how many data points particular applications track and during which periods, so you can identify peaks and dips in user-generated data points to understand how much data is going through Countly.

Using Data Points

Upon accessing from the Sidebar > Management > Data Points , you will be greeted by the following View:


There are three main elements:

  1. Summary panel: contains the three applications that have generated the most data points in the last 2 hours. Results are in real-time and refreshed every 10 seconds.
  2. Data point graph: visual depiction of the number of data points processed by Countly. Depending on the time period selected, it can be shown as a bar graph (for 1-day visualizations) or has a punchcard (as shown above). This graph is divided in 0-23 (for 24 hours in total) and Sunday to Monday for the days of the week. Each blue dot represents the number of data points processed: the bigger and more intense the blue dot, the more users have been using your application or visiting your site and, thus, have generated a higher number of data points. When you hover over any dot, you will see information for each coordinate.
  3. Table view with the information from all your applications, consolidated application, and breakdowns of all data points created by sessions, events, and push notifications.

Upon clicking on any application name in the table, you will see the same data visualization but only for the selected application, as shown below. Note that in this particular example, the time bucket is set to "Today", hence it is displayed as a bar graph (as opposed to a time bucket longer than 24 hours, which would be displayed in a punchcard).




The Logs features are available in both Countly Lite and Countly Enterprise.

Using Logs

First of all, make sure Server Logs and Audit Logs are enabled. To do so, in the Sidebar, go to Management > Feature Management and enable the Server Logs toggle and the Audit Logs toggle.

Then, go to Management > Logs. The most important logs in this section are:

  1. Server Logs: Shows errors occurring during server boot or run.
  2. Audit Logs: all logs from your internal users (Countly users on your account) including changes made, and other details.

Server Logs


This is the default View upon accessing Logs. Here you will find:

  1. Tabs for Server Logs and for Audit Logs. Note that by default, the first View of Logs will always be the Server Logs.
  2. Log dropdown: select between API Log and Dashboard Log. You will also see additional options of all Install and Upgrade logs; this enables easier debugging in the event that something goes wrong with any installation or upgrade.
  3. Download Log and Clear Log buttons.

Audit Logs


Upon clicking the Audit Logs tab, you will find:

  1. Date range selector for the activities being audited.
  2. Dropdown to filter the activities audited. Note that you can only filter by one type of activity.
  3. Dropdown to select Countly users that have access to your server. Note that you can filter by the Name field of the users listed in User Management.
  4. Table containing results for the audited activities. Note that you can collapse each entry to see the full log, using the arrow next to the time of each log.



The Jobs feature is available in both Countly Lite and Countly Enterprise.

Understanding Jobs

For some Countly features, there is a requirement to perform automated background jobs. These jobs are listed in the Jobs table in Management.

For example, s uppose you have set up a Cohort, with the Cohorts Job to run every five minutes. This will result in the job running automatically in periods of five minutes, and the data is updated after each period of this time duration.

Using Jobs

To view the list of Jobs you have running, go to Management > Jobs.


Here, you will visualize jobs currently periodically scheduled to run in Countly.

If you are interested in a particular job, click on its name, where you will see the status and/or the outcome of the task. Note that for more details on each, you will need to refer to the individual feature in Countly.

For example, in the image below, two alerts show up as canceled. Thus, upon checking in Main Menu > Alerts, I may find the alert and identify the reasons why the task failed.


Data Migration


The Data Migration feature is available in both Countly Lite and Countly Enterprise.

This section describes how to export and import Countly data using the Data Migration feature.

Getting Started

The Data Migration feature can do the following:

  1. Export all data, including configurations and application data.
  2. Import this data to another server.

Currently it is not possible to migrate dashboard users using the Data Migration feature.

Exporting and importing can be done directly from server to server (via direct communication), or one export can be downloaded and then uploaded to the new server. It is up to you to choose which method you may want to go with.

Using Data Migration

To work with Data Manager, first make sure the Data Migration plugin is enabled. To do so, in the main Countly Dashboard, go to Management > Feature Management and enable the Data Migration toggle.

Then, you will find it in Management > Data Migration.


In the tabs on the top of this View, you can see the migration processes, listed as:

  • Exports: the list of your exports, e.g., data you have exported from the Countly database.
  • Imports: the list of your imports

Then, the Export or Import Data button in the top-right opens a dropdown menu where you can choose to import or export data.


This tab includes detailed information about your current and past exports. Each line describes one export. If you export the same apps multiple times, the system will record only the last export.


Each record consists of:

  • Applications: A list of application names.
  • Step: One of Exporting, Packing, Sending, Importing to other server.
  • Status: It can be either Finished, Progress or Failed.
  • Last update: You can see the last action done here, which can be exported data or packed data or received information about import status on other Countly server. If Export is in exporting step and given time in last update doesn't changes for a while, it might indicate, that there is a problem with export.

To the right of each record, the 3-dot ellipsis menu has the following options:

  • Download log: Downloads the export log. If the export status changes to failed or exporting is not completed correctly, you can review this log file. If you have access to the server, you can also view the log file on your Countly server. It is saved in the log folder under the name dm-export_[your export ID].log.
  • Download export: Downloads the exported files. This button might not be available if there are no exported files.
  • Stop export: Stops the export process. Available if the export process is not finished yet.
  • Send export: This button is only available if there is an exported file on the server. It allows you to send this file to another Countly server.
  • Delete export: Deletes the exported data, log file, and record in the database about this export.


This tab includes all the relevant information about your imports. If you have imported the same applications multiple times, there will be a record only for the last import. If there are still files or folders with exported data on this server and there is an attempt to import data, then there will be error. You have to delete this export in the Imports tab to start new import.


Each record consists of:

  • A list of application names
  • Status: Finished, Progress, or Failed.
  • Last update: You can see the last action done here. If the import is not finished yet or it is stuck, it may indicate that there is problem with this import. Looking at the log file will provide you more information.

To the right of each record, the 3-dot ellipsis menu has the following options:

  • Download log: Downloads the import log. If the export status changes to failed or exporting is not happening correctly, you can review the log file. If you have access to the server you can also view the log file on your Countly server. It is saved in the log folder under the name dm-import_[import_id].log
  • Delete export: Deletes the file uploaded on the server for the data import and the log files.

Exporting and Downloading Data

In order to export data which has been collected on your Countly server, click on the Export or Import Data button and then click the Export Data button in the drop down menu.

Below we explain how to export and download data. Next section explains how to export and send data to another server. Even if you do not want to download export, please read also through this section, because some of steps are the same and are not explained in the "Exporting data and importing to a server" section below.

You will see this drawer with the steps below:

  1. In the drop-down, choose applications that you want to export.
  2. Copy the path where you want to save the export. If you do not have a specific folder, leave this field empty.
  3. Chose the Export and download data option.
  4. If you do not have symbolication data or do not collect crashes, leave this part empty. Even if you have symbolication data you might want to leave this empty because symbolication data does not contain any information associated with your apps and user behavior in them.

After clicking on the Export data button, the drawer should close and you should see the new record appear in the Exports tab. Your record status will update automatically after 10 seconds. When it reaches the step exporting with status finished, you should be able to download your export. In order to download the export, click on the 3-dot ellipsis button and chose Download export.

After exporting, you can upload the export to other server or send it directly.

Exporting Data and Importing to a Server

If you want to send data to another server without downloading it, select your applications and export path like described above (step 1 and 2), but as Export Type (step 3) choose Export and transfer data to another Countly server.

Two fields will appear, shown below:


Server address and Server token should be provided by the target server administrator. Getting such an address and token is explained here.

If you are transferring data because you want to move to another server, you might want to enable redirection.

After pressing the button, the drawer will close and you will see the record in the Exports tab. If the export fails in the sending state you can try to resend it.

Redirecting Traffic to Other Countly Server

When you are sending an export or creating a new export, it is possible to enable traffic redirection to other server after a successful import. This means that each time your current server receives an SDK request, it gets sent to this other server.

Traffic redirection is enabled only after there is confirmation of a successful request. You can see in the System (Audit) logs recorded about an enabled redirection.

Also if you switch to your app, which is redirected, you will get this notification in the bottom-right corner:


To disable this feature, you have to go to Management > Applications. If the app is redirected, there will be a redirect URL set. Choose Edit for this application, check Remove redirect, and save changes.

Sending Exported Data

Sometimes you might have a valid export on your server, and you would like to send it. In order to do this, look for your export in the My exports list, press the 3-dot ellipsis menu, and then click on the Send Export button. After clicking, the export form will open and you will see that applications will be already chosen. If you have tried to send this export already, the export token and address fields will be filled. If you are resending the export because of invalid target server data, change the address and token to the right values.

Please read here for more information.

Importing Data

Below is explained how to import data, which has been previously exported and downloaded. If you want to allow imported data remotely you have to create a token, provide your token and address to the server administrator, and then follow the directions below.

To import, press Export or Import Data in the top-right corner and choose Import data. You will see this drawer with the steps below:


  1. Make sure Import previously generated file is selected.
  2. Drag and drop exported files in the upload box or browse.

The drawer should close and you should be switched to the Imports tab. There a record should be shown as being imported. It will be updated automatically after 10 seconds. When the status changes to finished, the data is imported.

You can also refresh the page to see imported apps in your app dropdown.

Creating a Token for Data Import

If you want to allow data to be imported remotely, you have to provide a server token and your server address to the server admin.

To import, press the Export or import data button in the top-right corner and choose Import data.

  1. Chose the option Import data from another server.
  2. Click Create token.

In this View you can see two new blocks: Server address and Token. You can also copy this information to your clipboard. If you try to close it without copying, you will get a warning message.

Note that after closing this window you will not be able to see it again. If you have closed it by mistake, you can just generate a new token or you can switch to /management/DBViewer look for last inserted token in countly.auth_tokens.

Token validity

An exported token is valid only for 7 days.

Feature Management


The Feature Management feature is available in both Countly Lite and Countly Enterprise.

Countly has an extensible setup, which means that you can add or remove as many features as you like. The features that can be added/removed in this way are known as Plugin Features. Features that cannot be enabled or disabled at the user's end are known as Core Features.

In Feature Management, you can enable or disable individual Plugin Features.

Using Feature Management

To add or remove any Plugin Feature, go to Management > Feature Management. You will see a list of the Plugin Features, including:

  • their definition
  • their corresponding View pages
  • any dependent features, which indicate whether any feature is dependent on the activation of another
  • a toggle button for each Plugin Feature

The toggle buttons indicate whether a Plugin Feature is enabled or disabled. You can enable or disable any of them by clicking their respective toggle buttons. Remember to always click Apply to save your changes.

Writing Your Own Plugin Features

Countly allows you to write your own Plugin and extend Countly’s functionality for both Countly Lite and Countly Enterprise. A plugin allows you to add more than one feature. To upload a Plugin, you will have to use the commands line tool. Here you can find the current Features that are available. You have to reach out to the Countly support team to get the file of Plugin file for a feature that you want to add to your Countly instance.

If you want to get started developing your own plugin, check out this dedicated section on the topic.


reCAPTCHA is a free Google service that protects websites from spam and abuse by distinguishing human users from automated bots.

To use it with Countly, register your domain on the official reCAPTCHA website

Once, you register, login to Countly. Go to Management > Settings > Feature Management and select Recaptcha . The following window will appear.

Enable the feature, and write down the information that you retrieved while registering your domain on the official website.

Email Reports


The Email Reports feature is available in both Countly Lite and Countly Enterprise.

Email Reports is a feature that generates automatic customizable reports that help product managers, application developers, and anyone involved with the product to get targeted summaries of analytics, crashes, or push notifications on a daily, weekly, or monthly basis.

Using Email Reports

First of all, make sure Email Reports is enabled. To do so, in the Sidebar, go to Management > Feature Management and enable the Email Reports toggle.

After that, you will find Email Reports in the Management section.


Providing that you already have existing reports, they will be shown on this screen. There you can stop and resume the report's automatic delivery with the toggle button and, through the 3-dot ellipsis menu, you can Edit, Preview, Delete, or choose to Send Now (without breaking the reports' determined delivery frequency).

Adding a New Report

From the Email Reports screen, click on the + Create new report button on the top right corner of the screen. The Create new e-mail report drawer will appear. There, you are going to set the following parameters:


  1. Report name: W hat the email report will be called.
  2. Emails: Users who are going to receive this email report.
  3. Report Type:
    • Core Reports provide data from the features used like Events, Analytics, Crashes, etc. This option is selected by default.
    • Dashboard Reports will be reflected in a dashboard, letting you select the dashboard in which you want to replicate the r eport .
  4. Applications to Receive Reports from: Apps for which this report will be generated . You can define a report for as many apps as you want.
  5. Data included: A selection of different metrics that should be included in the r eport . You can select as many metrics as you want.
  6. Frequency: Daily, weekly, or monthly emails.
  7. Time: Email sending time based on the selected time zone of the application.
  8. Send as PDF attachment: As some email providers may not render the long format of the report correctly, this checkbox instructs Countly to attach the report as a PDF file, allowing you to download it from the email.


Please refer to the detailed Alerts guide.



The Hooks feature is available in both Countly Lite and Countly Enterprise.

A hook is a mechanism that enables apps to receive data updates in real-time and that connects two different applications. The Countly Hooks feature will bring together triggers and effects. It is incredibly helpful when you're working with data updates that need to be notified immediately, such as payment transactions and purchasing processes. The Hooks feature allows you to listen to triggers on incoming data and internal actions on Countly, which will then send relevant data to an external URL in real-time or send an email. In other words, Hooks let you transfer data to other services you use when events happen in your Countly account.

How Hooks Works

T he Hooks feature allows you to capture events and user data from Countly, or post data to Countly via generated API endpoint. When an event is captured on the Hook, it serializes data about that event and you can choose to send this data by HTTP request or email. It allows creating rules, where each rule would have one trigger, and one or many effects.

Understanding Hooks


Every hook requires a trigger. A trigger is the event, tracked data, or internal action that fires the hook mechanism. Triggers are grouped into three categories:

  • Tracked Data
  • Internal Actions
  • API Endpoint
  • Scheduled Trigger

Let us delve into these in detail.

Tracked Data

It listens to events defined for the selected application, checks for matching data, and triggers an effect if matching data is found. It i ncludes events created by users (e.g., linkedButton etc.), reserved Countly events (like View, NPS, and Crash), and data like Network trace etc. You can filter the events by event or user properties before firing the hook mechanism .

Internal Actions

Countly has many internal events and actions, like entering or exiting cohorts. You can specify which cohort to listen to, or which system logs action, etc. In addition to that, you can track many different internal actions such as user profile changes, namely user profile creations, updates, and deletions. These internal actions could be like:

  • /cohort/enter
  • /cohort/exit
  • /i/app_users/create
  • /i/app_users/update
  • /i/app_users/delete
  • /hooks/trigger

It is important to note that /userprofile/update will also get triggered when a new user created will output updated user properties. The old user profile can also be added in order to allow Hook consumers to do a comparison.

API Endpoint

It generates a random ID to use in API endpoint and you can use this URL in some external services, like webhook, by copying it. When you set up this trigger, a unique URL is generated by Countly. You can use this to configure the settings in a third-party application or code to send data to Flow when a particular data update happens.

Scheduled Trigger

Users can select adding a new trigger type, as a recurring trigger. A scheduled trigger can be used for periodically reading data from MongoDB for a specific day. You can run the trigger at a fixed period (for example, every 7 days).

For these hooks, the Hook job will run every hour and check if there are hooks that should be triggered at this specific hour/day/date. This is very similar to Email Reports. The data that will be provided for actions from this trigger will be year, month, day, and hour.


After defining the trigger, the next step is to select the Action. The action can be of three types:

  • Send an E-mail
  • Make HTTP Request
  • Custom Code

Let us delve into these in detail.

Send an E-mail

This action enables sending an internal email with data from the trigger, which can be formatted as a nested list for displaying JSON objects. Users can add multiple email addresses, or deselect addresses by clicking the remove icon (X) after they have been added. The e-mail address format is automatically checked, and if the entered e-mail address doesn’t match with an acceptable e-mail format, a warning message is shown below the input field.

Make HTTP Request

You can simply provide a URL to call and pass the data from the trigger. It allows you to select to call either via GET or POST:

  • POST data: This makes a POST request to a URL.
  • GET data: This makes a GET request to a URL with query data.

If this action type is selected, a new input field for URL, a dropdown for call method options, an input field (Payload) for Query string (for GET) or request body (for POST) will appear below the Action type dropdown:

  • URL copied from a third-party tool is pasted into the URL input field. This field is used for entering URL to send the data to a third-party tool.
  • One of the GET or POST calls is selected.
  • Payload: Use {{payload_json}} to include the entire trigger data as a JSON object in your request body, or {{payload_string}} to include a stringified JSON in your query string. You can also use individual properties within the trigger data such as {{user}}.

All these fields are mandatory for HTTP Request action.

Custom Code

Users can set up hooks to receive data from some other service such as API call, which comes in a specific format. You need to use custom code to change the format of incoming to match the countly SDK format and, as the next action, select to call countly API endpoint with that data to ingest it. Users can write custom code to appear in the input field. The c ustom code allows users to add code snippets. I t will be wrapped as an async function and run in a JavaScript vm sandbox. The longest execution time is 30 seconds.

Using Hooks

First of all, make sure Hooks is enabled. To do so, in the Sidebar, go to Management > Feature Management and enable the Hooks toggle.

Default View

Go to Management > Hooks . The default View is the main Hooks page.


Here, you will see a table with data on all Hooks that have been set up. The table includes the following information:

  • Toggle: The toggle switch indicates whether the Hook has been enabled or disabled.
  • Hook Name: The name of the Hook as determined when setting up the Hook.
  • Trigger > Effect: Details of the trigger and the action it causes.
  • Trigger Count: Number of times the trigger has been initiated.
  • Last Triggered: Details of the time the trigger was most recently initiated.
  • Created By: Details of the person who created the Hook.

Filtering the Table Results

You can choose the data that the table displays by using the two filters at the top of the table:

  1. Type of Hook: Select between All Hooks, Enabled, and Disabled to see all the Hooks that have been set up, only those Hooks that are enabled, and only those Hooks that have been disabled, respectively.
  2. Application: Using the dropdown menu next to the Type of Hook buttons, you can choose to see the Hooks on all or any specific applications that you are tracking using Countly.

From this page, you can undertake numerous actions as elucidated below.

Creating a New Hook

To create a new Hook, click on the + New Hook button on the top right corner of the default View. This will open up a new drawer where you will be required to fill in the below details.

  • Hook Name: Enter a name for the Hook, keeping it simple, understandable, and short. This field is mandatory and the name input field is limited to the SDK limits .
  • Description: Optionally, add a short description to explain to your colleagues why you created this Hook. Avoid using special characters or long descriptions.
  • Source App: Select the application on which the Hook would apply. You can use the search bar to browse your apps. You can only select one app for each Hook. Click on Next Step to move on to selecting the trigger.
  • Select the trigger type: Select any one trigger from the dropdown menu - Tracked Data, Internal Actions, or API Endpoint. Please see the section titled Understand Hooks above for more details on the trigger types. Depending on the trigger you select, undertake the following steps:
    • For Tracked Data:
      • Select one of the listed data or data from the dropdown
      • Set a filtering rule if it is needed. More than one condition can be added
    • For Internal Actions
      • Select one of the listed triggers from the dropdown
      • According to the selected trigger type, please specify it by using the appeared new dropdown. (e.g., select one cohort from the listed cohorts)
    • For API Endpoint
      • Select one of the listed triggers from the dropdown
      • According to the selected trigger type, please specify it by using the appeared new dropdown. (e.g., select one cohort from the listed cohorts)
    • Setting up a Recurring Trigger
      • Select one of the frequency options:
        • every hour (allows you to select a time zone)
        • every day (allows you to select a time zone)
        • every week (allows you to select the day of the week, hour, and time zone)
        • every month (allows to select the day of the month from 1 to 28, hour, and time zone)
  • Select when the trigger is run
  • Select an action type from the dropdown - Send e-mail, Make HTTP Request, or Custom code. Please see the section titled Understand Hooks above for more details on the action types. You can add more than one action by clicking the Add Action button.
  • Test the Hook: Optionally, you can run a test to check if the Hook is running correctly. To do so, click the Test the Hook button. For more information on how to test a Hook, see the section titled Testing a Hook below.

Once you have filled in the above details, you need to save the Hook. To do so, click the Save button. When your Hook is successfully saved, you will see a success message.

Testing a Hook

You can test your Hook before saving it to ensure that it is correctly set up. Once you have filled in all the mandatory fields in the +New Hook drawer, the Test Hook button is automatically enabled. Click the Test Hook button to begin the test. If your trigger is run or data is sent based on the selected action, success messages are shown for both Trigger and Action setups. These messages also contain details, but in collapsible fields. By default, you will only see the result. To see the details of each, click on the collapsible menu to expand it. If the test is unsuccessful, you will need to go through the above details again and ensure that you have accurately filled in the mandatory fields.

Editing a Hook

To see the details of any Hook, you can click on the Hook in the table on the default View. This will take you to the detailed Hook View, including the below details for each Hook:

  • Creation Details: Details of the person who created the Hook and date on which it was set up.
  • Trigger Count: Number of times the trigger has been initiated.
  • Last Trigger Time: Details of the time the trigger was most recently initiated.
  • Trigger > Effect: Details of the trigger and the action it causes.
  • Last 10 Failed Triggers: Details of the last ten times that the trigger failed, including recording time, on which step it failed, and error message indicating why it failed.

You can download a copy of the report of the Last 10 Failed Triggers by clicking the download arrow on the top right of the table.

You can edit any Hook by clicking on the three dots on the top right corner of the details View. Then click on Edit to make changes. You can also initiate an edit by clicking on the three dots in the right column of the Hooks table (in the default Hooks View) for the relevant Hook, and then clicking on the Edit button.

To go back to the main Hooks View, click on the Back to Hooks button on the top left corner of the detailed Hook View.

Deleting a Hook

To delete a Hook, go to the main Hooks View and click on the three dots button next to the Hook you want to delete, and select the Delete option. A w arning message is shown: the user can then continue to delete if they accept the process, or choose to cancel the process.

Stopping a Hook

To stop any Hook from being triggered, go to the main Hooks View and click on the toggle button to the left of the Hook Name in the Hooks table.

DB Viewer


The DB Viewer feature is available in both Countly Lite and Countly Enterprise. Some features might be limited depending on the Edition.

The DB Viewer feature allows you to explore all Countly MongoDB collections at a single location in the user interface. You may filter documents, export results as CSV, XLS, or JSON files, and also take advantage of the powerful REST API Database Viewer exposes.

DB Viewer Overview

Functionalities Available

The following functionalities are available in the DB Viewer:

  • Query builder: There is an input for your database queries which contains the JSON validator.
  • Projection: Users can easily select custom fields with the projection feature for the result data of their queries.
  • Sort: Users can select the sorting parameter and sorting type by UI.
  • Collection filter: Users can separate their collections by application with the filter dropdown or search with the collection filter input.

Databases Available

Countly Lite only has one database (Countly ), whereas the Countly Enterprise has two databases (Countly and Countly Drill ). The Drill database also stores raw data, which is required for detailed segmentation of Events, Views, Crashes, User Profiles, etc.

Using DB Viewer

To use DB Viewer, go to Management > DB Viewer. You will then be able to check the different databases in the four tabs (1), namely:


  • Countly Database (this is the default View when opening DB Viewer): The default database that contains core countly data.
  • Countly Drill Database: The database that contains raw data, which is required for detailed segmentation.
  • Countly Out Database: The database that contains some data (like remote config, etc.), which needs to be accessible outside of the Countly. This database can be placed on a separated server.
  • Countly File System Database: The database that contains files (like member images, app icons, etc.) and makes that accessible between multiple servers.

Then, in each database, you will see:

2. Application selector: you choose the collections for all applications or only choose one application, and the corresponding database collections will appear.

3. Collections: All the collections for all apps or a specific application.

4. Query list controls: To filter and Expand/Collapse All the queries.

5. Query viewer: Open a pop-up for you to visualize the entire query selected.

6. Actions Dropdown: Action buttons that navigate the user to aggregation and indexes view for selected collection.

Aggregating queries


The View that allows users to execute custom aggregations on a selected collection.

Indexing queries


Table that shows indexes for a selected collection.


The DB Viewer also has an API. You may export data using this API. For more information, please refer to these posts:


Can app admins edit the app information?

Yes, in the current version, the app admins are allowed to edit the app informations. If you are an app administrator, you can go to Management > Applications and choose the application to be edited.

Looking for help?