doo.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.