Automated Tasks

Add-on Auto-Steps

*Professional Only

This page provides implementation examples of Add-on XML files for adding automated processing steps to Questetra.

A collection of implementation samples of the Service Task Definition file (Add-on XML) for adding Add-on automatic step icons. In addition to the built-in modeling elements in the workflow platform, original modeling elements (add-on automatic steps) can be added.

The implementation samples are classified into the following two.

  • API Access Automation (Data Processing Involving Communication with the Outside of Workflow Platform)
  • Data Editing Automation (Data Processing Closed within Workflow Platform)

On the implementation sample individual page, you can also download the Service Task Definition file and import it into your workflow platform. However, there is no guarantee of operation, so please use it at your own risk. Also, if there will be changes in the specifications of Questetra or linked services in the future, you need to modify the code yourself. If you need to guarantee the operation or cannot maintain the script (code) by yourself, please use only the built-in modeling elements to create the Workflow Apps.

Addons except for “Service Task Definition” 

  • Options Definition is here
  • Base PDF is here

API Access Automation

Access to the APIs of various cloud services, and data processing that involves communication outside the workflow platform is automated on the server side. 

Before using Add-on Automations, please consider using [Built-in Automations]. 

If you want to link to a service or your own system for which a built-in automated step is not provided, or if you want to perform processing that cannot be achieved with the built-in automated step specifications, please consider developing and using an add-on automated step that suits your purpose. Please refer to the sample implementation of [Add-on Automation] steps that are linked to external services. 

Data Editing Automation

Data processing that is closed within the workflow infrastructure, such as generating random numbers, counting characters, converting TSV data to Excel files, etc., is automated on the server side. 

Depending on the data processing, the following sample implementations of [Add-on Automations] are available. 

Generator

Generator 

*You can see the relevant auto-processing Tasks here

Generates a random number. When a token reaches this automated step, a numerical value within the specified range is generated each time. The decimal part is rounded down toward 0 according to the workflow data definition 

Generates a random string. When a token reaches this automated step, a string of the specified length is generated each time. Complex rules such as mixed symbols or non-use of specific characters (I and l) are also supported. “Add New User” etc 

Assembles HTML text for email from workflow data. The html text will consist of blocks of abstract, image, main sentence, link button, and sub-sentence. If the setting is blank, the block will not be displayed 

Assembles HTML text for email that can list multiple images. Sets image URLs in the img tag and arranges them. It is used in situations where you want to share images published on a web server or when you want to strengthen the check system 

Assembles HTML code for HTML-email that can confirm TSV string. Inserts TableRow (TR) and TableData (TD) depending on the number of items in the TSV string. It is used when you want to automatically notify the TSV data stored in the workflow by mail 

Generates HTML code (for HTML mail) that lists stored data. Assembles the specified Data Items in the workflow in the specified order. You can share your data with any party by using the [Throwing Message Intermediate Event] 

Creates monthly pivot tables (count, sum, avg) by parsing a date column as Y-axis and another column as X-axis from the input TSV string. Date column need not be col-A (id=0). Datetime supported

Creates quarterly pivot tables (count, sum, avg) by parsing a date column as Y-axis and another column as X-axis from the input TSV string. Date column need not be col-A (id=0). Datetime supported

Generates text from a template containing placeholders (e.g. “{{0}}”, “{{1}}”, …). The template is applied to each row in the TSV, making it useful for batch-generating Markdown, HTML, JSON arrays, and AI prompts.

Duplicate

Duplicates File-type data. All files stored in Data Item A1 (Original Files) will be copied over to Data Item B1 (Clone Files). Also possible to change the file name or Content-Type. If the same Data Item is specified as A1 and B1, overwritten

Converter

*You can see the relevant auto-processing Tasks here 

Converts a TSV string to a Markdown string. The first line of the TSV is recognized as a header line, and the second and subsequent lines are recognized as data lines. Also supports column settings such as right alignment and center alignment

