Skip to main content

A8Flow

a8flow lists the pre-built functions available to you in A8Studio.


Functions

Here, let's take a look at these Functions.

a8flow


dedupe

Checks for duplicate values within active instances for the provided input variables.

Method:
dedupe(request: DuplicateInstanceRequest): Promise<DuplicateInstanceResponse>

Generates a shortened URL that allows direct access to a specific task within the application.

Method:
deeplink(taskDefKey?: string): Promise<string>

evaluateDMN

Evaluates the business rule for the provided variables in the specified DMN.

Method:
evaluateDMN(key: string, data: any): Promise<any>

eventLogger

A custom logger for generating logs of specific events.

Method:
eventLogger(request: EventLoggerRequest): Promise<boolean>

generateSequenceId

Generates "Sequential Values" for the App.

Note: On giving a "tag", it generates the SequenceID with respect to this tag. However, the "tag" is an optional parameter.

Method:
generateSequenceId(request: GenerateSeqIdRequest): Promise<GenerateSeqIdResponse>

getGroupById

Returns details of the given GroupID.

Method:
getGroupById(groupId: string): Promise<groupResponse[]>

getGroups

Returns a list of all the available Groups.

Method:
getGroups(): Promise<groupResponse[]>

getGroupsByUserID

Retrieves a list of groups the user belongs to, identified by their user ID.

Method:
getGroupsByUserId(userId: string): Promise<groupResponse[]>

getLoggedInUser

Returns the ID of the currently "Logged In" User.

Method:
getLoggedInUser(): Promise<getLoggedInUserResponse>

getNextAvailableAgent

Lists the next available "agent" (user) in the group with access to the process based on the provided algorithm (roundRobin or mostIdleAgent).

Note:

  • roundRobin - schedules the process in a circular order without prioritizing individual users in the group.
  • mostIdleAgent - schedules the process to the user with the least number of tasks within the group.

Optionally, you also have a "tag" parameter.

Method:
getNextAvailableAgent(req: IntelligentRouteRequest): Promise<IntelligentRouteResponse>

getProcessDefinitions

Returns a list of the latest process definitions.

Method:
getProcessDefinitions(): Promise<processDefinitionResponse[]>

getSignedURL

It generates signed URLs for a provided list of URLs. These signed URLs allow access to the original resources for a predefined time period.

Method:
getSignedURL(request: SignedURLRequest): Promise<{[key: string]: string;}>

getUserById

Returns details of the given user ID.

Method:
getUserById(userId: string): Promise<userResponse[]>

getUsers

Returns a list of all the available users.

Method:
getUsers(): Promise<userResponse[]>

getUsersByGroupId

Returns the "User-List" for the given GroupID.

Method:
getUsersByGroupId(groupId: string): Promise<userResponse[]>

sendMail

This Method allows for sending emails with the specified content to designated recipients. It offers customization of the email's subject, body, and SMTP details for sending. The SMTP details are optional and, if provided, are given priority.

Method:
sendMail(request: SendMailRequest): Promise<any>

sendMessage

Sends a message to the process engine. It either triggers a new message start event or creates an intermediate message catching event in an ongoing process.

All message events are named and may carry additional data (payload).

Note: Unlike a signal, a message event is always directed at a single recipient.

Method:
sendMessage(request: SendMessageRequest): Promise<boolean>

setDueDateAndFollowUpDate

Sets the delivery and follow-up dates for a particular task.

Method:
setDueDateAndFollowUpDate(request: setDueDateAndFollowUpDateRequest): Promise<any>

startNewProcessInstance

Starts a new process instance for the given "process definition key".

Note: Variables field is optional. If supplied, the instance will start with the provided variables; else, without it.

Method:
startNewProcessInstance(request: startNewProcessInstanceRequest): Promise<startNewProcessInstanceResponse>