[Toggl.TimeEntryProperty:]

Obtains one or more properties of a Toggl Time Entry.


Purpose

Obtains one or more properties of a Toggl Time Entry, given its ID.


Compatibility

The macro can be used in all input document types and in Report Studio.


Usage

This macro may only run if you have the appropriate Toggl subscription. Admins can set a default Workspace ID in the Toggl Connection (Configuration section), instead of specifying the 'workspaceId' parameter in the macro (which when set takes precedence), like this: { "DefaultWorkspaceId" : 1234567 }. See the Connecting to Toggl help for more details.


Updates

2 years ago · May 2024

BREAKING CHANGES: available properties have changed with the move to Toggl API v9, and the macro now always provides object output.


Parameters (35)
Mandatory (1)
Parameter TypePurpose Options Default
properties
List<String>The property or properties to obtain, each separated by a semi-colon e.g. properties=id;propertyA;propertyB.
  • All
  • AllAsJObject
  • AllAsJson
  • BillableAmountInCents
  • Currency
  • Description
  • HourlyRateInCents
  • IsBillable
  • ProjectId
  • RowNumber
  • TagIds
  • TaskId
  • TimeEntries
  • UserId
  • Username
N/A
Behaviour (11)
Parameter TypePresencePurpose Options Default
calculate
StringOptionalPost processing formula. Use {value} to substitute the macro's output into the formula as text, e.g. {value}/1024, or the bare word value to use the output itself, e.g. jPath(value, 'id') to read a property from an object. If the result is fractional it is shown to two decimal places unless you also set format, e.g. format=G to show it in full; a value kept by storeAs always retains its full precision. N/A N/A
desiredExecutionResult
List<ExecutionResult>OptionalIf specified, asserts the expected execution result of the macro. Accepts a single value or a semicolon-separated list of acceptable values (e.g. 'Success;Warning'). The macro executes normally; if the actual result matches any of the desired values, the result is converted to Success. If the actual result does not match, the result is converted to MacroError with a descriptive message. This is primarily used for testing and diagnostic purposes. Valid values are: 'Unknown', 'Success', 'MacroError', 'WorkerStopped', 'Running', 'Warning', 'NeverRun', 'Cancelled', 'Pending', 'Paused', 'SystemError', 'Deferred' and 'Stopped'.
  • Cancelled
  • Deferred
  • MacroError
  • NeverRun
  • Paused
  • Pending
  • Running
  • Stopped
  • Success
  • SystemError
  • Warning
  • WorkerStopped
N/A
errorOnOverflow
BooleanOptionalShould NCalc expression evaluation throw error on Overflow
  • true
  • false
true
expectedType
StringOptionalIf specified, asserts the expected output type of the macro result. The macro executes normally; if the actual type does not match, a macro error is generated. Requires 'storeAs', 'storeAsHidden', or 'storeFormattedValueAs' to be set for typed validation. Valid types include CLR names (e.g. Int32, Int64, Single, Double, Boolean, String, JArray, JObject) and C# keyword aliases (e.g. int, long, float, double, bool, string, uint, ulong, short, ushort, byte, sbyte, decimal, char, object). The special value 'Number' matches any numeric type. N/A N/A
expectedValue
StringOptionalIf specified, asserts the expected output value of the macro result. The macro executes normally; if the actual value does not match, a macro error is generated. When 'storeAs' or 'storeAsHidden' is set, the stored variable value is compared. Otherwise, the document output text is compared. N/A N/A
hidden
BooleanOptionalWhether to hide the macro output.
  • true
  • false
false
if
StringOptionalThe condition that must be true in order for the macro to be executed/evaluated. Must either evaluate to true or false, for example: "3+5=8" or "contains('abcd', 'z')". N/A true
mode
MacroModeOptionalThe mode in which variables are stored. In legacy mode (default for Schedules), the variable created is a string and formatted. In normal mode (default for Report Studio), the output variable is stored as a strongly-typed object, e.g. an Int32 or a JArray etc., rather than a formatted string.
  • Legacy
  • Normal
Legacy
obfuscation
ObfuscationTypeOptionalObfuscation type. Use obfuscation to write reports where sensitive data is hidden. When used, ReportMagic guarantees that the same input string will map to the same output string for the whole of the report (but the next time the report runs, it will most likely map to a different value). If you use obfuscation, the property in your macro will not show up and instead, you will see a fake item of the obfuscation type chosen.
  • None
  • UkTown
  • DeviceName
  • Company
  • IpAddress
  • PrivateIpAddress
None
redact
BooleanOptionalWhether substituted variables are hidden from macro results (and the word 'REDACTED' will appear in progress screens and elsewhere in the web UI).
  • true
  • false
false
warning
StringOptionalIf specified, adds a warning message for this macro. This is processed as an NCalc, and the warning message will ALWAYS be present and will be the value of the evaluated NCalc expression. N/A N/A
Colours (3)
Parameter TypePresencePurpose Options Default
colorTableCell
BooleanOptionalWhether to color table cells if thresholds are breached, rather than color the text.
  • true
  • false
true
fontBackgroundColor
ColorOptionalThe font background color to use. N/A
fontColor
ColorOptionalThe font color to use. N/A
Formatting (3)
Parameter TypePresencePurpose Options Default
fontBold
BooleanOptionalChange the font weight (true=strong, false=normal). If omitted, no change is made.
  • true
  • false
N/A
fontSize
DoubleOptionalChange the font size in points. If omitted, no change is made.
  • From 2 to 200