Converts a numeric TSV string into a Markdown-embeddable stacked bar chart (MdChart). The first TSV column is used as the aggregation unit, such as “YYYYMM”, and the first row as data series, such as “Sales Representative” or “Client”

Converts a numeric TSV string into a stacked bar chart SVG file. The first TSV column is used as the aggregation unit, such as “YYYYMM”, and the first row as data series, such as “Sales Representative” or “Client”

Converts a CSV string to a TSV string. Line breaks and tab characters within cells enclosed in double quotes are replaced with half-width spaces. Excel-style double-quote escaping (consecutive double quotes) is replaced with a single character

Converts file type data to Base 64 encoded string type data. If there are multiple files in File-type data, or if the file size exceeds 10 MB the data will not be converted

Converts an Email string to USER data. If the address is not registered as a user address, an error will occur (USER not updated). If multiple addresses are enumerated in a multiline or comma-delimited string, determined sequentially from the top

Switches the row and column indices of the rectangle TSV. The output matrix (Transposed Matrix) is obtained by changing cell(x,y) to (y,x). Used for data arrangement for frequency distribution tables and histograms

Converts the date data in the specified column to yyyy-MM or yyyy format and appends the value to the end of all lines

Converts ID string to Label string with referring “Choice Master” shared within the workflow platform. If there is no matching ID, it is converted to an empty string

Converts text files charset (Coded Character Set). For example, converts UTF-8 encoding to Shift_JIS or UTF-16. If multiple files are attached, all will be converted according to the same rules

Stores one or multiple PNG image files as Workflow data by converting specified slide pages. If not specified, only the last page will be converted into PNG. If “all” is specified, all pages will be converted. Also supports download URLs (valid for 30 mins)

Filter

Filter

Changes column order of TSV text. The new order is specified by enumerating the column IDs of the original TSV, like “0,1,3,0”. The new TSV text can also be stored in formats such as TSV file format and CSV file format

Sorts TSV text in the numerical order of the specified column. If each column values are “123 jpy”, “1,234 jpy”, and “12 jpy”, they are sorted in the order of “line including 12 jpy”, “line including 123 jpy”, “line including 1,234 jpy”

Sorts TSV lines in the order of the character code of the specified column. If the column value for each line is Jan Feb March, the text is sorted in the order of “line that contains Feb”, “line that contains Jan” and “line that contains March”

Filters TSV strings using a numeric range. Only the rows where the specified numeric column is included in the numeric range are output. If you want to OR multiple ranges, specify them in comma separated form like “-100<36.4,37.5<100”

Filters TSV text to column-matched lines only. The match condition can be either “equals”, “contains”, “begins with”, or “ends with”. A case-insensitive filter can also be specified. It is also possible to separately store the excluded rows (filtered rows)

Narrows multi-line text down to matching lines only. The match condition can be either “equals”, “contains”, “begins with”, or “ends with”. A case-insensitive filter can also be specified. It is also possible to separately store the excluded rows (filtered rows).

Narrows down to just the column-matched lines from the TSV text. A regular expression (RegExp) can be specified as the match condition. Evaluates whether the column matches the regular expression. Also stores the filtered-out lines (removed lines)

Narrows down to just the matched lines from the multiline text. A regular expression (RegExp) can be specified as the match condition. Each line is determined to match a regular expression. Also stores the filtered-out lines (removed lines)

Extracts only files that match the conditions from the files stored in File-type Data Items. The conditions can be specified as “equal to”, “contains”, “starts with”, or “ends with”. A case-insensitive filter can be specified. You can also store the remaining files that were not extracted.

Add/Remove

Formats the specified range of columns from START index to END index of the TSV (END not included). The index starts from “0”. Negative index counts back from the end. If START is omitted, it will start from the beginning, if END is omitted, it will go to the end.

Replaces all the search strings by the replacement string. All matches are case sensitive. For example, it is possible to completely replace the string “XXXX-XX-XX” in the template text with “2020-05-11”

Extracts and deletes all duplicate rows. In forward order mode, the first row is retained; in reverse order mode, the last row is retained. Note that “ABC” and “Abc” are recognized as different columns. (case sensitive)

