Skip to main content

Enum Types

These are the supported enum types with their keys (only used for development) and values that can be used in the configuration.

AttachmentOrderField

Represents an attachment field to be ordered by for processing.

KeyValueDescription
CONTENT_TYPEcontentTypeOrder by the content type of the attachment.
HASHhashOrder by the hash of the attachment.
NAMEnameOrder by the name of the attachment.

ConflictStrategy

Strategy that defines how to deal in case of conflicts with already existing files at the desired location in Google Drive.

KeyValueDescription
BACKUPbackupCreate a backup of the existing file by renaming it.
ERRORerrorTerminate processing with an error.
KEEPkeepKeep the existing file and create the new one with the same name.
REPLACEreplaceReplace the existing file with the new one.
SKIPskipSkip creating the new file and keep the existing one.
UPDATEupdateUpdate the existing file with the contents of the new one (keep it's file ID).

ContextType

A type of context.

KeyValueDescription
ATTACHMENTattachmentA context holding the attachment configuration and information about the currently processed attachment.
ENVenvA context holding all environment information and references to environment objects.
MESSAGEmessageA context holding the message configuration and information about the currently processed message.
PROCESSINGprocA context holding all processing information like the configuration, integration adapters, action registry and timer.
THREADthreadA context holding the thread configuration and information about the currently processed thread.

E2EStatus

Status of end-to-end tests

KeyValueDescription
ERRORerrorAn end-to-end test produced an error while executing.
FAILEDfailedThe end-to-end test failed.
SKIPPEDskippedThe end-to-end test has been skipped.
SUCCESSsuccessThe end-to-end test was successful.

LogLevel

Levels of log messages used for marking and filtering.

KeyValueDescription
DEBUGdebugLog level for debugging messages.
ERRORerrorLog level for error messages.
INFOinfoLog level for info messages.
TRACEtraceLog level for execution tracing
WARNwarnLog level for warning messages.

LogRedactionMode

Specifies how sensitive data should be redacted for logging.

KeyValueDescription
ALLallRedact all possibly sensitive data
AUTOautoAutomatically detect sensitive data to be redacted
NONEnoneDo not redact sensitive data at all.

MarkProcessedMethod

The method to mark processed threads/messages/attachments.

KeyValueDescription
ADD_THREAD_LABELadd-labelAdds the label defined in the setting markProcessedLabel to each processed thread.

NOTE:
- Automatically appends the action thread.addLabel to the list of global thread actions
- Automatically appends -label:<markProcessedLabel> to the global thread match query config

Limitations:
- It cannot handle multiple messages per thread properly.
CUSTOMcustomDoesn't do anything to mark threads, messages or attachments as processed and leaves this task to the user.

NOTE:
- Use actions on the desired level (threads, messages or attachments) to mark them as processed.
- Take care to exclude them from queries in the thread match config, to prevent re-processing over and over again.

Limitations:
- Is more complex since you have to take care to
MARK_MESSAGE_READmark-readMarks processed messages as read, which is more flexible than adding a thread label.
But it comes at the cost of marking messages as read, which may not be expected.

NOTE:
- Automatically appends the action message.markRead to the list of global message actions
- Automatically appends -is:read to the global thread match query config
- Automatically adds is: ["unread"] to the global message match config

Limitations:
- Since it marks messages as read it may not be applicable in all cases.

MessageFlag

A flag to match messages with certain properties.

KeyValueDescription
READreadMatches read messages.
STARREDstarredMatches starred messages.
UNREADunreadMatches unread messages.
UNSTARREDunstarredMatches un-starred messages.

MessageOrderField

Represents a message field to be ordered by for processing.

KeyValueDescription
DATEdateOrder by the date of the message.
FROMfromOrder by the sender of the message.
IDidOrder by the ID of the message.
SUBJECTsubjectOrder by the subject of the message.

MetaInfoType

The type of meta information used for context substitution placeholders.

KeyValueDescription
BOOLEANbooleanBoolean type substituted to true or false.
DATEdateDate/time type. For substitution a format string can be given using ${<placeholder>:date:<expression>:<format>}.
NUMBERnumberA numeric data type.
STRINGstringA string data type.
VARIABLEvariableA custom configuration variable.

OrderDirection

Represents the direction a list should be ordered.

KeyValueDescription
ASCascOrder ascending.
DESCdescOrder descending.

PlaceholderModifierType

The modifiers for placeholder expressions.

KeyValueDescription
DATEdateThe date placeholder modifier converts the value of the given placeholder to a Date and allows date/time calculations on it.

Syntax: ${<placeholder>:date:[[<date-expression>][:<format>]]}
* <date-expression> = [<date-fns-function>][<+/-><parse-duration>]: If no expression is given, the date of the placeholder is used unmodified.
* <date-fns-function>: a supported date-fns function as defined by the constant DATE_FNS_FUNCTIONS in DateUtils.ts
* <parse-duration>: a relative duration in the form of a parse-duration format string
* <format>: Format the resulting date/time using a date-fns format string. If no format is given the setting defaultTimestampFormat is used.

Examples:
* ${message.date:date:lastDayOfMonth-1d:yyyy-MM-DD}: evaluates to the 2nd last day of the month in which the message has been sent.
* ${message.body.match.invoiceDate:date:startOfMonth+4d+1month:yyyy-MM-DD}: evaluates to the 5th day of the month following the invoice date (extracted using a regex from the message body)
FORMATformatUse ${<placeholder>:format:<format>} to format the date/time using a date-fns format string.
DEPRECATED: Use ${<placeholder>:date::<format>} instead. Note the double colon if no date modification expression is required.
JOINjoinUse ${<placeholder>:join[:<separator>]} to join the values of an array into a string (default: ,).
NONE``No modifier
OFFSET_FORMAToffset-formatUse ${<placeholder>:offset-format:<offset>[:<format>]} to calculate the date/time offset using a parse-duration format string and then format the resulting date/time using a date-fns format strings.
DEPRECATED: Use ${<placeholder>:date:<offset>[:<format>]} instead.
UNSUPPORTEDunsupportedUnsupported placeholder modifier type given.

PlaceholderType

The type of a placeholder.

KeyValueDescription
ATTACHMENTattachmentAn attachment placeholder type.
MESSAGEmessageA message placeholder type.
THREADthreadA thread placeholder type.

ProcessingStage

The stage of action processing

KeyValueDescription
MAINmainThe stage during processing the main object (thread, message, attachment)
POST_MAINpost-mainThe stage after processing the main object (thread, message, attachment)
PRE_MAINpre-mainThe stage before processing the main object (thread, message, attachment)

ProcessingStatus

The result status of processing a config or an action.

KeyValueDescription
ERRORerrorAn error has occurred.
OKokThe processing was successful.

RunMode

The runtime mode in which processing takes place.

KeyValueDescription
DANGEROUSdangerousThis run-mode will execute all configured actions including possibly destructive actions like overwriting files or removing threads or messages.
ATTENTION: Use this only if you know exactly what you're doing and won't complain if something goes wrong!
DRY_RUNdry-runThis run-mode skips execution of writing actions. Use this for testing config changes or library upgrades.
SAFE_MODEsafe-modeThis run-mode can be used for normal operation but will skip possibly destructive actions like overwriting files or removing threads or messages.

ThreadOrderField

Represents a thread field to be ordered by for processing.

KeyValueDescription
FIRST_MESSAGE_SUBJECTfirstMessageSubjectOrder by the subject of the first message in the thread.
IDidOrder by the ID of the thread.
LAST_MESSAGE_DATElastMessageDateOrder by the date of the last message in the thread.