N/A
format
StringOptionalThe formatting to use for numbers. You can also specify 'format=string' to force numbers to be treated as strings. For dates, C# date formats are supported, plus two special values (in any casing): 'format=dayOfWeek' for the day of the week as a number (Sunday = 0; use 'format=dddd' for the day name) and 'format=epoch' for the number of seconds since 1970-01-01 UTC. N/A N/A
Output (7)
Parameter TypePresencePurpose Options Default
failureText
StringOptionalThe text to display should the macro fail to execute. Note that a poorly-specified macro (e.g. omitting mandatory parameters) will still result in an error message. N/A N/A
failureVariable
StringOptionalThe name of a variable to create should the macro fail to execute. The variable will be a text variable, and will contain either the failure text (only if the failureText parameter is set), otherwise it will contain the exception / failure message. N/A N/A
outputListsAsJarray
Normal mode
BooleanOptionalAny macros that output lists can optionally (in Normal mode) output a jArray instead.
  • true
  • false
true
storeAs
StringOptionalThe variable to store the result as. If the variable name ends 'Json' (any casing) its value is wrapped in json tags. That marks the value as JSON so it can be passed straight into a parameter that expects json content, and the RMScript editor also displays it with JSON highlighting. When several variables are stored at once each one is judged by its own name. N/A N/A
storeAsHidden
StringOptionalThe variable to store the result as, while hiding the output. Equivalent to 'storeAs=ThisValue, hidden=true'. N/A N/A
storeAsVariableDelimiter
CharOptionalThe delimiter used by storeAs to split a TEXT value, when there are multiple stored variables. For example, in this macro, we indicate that the value to be stored should be split by the asterisk when being stored: [String:value=a*b*c*d, storeAs=var1;var2;var3;var4, storeAsVariableDelimiter=*]. If splitting on this delimiter does not produce one value per variable, the '^' character is tried instead; that applies whatever this parameter is set to, and is what allows a single variable to hold a value containing a ';'. Note this delimiter is only used for a TEXT value. A list or a JSON array is instead shared out one element per variable, and a JSON object by its property values in order, so storing jObject('a',1,'b',2) as two variables gives 1 and 2. Any other type cannot be split across several variables at all. N/A ;
storeFormattedValueAs
StringOptionalThe name of the STRING variable to store the result as and output (both will use the same format) into the report. Note that if you also use 'storeAsHidden' in the same macro, you should not expect the output to be hidden, as this parameter overrides that. As with 'storeAs', a name ending 'Json' has its value wrapped in json tags. N/A N/A
General (6)2 additional
Parameter TypePresencePurpose Options Default
properties
List<String>MandatoryThe property or properties to obtain, each separated by a semi-colon e.g. properties=id;propertyA;propertyB.
  • All
  • AllAsJObject
  • AllAsJson
  • BillableAmountInCents
  • Currency
  • Description
  • HourlyRateInCents
  • IsBillable
  • ProjectId
  • RowNumber
  • TagIds
  • TaskId
  • TimeEntries
  • UserId
  • Username
N/A
workspaceId
Int64ConditionalThis can be set in 1) the macro or 2) in a macro default (by an Admin) or 3) in the Toggl Connection's Configuration section (by an Admin), in that order of precedence. N/A 0
connectionName
StringOptionalThe name of the Toggl Connection. N/A N/A
from
DateTimeOffsetOptionalOnly include items since this date time in the format YYYY-MM-DD. If not set, defaults to the first day of the last calendar month. N/A N/A
timeEntryId
Int64OptionalThe Time Entry ID. N/A 0
to
DateTimeOffsetOptionalOnly include items until this date time in the format YYYY-MM-DD. If not set, defaults to the last day of the last calendar month. N/A N/A
Additional (2)
Parameter TypePresencePurpose Options Default
comment
StringOptionalAdd a comment to make your document template more readable. The comment is discarded in the output document. N/A N/A
singleValueList
Normal mode
BooleanOptionalIn Normal Mode and for macros that output JArrays only, whether to convert a JArray of single-property jObjects into a flat JArray of values.
  • true
  • false
false
Deprecated (3)
Parameter TypePreferred ParameterPurpose Options Default
property
List<String>propertiesThe property or properties to obtain, each separated by a semi-colon e.g. properties=id;propertyA;propertyB.
  • All
  • AllAsJObject
  • AllAsJson
  • BillableAmountInCents
  • Currency
  • Description
  • HourlyRateInCents
  • IsBillable
  • ProjectId
  • RowNumber
  • TagIds
  • TaskId
  • TimeEntries
  • UserId
  • Username
N/A
id
Int64timeEntryIdThe Time Entry ID. N/A 0
ids
Int64timeEntryIdThe Time Entry ID. N/A 0

Examples (1)

Example 1

This example obtains various properties for a Toggl Time Entry, specified by its workspace ID and time entry ID:

[Toggl.WorkspaceList: properties=Id;Name;Created, =>MyWorkspaces][Json.List: jArray=`{MyWorkspaces}`, jsonPath="$.[0].Id", =>FirstWorkspaceId][Toggl.ProjectList: workspaceId={FirstWorkspaceId}, properties=Id;Name, =>ProjectIdsAndNames][Json.List: jArray=`{ProjectIdsAndNames}`, jsonPath="$.[*].Id", =>AllProjectIds][Toggl.TimeEntryList: workspaceId={FirstWorkspaceId}, property=Id, projectIds={AllProjectIds}, =>TimeEntrys][Json.List: jArray=`{TimeEntrys}`, jsonPath="$.[0].Id", =>FirstTimeEntryId][Toggl.TimeEntryProperty: timeEntryId={FirstTimeEntryId}, workspaceId={FirstWorkspaceId}, properties=Username;Description;TimeEntries, storeAs=Details]

Reconnection

Reconnection

Reconnection

timed out

timed out

Attempt of

Reload
An unhandled error has occurred. Reload 🗙