Deletes blank lines. There are two modes: delete all blank lines and combine consecutive blank lines into one line

Adds the new string cell to the end of all rows. If there are space characters or line feed characters at the beginning and end of the TSV, they will be deleted beforehand. If the number of tab separators does not match, an error will occur

Concatenates all data in the specified column with the prefix string to generate a new TSV string. The concatenated strings are added at the end of the line. Removes whitespace from both ends of a string

Concatenates all data in the specified column with the suffix string to generate a new TSV string. The concatenated strings are added at the end of the line. Available for name honorifics or currency units, etc. Removes whitespace from both ends of a string

Verifies that the cells are in a matrix format. If the number of cell values are different for each row, tabs will be added. It is also possible to get the number of rows and columns after formatting. No trailing newline will be added to the verified TSV

Extracts and deletes rows with duplicate column elements. In forward mode it keeps the first row, in reverse mode it keeps the last row. Note that “ABC” and “Abc” are recognized as different columns. (case sensitive)

Pastes TSV data to the specified coordinates in the specified sheet. Only the selected columns can be pasted. Specify the column ID with “d” for datetime data and “n” for numeric data. Example of column specification: “0,2d,5n”

Extract

Gets the number of characters in the text. Consecutive blanks (including tabs and double-byte spaces) are counted as one character. The number of characters that do not count linefeed codes and blanks can also be obtained

Gets the number of lines of text. The number of lines that do not count the trailing newline codes can also be stored

Extracts all strings that match the regular expression. For example, if you set a URL regular expression, all URLs in the text will be extracted

Extracts one string that matches the regular expression and extracts its subpatterns (Capturing groups)

Replaces all strings that match the regular expression. For example, all Phone Numbers ‘\d{3}-\d{3}-\d{4}’ in a text string can be replaced with “999-999-9999”

Extracts a string that matches the RegExp for each line. For example, if you set an email address regular expression, the email address in the specified cell will be added as a new cell at the end of the line

Aggregates the values in a numeric column with 2 aggregation-key columns (pivot table). Sum, Percentage, Count and Average are tabulated as a cross table TSV. E.g. “Sales for each combination of Client-Y and Store-X” is aggregated from “Sales log TSV”

Aggregates the count of data by aggregation-keys. Count and Percentage are tabulated as a summary table TSV. Eg, Survey Results TSV is automatically generated from Survey Records TSV. Frequency distribution

Extracts the values of specified cells in A1 notation. The extracted string can be stored not only in the STRING type data but also in the NUMERIC type, DATE type, DATETIME type, SELECT type, USER type, and ORG type data if the format allows

Extracts the specified range of columns from the START column to just before the END column of the TSV (END is not included). The index starts from “0”. Negative indexes are counted backwards from the end. If START is omitted, it will start from the beginning, and if END is omitted, it will finish at the end

Adds result of a numerical calculation as a new column. The result of binary calculations such as adding column A and column B, or multiplying column C by 1.1, is added to the end of each TSV row. Subtraction, division, remainders, and powers are also supported

Extracts Case data that match the specified saved filter. Stores the extracted data list as a TSV string. The filter is specified by ReportID which must be saved in the target platform in advance

Extracts case data via API in TSV format. The data is extracted using the ReportID of the filtered list configured in the Web UI and stored in TSV format. The order of the data columns is configured using a CSV file of data item IDs.

Extracts task (workitem) data via API in TSV format. The data is extracted using the ReportID of the filtered list configured in the Web UI and stored in TSV format. The order of the data columns is configured using a CSV file of data item IDs.

Extracts the cell value of the specified ID. The ID starts from zero. The extracted cell string can be stored not only in the STRING type data but also in the NUMERIC type, DATE type, DATETIME type, SELECT type, USER type, and ORG type data

Extracts one line of a multi-line string and sets that line in single-line String-type Data Item. The Line ID mut be an integer starting with zero. If the Line ID is not specified, or if a number outside the range is specified, the last line will be extracted

