doo.environment

Information about the Tabidoo environment.

currentApplication

Information about the current application. Its id, name, current table, params, etc.

current application: doo.environment.currentApplication
current table: doo.environment.currentApplication.currentTable

On the currently selected table, you can get a list of currently selected records in the grid view or card view and also the current user data filter, which can be used to retrieve user data using doo.table.getData, doo.table.getCount, doo.table.getDataSummary and other methods supporting the user data filter.

currently selected records: doo.environment.currentApplication.currentTable.selectedRecords
current user data filter: doo.environment.currentApplication.currentTable.dataConditions

isPublicDashboard

The Tabidoo app can publish a dashboard without the need to log in. For example, to a company website. With this property, you can easily detect this state and modify the behavior in the code.

isPublicForm

The Tabidoo app can also use a public form to collect data. Without the need to log in. For example, from a public company website. With this property, you can easily detect this state and modify the behavior on the form.

queryParam

If the public form was run with parameters in the query string, here are their keys and values.

isServer

Whether the JavaScript code is running on the client side or on the server side.


getCurrentUserTechnicalLimits

 

await doo.environment.getCurrentUserTechnicalLimits();

returns information about the technical limits that the current user (as the application owner) has consumed.

  • Limits that have not been touched are not included in the response list.
  • For example, if no workflow has run on a given day, workflow-related limits will not appear.
  • If a limit is reported as 0, it is currently not actively enforced — the value is only logged and may be evaluated in the future.

Example Response

 

[
  {
    "value": 61183,
    "limit": 1800000,
    "type": "workflowRunsMs",
    "userLimitTimeUnit": "day",
    "userLimitValueUnit": "milliseconds"
  },
  {
    "value": 117195532,
    "limit": 10000,
    "type": "getDataResponseCharsMB",
    "userLimitTimeUnit": "day",
    "userLimitValueUnit": "count"
  },
  {
    "value": 122077,
    "limit": 0,
    "type": "getDataResponseElapsedMs",
    "userLimitTimeUnit": "day",
    "userLimitValueUnit": "milliseconds"
  },
  {
    "value": 27,
    "limit": 10000,
    "type": "workflowRunsCount",
    "userLimitTimeUnit": "day",
    "userLimitValueUnit": "count"
  } ] 

Field Descriptions

  • value – the current consumption for the given metric.
  • limit – the allowed maximum for that metric. (0 = not enforced, only tracked).
  • type – the type of operation being measured (e.g., workflowRunsMs, workflowRunsCount, getDataResponseElapsedMs).
  • userLimitTimeUnit – the time window for the limit (e.g., day, hour).
  • userLimitValueUnit – the unit of measurement (e.g., milliseconds, count).

Example Use Cases

  • Quick Inspection
    Run the method directly in any script to see the current usage values.
  • Daily Logging
    Create a workflow that calls this method every hour and stores results in a table.
    This allows you to build graphs, alerts, or daily summaries.
  • Logging on Workflow Completion
    After a workflow finishes, log the values together with metadata (e.g., which workflow has completed).
  • Alerting on Threshold Breach
    Build a workflow that checks limits hourly.
    If consumption is close to the threshold (e.g., 80%), send yourself an email alert.
    This gives you time to upgrade your Tabidoo plan before limits are exceeded.

 

Was this article helpful?