Removes the first line from the multiline string. One line less than the original string. By placing in a loop flow or in a recursive workflow, data list can be processed sequentially

Gets weekend Sundays of any date. If Sunday is specified, that day itself will be returned. If you want to get “Monday of the next week” or “Tuesday of the current week”, you need to convert like #q_date.addDays(1) or #q_date.addDays(-5)

Determines whether the date value is Business Day or not. If a holiday, returns the name of the holiday. If Sat or Sun, returns the day name. Otherwise, returns an empty string. You can also set special holidays set by your company

Calculates N business days after the specified date. If N is negative, returns N business days ago. It is necessary to set a holiday in advance. It is also possible to add company-original holidays

Counts TSV rows by quarter from a date column and outputs a 2-col TSV (“Q-202604~06″,”3”). If numeric columns exist, quarterly totals are also summarized (“Q-202604~06″,”3″,”12000″,”1200”). Date column need not be col-A (id=0). Datetime supported

Extracts the configs of the Auto Step (automated task). The Addon-XML file (for Questetra BPMS automatic task) is parsed and information such as summary, last-modified, config etc. are extracted

Extracts the step names and the data item names (variable names) of the Workflow App. The Model-XML file is parsed to extract information such as whether it is a human task or an automated task, what the type of data item is, and so on

Extracts the specified range of rows. The range is specified by Begin Index and End Index. The index is zero-based and the index on the first row is zero. Note that the row specified by the End Index is not included in the range

Obtains domain information (WHOIS records: “Registered Domain Name” and “Domain Age”) from domain names including subdomains. An error is returned if the domain is not registered. The free API license is limited to a maximum of 500 queries per month

Accesses Google Calendar and retrieves a list of events/schedules registered during the specified time period. Utilizing this Task in a Workflow will make it possible to get the next week’s schedule, and announce it by email

Communicates with Azure OpenAI Service API (ChatGPT running on Microsoft infrastructure). Supports the assignment of advanced parameters

Compare

Calculates the number of business days between date A and date B. Holidays must be set in advance. Company’s original holidays can be added. For example, this function can be used for calculating the number of business days for the month in advance and planning the work.

Merges two TSVs based on a common key-field. Keeps all the rows from TsvA (left table) and brings in any matching rows from TsvB (right table); Left Outer Join. Neither TSV needs to be sorted. Only the upper row in TsvB will be matched

Act+Misc

Outputs business data to “Auto-Processing Log”. Administrators of the Workflow Application can verify the data that was stored when the Case reached this step

Posts any text to CollabChat in the Questetra Platform by specifying the channel. To post to an organization channel or a Case channel, specify the ID (eg. “g12” or “p123”), and to a user-created channel, the channel name (eg. “general”).

Cross-posts text to multiple Collab Chat threads in Questetra BPM Suite. Specify an organization, app, or Case channel by ID, such as “g12”, “m12”, or “p123”; specify a user-created channel by name, such as “general”.

Creates a new master file (OptionsXML) by referring to the master table on Workflow Platform. A new ID-Label will be added to the first line. Rows with the same ID are deleted. For automation, place [Service Task (Choices Update)] downstream

Includes the master table on Workflow Platform as a string property of the Case. The IDs and Labels are concatenated into TSV (Tab-Separated Values) and stored into Multiline-String type

Deletes unnecessary Options and Creates a new master file (OptionsXML) by referring to the master table on Workflow Platform. No error occurs even if the deletion ID does not exist. For automation, place [Service Task (Choices Update)] downstream

Determines whether a My-Number string is valid. If valid, “OK” is recorded in the log. If invalid, the processing is terminated. It is possible to control the flow with an Error Boundary Event. My-Number is a 12-digit ID issued to all citizens and residents of Japan, including foreigners

Determines whether a Corporate-Number string is valid. If valid, OK is logged. If invalid, processing is terminated which can be controlled with an Error Boundary Event. The numbers are 13-digit IDs assigned to companies and other organizations registered in Japan