(PAYG)
Activities and Triggers Guide
Software Release 2.9.0
July 2020
Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.
USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE
SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME.
This document is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc.
TIBCO, the TIBCO logo, the TIBCO O logo, and Flogo are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries.
All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only.
This software may be available on multiple operating systems. However, not all operating system platforms for a specific software version are released at the same time. Please see the readme.txt file for the availability of this software version on a specific operating system platform.
THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME.
THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE,
INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.
This and other products of TIBCO Software Inc. may be covered by registered patents. Please refer to TIBCO's Virtual Patent Marking document (https://www.tibco.com/patents) for details.
Copyright © 2016-2020. TIBCO Software Inc. All Rights Reserved.
Contents
TIBCO Documentation and Support Services. . . .5
Out-of-the-box Activities and Triggers. . . . 6
General Category. . . .6
Triggers. . . .6
Timer Trigger. . . .7
REST Trigger - ReceiveHTTPMessage. . . .7
GraphQL Trigger. . . .12
gRPC Trigger. . . .13
Activities. . . .14
ConfigureHTTPResponse. . . .14
GRPCActivity. . . 15
InvokeLambdaFunction. . . .16
InvokeRESTService. . . .17
Using SSL. . . .20
LogMessage. . . .20
Mapper. . . 21
ParseJSONActivity. . . .22
ReplyToHTTPMessage (Supported for backward compatibility only). . . .23
SendMail. . . .23
Sleep. . . .24
Apache Avro. . . .25
Overview. . . .25
Avro Serialize. . . .25
Avro Deserialize. . . .26
Apache Kafka. . . .26
Overview. . . .26
Configuring a Kafka Client Connection. . . .26
Kafka Client Configuration Details. . . .27
Kafka Consumer Trigger. . . .29
Kafka Producer. . . .32
Kafka Offset Commit. . . .34
Microsoft SQL Server. . . .34
Overview. . . .34
Creating a Microsoft SQL Server Connection. . . .34
Microsoft SQL Server Connection Details. . . .35 . . . .
SQLServer Update. . . .38
SQLServer Delete. . . .40
Manually Configuring Metadata. . . 41
Oracle MySQL. . . .42
Overview. . . .42
Creating an Oracle MySQL Connection. . . .42
Oracle MySQL Connection Details. . . .43
MySQL Query. . . .43
MySQL Insert. . . .45
MySQL Update. . . .47
MySQL Delete. . . .49
Manually Configuring Metadata . . . .50
MQTT. . . .51
Overview. . . .51
Creating the MQTT Connection. . . .51
MQTT Connection Details. . . .51
Rules for Application Property. . . .52
MQTT Subscriber Trigger. . . .53
MQTT Publish Activity. . . .55
PostgreSQL. . . .56
Overview. . . .56
Creating a PostgreSQL Connection. . . 56
PostgreSQL Connection Details. . . 57
PostgreSQL Query. . . .57
PostgreSQL Insert. . . .59
PostgreSQL Delete. . . .61
PostgreSQL Update. . . .62
Manually Configuring Metadata. . . 64
TIBCO Cloud Messaging. . . .65
Overview. . . .65
Creating a TIBCO Cloud Messaging Connection. . . .65
TIBCO Cloud Messaging Connection Details. . . .66
MessageSubscriber Trigger. . . .66
TCMMessagePublisher. . . .67
TIBCO Documentation and Support Services
How to Access TIBCO Documentation
Documentation for TIBCO products is available on the TIBCO Product Documentation website, mainly in HTML and PDF formats.
The TIBCO Product Documentation website is updated frequently and is more current than any other documentation included with the product. To access the latest documentation, visit https://
docs.tibco.com.
Documentation for TIBCO Cloud™ Integration - Flogo® (PAYG) is available on the TIBCO Cloud Integration - Flogo (PAYG) Product Documentation page.
Product-Specific Documentation
The following documents for this product can be found on the TIBCO Documentation site:
● TIBCO Cloud™ Integration - Flogo® (PAYG) Release Notes
● TIBCO Cloud™ Integration - Flogo® (PAYG) Getting Started
● TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide
● TIBCO Cloud™ Integration - Flogo® (PAYG) Activities and Triggers Guide
How to Contact TIBCO Support
You can contact TIBCO Support in the following ways:
● For an overview of TIBCO Support, visit http://www.tibco.com/services/support.
● For accessing the Support Knowledge Base and getting personalized content about products you are interested in, visit the TIBCO Support portal at https://support.tibco.com.
● For creating a Support case, you must have a valid maintenance or support contract with TIBCO.
You also need a user name and password to log in to https://support.tibco.com. If you do not have a user name, you can request one by clicking Register on the website.
How to Join TIBCO Community
TIBCO Community is the official channel for TIBCO customers, partners, and employee subject matter experts to share and access their collective experience. TIBCO Community offers access to Q&A forums, product wikis, and best practices. It also offers access to extensions, adapters, solution accelerators, and tools that extend and enable customers to gain full value from TIBCO products. In addition, users can submit and vote on feature requests from within the TIBCO Ideas Portal. For a free registration, go to https://community.tibco.com.
Out-of-the-box Activities and Triggers
This section documents the out-of-the-box activities and triggers that are supported in TIBCO Cloud™ Integration - Flogo® (PAYG).
General Category
The General category is available by default in all flows. It consists of activities and triggers that may be commonly used by any flow in the app. A trigger activates the flow in which it appears. An activity is used to perform a task.
This section contains the following topics:
Triggers
In addition to the Receive HTTP Message and Timer Trigger available for general use, TIBCO Cloud Integration - Flogo (PAYG) supports triggers that were originally created in Project Flogo™. This allows for a seamless import of apps that were created in Project Flogo™. The Project Flogo™ triggers are marked with the OSS abbreviation on them.
If you are creating an app in TIBCO Cloud Integration - Flogo (PAYG), it is preferable to use the general purpose triggers (the triggers that do not have an OSS tag on them), since they are more robust in functionality.
Refer to https://github.com/project-flogo/contrib for details on the activities that are marked with an
OSS tag.
Trigger configuration fields are grouped into Trigger Settings and Handler Settings. A single trigger can be associated with multiple handlers.
● Trigger Settings - these settings are common to the trigger across all flows that use that trigger. If and when a flow attached to the trigger changes any Trigger Settings field, the change gets propagated to all flows attached to the trigger. A warning message gets displayed saying so and asking you to confirm before the changes are committed.
● Handler Settings - these settings are applicable to a specific flow attached to the trigger. Hence, each flow can set its own values for the Handler Settings fields in the trigger. To do so, open the flow and click on the trigger to open its configuration dialog. Click the Settings tab and edit the fields in the Handler Settings section.
You cannot create a flow branch from a trigger.
You can create the trigger at the time of flow creation or create a blank flow to begin with and attach the flow to one or more triggers at a later time after the flow has been created. If you anticipate that you will need to attach the flow to multiple triggers, be sure to create a blank flow and attach it to the triggers as needed. If you attach a flow to a trigger during flow creation, you cannot modify the trigger settings from within the flow. Refer to the section. "Selecting a Trigger When Creating a New Flow" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for more details.
For triggers that have an output, the output from the trigger becomes the input to the flow. Likewise, the output from the flow becomes the reply from the trigger.
This section contains the following topics:
Timer Trigger
Use the Timer Trigger trigger as a process starter when creating flows designed to be activated without external input. It is useful when you want your flows to run at certain time intervals. You can configure the Timer Trigger trigger to activate the flow multiple times at a specified interval.
Field Description
Handler Settings
Repeating True: Select the True radio button to run the flow at periodic intervals.
False: Select the False radio button if you want the flow to run only once.
If Repeating is set to True and a Time Interval and Interval Unit is specified, the flow will be triggered at the exact same time as the first run. For example, if the flow was run at 1:00 pm on Monday and the Interval Unit is specified as week with the Time Interval as 2, the flow be run at 1:00 pm on every other Monday.
Time Interval An integer indicating the number of units specified in the Interval Unit field. For example, if you enter 1 as the Time Interval and select Hour in the Interval Unit drop down menu, the Timer trigger activates the flow every hour. If you enter 2 as the time interval and specify Week as the Interval Unit, the flow is run every other week.
Interval Unit The unit of time to use with the Time Interval field to determine how often to run the flow. The units can be: Second, Minute, Hour, Day, and Week.
REST Trigger - ReceiveHTTPMessage
Use the ReceiveHTTPMessage REST trigger when creating flows that require invoking RESTful web services that provide some input necessary to activate the flow. The ReceiveHTTPMessage trigger exposes your flow as an API, making it accessible by other apps running on either TIBCO Cloud™ or elsewhere. This trigger must be configured to set up the fields for a request that the server receives from a REST client.
If you make changes to the trigger such as add or delete path or query parameters, be sure to click the Sync button in order for the changes to be propagated to the flow input schema.
Trigger Settings
Field Description
Trigger Settings
Port By default, the trigger listens on the port 9999. You can change this to use another port that is open.
If the app has multiple triggers that require a port to be specified, specify an unique port number for each trigger. Two triggers in the same app cannot run on the same port.
Field Description Configure
Using API Specs
While creating a REST trigger, you can configure it by uploading an API specification file. You can also upload the specification file after the trigger is created. That is, if the API specification changes, you can merge the changes into an existing app by uploading the specification file again.
To do this, click True and specify the following. (The default is False.)
● API Spec: Click Browse and then select the specification file to be used for configuring the trigger.
● Path: All the paths from the specification file are listed in the drop down.
Select a path.
● Method: All the methods relevant to the selected path are listed in the drop down. Select a method.
If False is selected, you need to specify the Path and Method.
Secure
Connection By default, it is set to False. If you set this field to True, you can create a secure endpoint by providing Server Key and CA or Server Certificate.
Server Key - A PEM encoded private key file
CA or Server Certificate - A PEM encoded CA or self-signed server certificate file Handler Settings
Field Description
Path The resource path for the operation. By default, the path displayed here is the resource path you had entered when you created the flow. The Path field is editable. For example, if you want to add a path parameter for a GET operation, you can do so by editing the resource path in the GET flow. If you edit the path in the Path field for a particular REST operation flow, the edited resource path is applicable only to the flow in which it was edited.
Two resource paths with same base path should not contain path parameters at the same location. For example, you cannot have the following paths in the same application:
● /books/{ISBN}/Author/{releaseDate} and /books/{ISBN}/Author/
releaseDate is considered the same from a routing perspective.
In these two paths, since the ISBN value is dynamic, it causes a conflict during path resolution.
● /books/{ISBN}/{releaseDate} and /books/{ISBN}/Author in the same application is not supported.
Although the two paths appear to be different, when a message comes in, the router mechanism cannot know which path to call (the one with parameter or the one without) since the actual value has been substituted for the paramter.
● Resource path with two different path parameters at the same URL sub- section. For example, /0.6/api/account/{account}/orderhistory/
{orderhistory}/branch/{branch} and /0.6/api/account/
{AccountKey}/Price?ProductList={ProductList}
In these paths even though the paths differ after the base path (/0.6/api/
account/), there is a conflict when resolving the {account} and
{AccountKey} values.
● Multiple REST resources with same base path and same number of path parameters. For example, /resource/{id} and /resource/{id1}
● /messages/{messageid}/comments/{commentid} and /messages/
{messageid}/likes/{likeid}
where the paths differ after {messageid}.
Method The REST operation which the flow implements, for example GET, PUT, POST, or DELETE. This is a non-editable field since each REST flow implements a single operation.
Output
Validation When set to True, the incoming data (body, headers, and query parameters) is validated against the configured JSON schema. By default, it is set to False.
Output Settings
Field Description
Query
Parameters Query parameters to be appended to the path. To add the query parameters, click the button and press Enter to save your changes.
parameterName: Name of the query parameter
type: The data type of the query parameter. Supported types are string, number, or boolean.
repeating: Set to True if more than one value is expected for the query parameter.
required: Set to True if query parameter is a required configuration. The trigger reports an error if no values are provided to the required query parameter.
Path Parameters Path parameters that are appended to the path.
Headers
Header values for the trigger. To add the header parameters, click the button and press Enter to save your changes.
parameterName: Name of the header parameter.
type: The data type of the header parameter. Supported types are string, number, or boolean.
repeating: Set to True if more than one value is expected for the HTTP header.
required: Set to True if header parameter is a required configuration. The trigger reports an error if no values are provided to the required header parameter.
Request Schema Request schema for the trigger. Be sure to use straight quotes for element names and values in the schema.
Map to Flow Inputs
This tab allows you to map the trigger output to flow input.
Reply Settings
Field Description
Configure
Response Codes Allows you to configure response codes.
Default: False (See "Reply Data Schema" in this table.)
To specify a response code, select True and click the button. Enter the following details:
● Code: Enter the response code.
● Type: Select the type of response expected for the Code. Supported types are String and Object.
● Response Body: If Object is selected as the Type, enter the JSON schema in the Response Body column. For String, you need not enter anything in the Response Body column.
● Response Headers: The header parameters for the reply in JSON data format.
● Actions: The actions displayed change based on the type of the response code.
— Edit, Delete: For an Object type of response, you can edit the details or cancel it.
— Save, Cancel: For a String type of response, you can save or cancel the changes.
The response codes appear in the Map from Flow Outputs tab.
The REST reply data type is by default set to data type any. To
configure the reply to an explicit data type, see "Configuring the REST Reply" section in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide.
Reply Data Schema NOTE: This field appears only when Configure Response Codes is set to False.
The schema used for the reply data of the trigger. Be sure to use straight quotes for element names and values in the schema.
Map from Flow Outputs
Map the flow output to the trigger reply in this tab.
GraphQL Trigger
The GraphQL Trigger lets the Flogo app act as the GraphQL server. To use this trigger, you simply upload your GraphQL schema and TIBCO Cloud Integration - Flogo (PAYG) automatically creates the flows corresponding to each query or mutation field in your schema.
Trigger Settings
Field Description
Trigger Settings
Port The port on which the trigger listens to requests. By default, it is set to 7879. You can change this to use any other port that is open. This field can also be set using an application property.
If the app has multiple triggers that require a port to be specified, make sure that the port number is unique for for each trigger. Two triggers in the same app cannot run on the same port.
Path The HTTP resource path for the operation. By default, it is set to /graphql, but you can change it to any string that is meaningful to you. It is the single endpoint that GraphQL queries and mutations use to access data from the multiple resources on the server. This field can also be set using an application property.
GraphQL
Schema File The file that contains the GraphQL schema used to create the flow. The file has a .gql or .graphql extension.
If you have made changes to the GraphQL schema file that you uploaded when creating the flow or trigger, you must propagate the changes to the flow input and flow output. To do this, after you select the updated schema file in this field, click the Sync button on the top right corner.
Secure
Connection By default, it is set to False. If you set this field to True, you can create a secure endpoint by providing Server Key and CA or Server Certificate.
Server Key - A PEM encoded private key file
CA or Server Certificate - A PEM encoded CA or self-signed server certificate file Handler Settings
GraphQL
Operation The type of Graphql operation the flow should represent. You can select either Query or Mutation
Resolver for This field is populated based on the type of GraphQL Operation that you selected. If you selected Query, the Resolver For lists the field names under the
query type in the schema. If you select Mutation, the drop down menu lists the field names under the mutation type in the schema.
Map to Flow Inputs
This tab allows you to map the trigger output to flow input. The tab contains an element, arguments, which contains a list of fields or objects that match the input arguments of the Resolver For field in the GraphQL schema.
Map from Flow Outputs
Map the flow output to the trigger reply in this tab. The tab contains a child element, data, which contains either a simple type or an object that match the output type of the Resolver For field in the GraphQL schema. If the output type of the field is an interface type, the data will contain a single field of type any.
gRPC Trigger
The gRPC trigger acts as the server to the gRPC clients. You create the trigger when you create a flow that gets attached to the trigger.
Trigger Settings
Field Description
Trigger Settings
Port The port on which the trigger listens to requests. You can use any port that is open. This field can also be set using an application property.
Proto File A file with .proto extension that contains the methods and service(s) definition which TIBCO Cloud Integration - Flogo (PAYG) uses to create the flows.
Currently, importing a .proto file into another .proto file is not supported.
● The gRPC trigger and gRPC activity does not support options in the .proto file. If your .proto file contains any options, be sure to remove the options in .proto file before using it.
● You must not use the same gRPC .proto file for a gRPC trigger and gRPC activities in the same app. The package names for the gRPC trigger and gRPC activities must be unique.
Secure
Connection By default, it is set to False. If you set this field to True, you can create a secure endpoint by providing Server Key and CA or Server Certificate.
Server Key - A PEM encoded private key file
CA or Server Certificate - A PEM encoded CA or self-signed server certificate file Handler Settings
Service Name Name of the service defined in the .proto file. You must create one gRPC trigger for any specific .proto file. Any subsequent gRPC triggers using the
same .proto file can select the service and method they need from the dropdowns.
Method Name of RPC method in the .proto file. Each method in the .proto file is represented by a separate flow and attached to the same gRPC trigger.
Map to Flow Inputs
This tab allows you to map the trigger output to flow input. The tab displays fields from your selected method.
Map from Flow Outputs
Map the flow output to the trigger reply in this tab.
Activities
In addition to the activities available for general use, TIBCO Cloud Integration - Flogo (PAYG) supports activities that were originally created in Project Flogo™. Such activities are marked with an OSS tag on them. This allows for a seamless import of apps that were created in Project Flogo™. The Project Flogo™ activities are placed under the Default category.
If you are creating an app in TIBCO Cloud Integration - Flogo (PAYG), it is preferable to use the general purpose activities (the activities that do not have an OSS tag on them), since they are more robust in functionality.
Refer to https://github.com/TIBCOSoftware/flogo-contrib for details on the activities that are marked with an OSS tag.
The available activities are placed under the following categories:
● Default
● General
You can create a flow branch from any activity except the Return activity.
To create a branch from an activity. Refer to the TIBCO Flogo® Enterprise User's Guide for steps to create a branch.
Refer to the TIBCO Flogo® Enterprise User's Guide for steps to delete an activity.
This section contains the following topics:
ConfigureHTTPResponse
This activity is used to configure HTTP response codes that you want to use in your REST reply.
Settings
Field Description
Trigger Name The list of triggers to which this flow is attached. This field is displayed only when the flow it attached to multiple REST triggers. Select a trigger in which the code you want to use is configured.
Code List of response codes that you have configured in the selected trigger. Select a response code you want to use.
Input
Displays the schema for the code that you selected in the Settings tab. Map the elements in the schema in the mapper or manually enter the values that you want to send as a response.
Output
Displays the schema for the code in a read-only tree format.
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for information on the Loop tab.
GRPCActivity
The gRPC Invoke activity is an implementation of the gRPC client. Use this activity to make outbound gRPC calls.
Settings
Field Description
Host URL URL used to connect to the gRPC server. The name or IP address of the host on which your .proto file resides. Be sure to append the port number on which the service is running.
Secure
Connection By default, it is set to False. If you set this field to True, you can create a secure endpoint by providing Server Key and CA or Server Certificate.
Server Key - A PEM encoded private key file
CA or Server Certificate - A PEM encoded CA or self-signed server certificate file Proto File A file with .proto extension that contains the methods and service(s) definition
which TIBCO Cloud Integration - Flogo (PAYG) uses to create the flows. Each flow corresponds to one method in the .proto file. Currently, importing a .proto file into another .proto file is not supported.
● The gRPC trigger and gRPC activity does not support options in the .proto file. If your .proto file contains any options, be sure to remove the options in .proto file before using it.
● You must not use the same gRPC .proto file for a gRPC trigger and gRPC activities in the same app. The package names for the gRPC trigger and gRPC activities must be unique.
Service Name Name of the service you want to invoke. The service is defined in the .proto file that you have selected.
Method Name of RPC method in the selected .proto file. Each method in the .proto file is a gRPC request which is represented by a separate flow and attached to the same gRPC trigger.
Input
Field Description
Activity Input The Input tab lists the parameters for the method that you chose in the Settings tab so that you can either enter or map their values in the mapper.
Output
The Output tab displays a read-only schema of the activity output (the response that is configured for the selected method).
Iterator
InvokeLambdaFunction
Use this activity to invoke a specific Lambda function.
Settings
Field Description
AWSConnection Name
Select a AWS connection
ARN (Optional) Amazon Resource Name.
● You can also specify the ARN in the Input tab. If you specify the ARN in both the tabs, the ARN in the Input tab is used.
● You must specify the ARN in at least one tab; otherwise the activity returns an error at runtime.
Input Settings
Field Description
Payload Schema Enter a JSON request schema for your payload that will be used to invoke the Lambda function.
Input
The payload schema that you entered in the Input Settings tab is displayed in a tree format in the Input tab. Map the elements in the schema using the mapper or alternatively, enter values for the element by manually typing the value in the mapper.
Field Description
LambdaARN Amazon Resource Name.
● You can also specify the ARN in the Settings tab. If you specify the ARN in both the tabs, the ARN in the Input tab is used.
● You must specify the ARN in at least one tab; otherwise the activity returns an error at runtime.
Output Settings
Field Description
Result Schema The schema for the result that is expected from the Lambda function invoke request
Output
The Output tab displays the result schema you entered in the Output Settings tab in a tree format.
InvokeRESTService
This activity is used to make a request to a REST service; it also accepts the reply returned by the service.
Settings
Field Description
Method Select an operation for the request. For example: GET, POST, PUT, DELETE, or PATCH.
URL An absolute path to the REST service that you want to invoke. For example:
http://acme.com or https://acme.com. If you enter an absolute path beginning with https://, the Use certificate for verification section appears.
If your connection requires an SSL certificate, select True. Otherwise, select False.
To add a certificate, under Server Certificate, click Browse and browse to the certificate location on the machine.
Timeout Specify the timeout period (in milliseconds) for invoking a service. If a timeout value is specified, the activity waits for the specified time. If a response is not received by the specified time, the request expires with an error.
Default: 0 milliseconds (that is, there is no timeout for invoking a service) Request Type This field is applicable and visible only in the POST and PUT method.
The Request content type of the REST service. The following content-type are supported:
● text/plain
● application/json
● application/x-www-form-urlencoded
Proxy URL Specify the URL to the HTTP proxy server. If a proxy URL is specified, the request to the REST service (specified in the URL field) is routed via this proxy URL.
A secure connection to the proxy server is not supported.
Default: Proxy URL is not enabled.
Input Settings
Field Description
Request Schema Enter a request schema here. This field is visible only if you selected the POST or PUT method in the Settings tab.
Field Description
Query Params Query parameters to be appended to the path. To add the query parameters, click the button and press Enter to save your changes.
parameterName: Name of the query parameter.
type: The data type of the query parameter. Supported types are string, number, or boolean.
required: Set to True if query parameter is a required configuration. The trigger will report an error if no value(s) are provided to the required query parameter.
Request
Headers Header values for the InvokeRESTService activity. To add the header parameters, click the button and press Enter to save your changes.
parameterName: Name of the header parameter.
type: The data type of the header parameter. Supported types are string, number, or boolean.
required: Set to True if header parameter is a required configuration. The trigger will report an error if no value(s) are provided to the required header parameter.
Input
Field Description
queryParams Provide a value to the query parameters configured on the Input Settings section. This field is visible only if you selected the POST or PUT method in the Settings tab.
pathParams Provide a value to path parameters defined as part of URL in the Settings tab.
This field is visible only if you selected the POST or PUT method in the Settings tab.
headers Header values for the activity. These values can be manually entered or mapped to the output of the trigger or any preceding activity.
body Request Schema values for the activity. These values can be manually entered or mapped to the output of the trigger or any preceding activity. This field is visible only if you selected the POST or PUT method in the Settings tab.
Output Settings
Field Description
Configure
Response Codes Allows you to configure response codes.
Default: False (See "Response Schema" and "Response Type" in this table.) To specify a response code, select True and click the button. Enter the following details:
● Code: Enter a specific response code or configure a single schema for a category of response codes. For example, if all the status codes are similar (such as 501, 502, 503, and so on), you can define a single schema (as 5xx) for them. Defining a single schema saves you time and effort as you do not need to configure each status code separately in the activity.
If the status code is provided as a range (5xx in the above example) and also an absolute format (501 in the above example), the status code in the absolute format is given priority. In the above example, status code 501 is given priority over 5xx at runtime.
● Type: Select the type of response expected for the Code. Supported types are String and Object.
● Response Body: If Object is selected as the Type, enter the JSON schema in the Response Body column. For String, you need not enter anything in the Response Body column.
● Actions: The actions displayed change based on the type of the response code.
— Edit, Delete: For an Object type of response, you can edit the details or cancel it.
— Save, Cancel: For a String type of response, you can save or cancel the changes.
The response codes appear in the Output tab.
Response
Schema This field appears only when Configure Response Codes is set to False.
The schema for the reply that the server sends.
Response Type This field appears only when Configure Response Codes is set to False.
The content type of the REST service. The following content-types are supported:
● text/plain
● application/json
● other
Response
Headers The header parameters for the reply.
Output
The Output tab displays the headers and response body configured for both the request and the response in a tree format.
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for information on the Loop tab.
Retry on Error
This tab allows you to set the number of times the flow should try to execute the activity if it encounters a retriable error (such as waiting for a server to start, intermittent connection failures, or connection timeout) during the activity execution.
Field Description
Count The number of times the flow should attempt to execute the activity.
Interval The time (in milliseconds) to wait in between each attempt to execute the activity.
Using SSL
If you choose to set up SSL authentication for the InvokeRESTService activity, you must have a self- signed server certificate that you must upload when setting up the activity.
Use Self-signed PEM certificate for secure connection.
To set up SSL authentication, follow these steps:
Prerequisites
You must have the self-signed server certificate handy on your machine.
Procedure
1. On the flow page, click the Invoke REST Service tile to open its properties.
2. In the Settings tab, under Use certificate for verification, select the True radio button.
This exposes the Browse button. The SSL verification will be turned off when Use certificate for verification is set to False.
3. Use the Browse button to navigate to the location of the server certificate.
Once the server certificate is uploaded successfully, the connection uses the certificate to authenticate.
LogMessage
LogMessage is an activity that writes a message to the log. For each application, there is a log file. You can view the logs in the Log tab.
You can view the logs in the Logs tab.
Settings
The Settings tab has the following fields.
Field Description
Log Level Select one of the following log levels:
● Info: logs informational messages highlighting the application progress.
● Warning: is the warning message of an unexpected error when running the flow.
● Error: logs error conditions and messages.
● Debug: can be used for debug-level messages.
Add Flow Details Appends Flow Instance ID, Flow Name and Activity Name to the log message.
By default, this field is set to False.
Input
Provide the following input for this activity.
Input Iten Description
message The message to be displayed in the log.
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for information on the Loop tab.
Mapper
Use this activity to define a schema to get the desired data. This activity is particularly useful to define a schema for an object of type any. In the flow, you place the Mapper activity preceding an activity whose input requires an object of data type any. This allows you to map the object of type any to the output from the Mapper activity. An advantage of using this activity is that you can construct the data for the
any data type within the flow instead of fetching it from outside.
Input Settings
Field Description
Input Schema Enter the JSON schema that will be used as the input for this activity. The elements of this schema are available for mapping in the Input tab and are mappable to the output from any preceding activity, trigger, or the flow input.
The Mapper activity outputs the elements from this schema, so they are also displayed in the Output tab in a tree format. This makes them available for mapping in the following activities.
Input
The Input tab displays the schema you entered in the Input Settings tab in a tree format. You can map these elements to the output from any preceding activity, trigger, or the flow input.
Output
The Output tab displays the elements from the schema you entered in the Input Settings tab.
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for information on the Loop tab.
ParseJSONActivity
This activity takes a stringified JSON data as input and converts it into a JSON object, which can then be accessed by the downstream activities that follow. You provide the input to the activity either by entering the stringified JSON data manually in the Input tab or saving it in a file and entering the file path in the Input tab. The activity supports output validation if you opt to validate the input JSON data against the output schema that you configure in the Output Settings tab.
Settings
Field Description
Output
Validation True: Select True to validate that the JSON data in your input string matches the schema that you configure in the Output Settings tab of the activity.
False: Select False if you do not want to validate the JSON data in your input string against the schema you configured.
This field can be configured with an application property.
Input
Field Description
jsonString The string containing the JSON data that you want to parse. This activity creates a JSON object with the parsed JSON data. Enter the string manually or map it to an element from the output of the trigger, flow input, or one of the preceding activities.
Output Settings
Field Description
Schema The schema that you want to use to create the JSON object. You have the option to validate the stringified JSON (input to the activity) against this schema.
Output
The output schema is displayed in a read-only tree format.
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for information on the Loop tab.
ReplyToHTTPMessage (Supported for backward compatibility only)
This activity is not supported in TIBCO Cloud Integration - Flogo (PAYG) 2.5.0 and above. This activity is applicable only to flows that were created in previous versions of TIBCO Cloud Integration - Flogo (PAYG) (prior to version 2.5.0) that are imported into the current version.
This activity automatically gets created when you create a flow with a REST trigger. It is used by the server to reply to a request from the REST client.
Configuration
Field Description
Reply Reply sent by the server in response to the REST client request. The two supported replies are Success with Data and Error with Message.
If you select Success with Data, the reply schema must be configured in the Input Settings tab in the Schema field. If you select Error with Message, you must configure the error message in the message field of the Input tab.
Input Settings
Field Description
Schema Enter the reply schema or sample data using a JSON structure.
Input
Field Description
message The string that is included in the reply. If you configured the Reply field in the Configuration tab with Error with Message, the error message must be entered in message text box. If you configured the Reply field with Success with Data, then you must map your data according to the schema specified in the Input Settings tab.
SendMail
SendMail is an activity that sends an email by way of an SMTP server.
To securely configure the SendMail activity using the smtp.gmail.com server, use TLS on Port 587 or SSL on port 465.
Settings
The Settings tab has the following fields.
Field Description
Server The host name or IP address for the mail server.
Port The port used to connect to the server.
Field Description Connection
Security The type of connection to be used to communicate with the mail server. Select TLS or SSL depending upon the security configuration of the mail server. In case no security is enabled on the mail server, select NONE.
Username The username to use when authenticating to the mail server.
Password The password to use when authenticating to the mail server.
Input
This tab displays the fields that are used as input for the activity.
Input Item Description
sender The email address of the sender.
recipients The recipient list for the email. You can send mail to more than one recipient.
Provide a list of recipients in a single string by using a comma as the delimiter.
subject The subject of the email.
message The text of the email message.
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for information on the Loop tab.
Sleep
The Sleep activity is an asynchronous activity that suspends the execution of a flow for the specified time.
Settings
Field Description
Interval Type The unit of the time interval for which the execution of the flow must be suspended. Supported types are Millisecond, Second, and Minute.
Default: Millisecond
Interval The time interval for which the execution of the flow must be suspended.
Default: 0
Input
The fields in the Input tab are required only if you need to pass values from the output of a previous activity or trigger. Otherwise, you can directly specify the values in the Settings tab. Values specified in the Input tab take precedence over values specified in the Settings tab, if values are configured in both the tabs.
Field Description
Interval Type The unit of the time interval for which the execution of the flow must be suspended. Supported types are Millisecond, Second, and Minute.
Default: Millisecond
Interval The time interval for which the execution of the flow must be suspended.
Default: 0
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for information on the Loop tab.
Apache Avro
This section contains the following topics:
Overview
TIBCO Cloud Integration - Flogo (PAYG) provides out-of-the-box activities to serialize and deserialize Avro messages. It uses JSON-based schemas. For information on using Apache Avro refer to the Apache Avro documentation.
Avro Serialize
Use this activity to serialize the message data into a base64 encoded string using the schema and message that you configure in the Input tab of this activity. Once the message is base64 encoded, it can be transported over network.
Settings
The elements from the schema that you enter in this tab will be available for manually configuring or mapping in the Input tab.
Field Description
Schema The Apache Avro schema to be used to serialize a message. It contains the complex and/or primitive types that are supported by Apache Avro.
Input
The Input tab displays the elements of the schema that you entered in the Settings tab in a tree format.
You can input the values for each element by hard coding the value or mapping the value to an element from the output schema of a previous activity in the flow. See the section on "Using the Mapper" in the TIBCO Flogo® Enterprise User's Guide for details on how to map elements.
Output
This tab displays serialized data in the base64 encoded format.
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud Integration - Flogo®
Avro Deserialize
Use this activity to deserialize serialized data into a JSON readable format using the schema that you configure in the Settings tab of this activity.
Settings
The elements from the schema that you enter in this tab will be available for manually configuring or mapping in the Input tab.
Field Description
Schema The Apache Avro schema to be used to deserialize a message. It contains the complex and/or primitive types that are supported by Apache Avro.
Input
Field Description
serializeddata Enter the serialized data or map it to serialized data from the output of a previous activity. This data will be decoded into JSON format.
Output
The Output tab displays the elements of the schema that you entered in the Settings tab in a tree format after the serialized data from the Input tab has been deserialized.
Loop
Refer to the section on "Using the Loop Feature in an Activity" in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide for information on the Loop tab.
Apache Kafka
This section contains the following topics:
Overview
Apache Kafka is a distributed messaging system, providing fast, highly scalable, and redundant messaging through a publisher-subscriber model. By using out-of-the-box connectivity, you can design the flows to send and receive the records.
For information about how to use Apache Kafka, see Kafka documentation.
Configuring a Kafka Client Connection
To publish or subscribe messages, you must first configure a Apache Kafka client connection. The Apache Kafka client connection contains the parameters required to connect to the Apache Kafka cluster. The Apache Kafka client connection is used by all the activities in the Apache Kafka category.
Prerequisites
Before you create a client connection, familiarize yourself with Apache Kafka. For details about how to use the Apache Kafka product, see the Kafka Documentation.
Procedure
1. On the TIBCO Cloud™ Integration - Flogo® (PAYG) page, click the Connections tab and perform one of the following actions:
● To add a client connection for the first time, click the Apache Kafka Client Configuration card.
You can search for a connector card by typing the connector name in the search field.
● If you have existing connections and want to add a new connection, click the Add Connection link.
2. In the Apache Kafka Client Configuration dialog box, enter the connection details. For field descriptions, see the Kafka Connection Details topic.
3. Click Save.
Kafka Client Configuration Details
To establish the connection successfully, you must configure the Apache Kafka instance.
The Apache Kafka Client Configuration dialog box contains the following fields:
Condition Applicable Field Description
N/A Connectio
n Name The unique name for the connection you are creating.
This name is displayed in the Connection drop-down list for all the TIBCO Flogo® Connector for Apache Kafka activities.
N/A Descriptio
n A short description of the connection
N/A Brokers A comma-separated list of host and port pair (host:port) for establishing the initial connection with the Kafka cluster.
Applicable only when SASL/PLAIN is selected in the Auth Mode field.
AuthMode Select one for following authentication type to establish the connection with Kafka cluster:
● None: To establish the connection without authentication
● SASL/PLAIN: To use Simple Authentication Security Layer (SASL) PLAIN authentication
● SSL: To use Secure Socket Layer (SSL) authentication User Name The user name for authentication.
Password The password for authentication.
Applicable only when SASL/PLAIN or SSL is selected in the Auth Mode field.
Client
Certificate A Privacy Enhanced Mail (PEM) encoded client certificate file for mutual authentication.
Client Key A PEM encoded private key file for mutual authentication.
Condition Applicable Field Description CA or
Server Certificate
A PEM encoded private key file for server authentication.
Connectio
n Timeout The amount of time in seconds to wait for the initial connection.
Default value: 30 seconds
N/A Retry
Backoff The amount of time in milliseconds to wait for leader election to occur before retrying.
Default value: 250 milliseconds
N/A Max Retry The number of attempts to retry metadata request when the cluster is in the middle of a leader election.
Default value: 3 attempts
N/A Refresh
Frequency The amount of time in seconds after which metadata is refreshed.
Default value: 40 seconds
N/A Use
Schema Registry
Enables you to use the Avro schema with a schema registry by selecting True.
If you select True, you must specify a Schema Registry URL. You can use the Confluent schema registry or the TIBCO schema registry. Depending on which schema registry you want to use, the Schema Registry URL will need to change. Basic authentication is used to connect to the registry if a Username and Password are provided.
● If True is selected, the schema displayed in the Schema for Avro Value field in the following tabs is read-only. If False is selected, you can create or modify the schema in both these tabs.
— Input Settings tab of Kafka Producer
— Output Settings tab of Kafka Consumer Trigger
● SSL authentication is not supported.
Default value: False
Condition Applicable Field Description Applicable only when
True is selected in the Use Schema Registry field.
Schema Registry URL
The URL used to connect to a schema registry.
For the Confluent schema registry, the URL must be in the following format:
http://<host>:<port>
For the TIBCO schema registry, the URL must be in the following format:
http://<host>:<port>/schema/v1
For Tibco Schema Registry use the FTL realm URL.
Username (Optional) The username to access the schema registry with basic authentication.
Password (Optional) The password to access the schema registry with basic authentication.
Kafka Consumer Trigger
Apache Kafka Consumer Trigger receives records from specified topic in the Apache Kafka cluster.
Trigger Settings
On the Settings tab, you can define the Apache Kafka connection and its details as given in the following table:
Condition Applicable Field Description
N/A Apache
Kafka Client Configurat ion
Apache Kafka client configuration to be used.
N/A Topic The topic where Apache Kafka cluster stores streams of record.
If you are using multiple topics, separate them using commas.
N/A Topic
Whitelist (Optional) A whitelist of topics you can subscribe to for consuming messages from multiple topics. You can specify the group using a regex pattern. For example:
mytopic*
N/A Consumer
Group ID The group ID for the consumer group.
Condition Applicable Field Description
N/A Value
Deserialize r
Select the type of record value to be received from the drop-down list:
● String
● JSON
● Avro Applicable only when
Avro is selected in the Value Serializer field.
Subject A list of all registered subjects in your schema registry. A subject refers to the name under which a schema is registered.
Select the subject to be used.
Applicable only when Avro is selected in the Value Serializer field.
Version Version of the subject (registered name of schema) registered.
Select the version of the subject to be used.
N/A Commit
Interval The time interval in which a consumer offset commits to Apache Kafka.
Default Value: 5000 milliseconds
N/A Initial
Offset Select one of the following options:
● Newest: To start receiving published records since the consumer is started
● Oldest: To start receiving records since the last commit
N/A Fetch Min
Bytes Minimum size of data that server sends on fetch request.
N/A Fetch Max
Wait The maximum amount of time that the server would block before answering a fetch request if there is not sufficient data to immediately satisfy the requirement that you have configured in the Fetch Min Bytes field.
N/A Heartbeat
Interval Time in milliseconds to send heartbeats to consumer.
Heartbeats are used to ensure that the consumer's session remains active and to facilitate rebalancing when
consumers join or leave a group.
Heartbeat interval must not be more than one- third of the session time.
N/A Session
Timeout The consumer sends periodic heartbeats to server
indicating about its liveness to the broker. If no heartbeats are received by a broker before the session times out, the broker removes this consumer from the group and initiates a rebalance.
Output Settings
Condition Applicable Field Description
N/A Headers Record headers to be received. Only String datatype value is supported.
Headers are supported in the Apache Kafka version 0.11.0 and later.
Applicable only when JSON is selected in the Value Serializer field on the Trigger Settings tab.
Schema for JSONvalue
The JSON schema for the Apache Kafka record value
Applicable only when Avro is selected in the Value Serializer field on the Trigger Settings tab.
Schema for
Avro Value The Avro schema for the Apache Kafka record value.
Depending on the Subject and Version selected, the schema is displayed here.
This field is read-only if Use Schema Registry in the Apache Kafka Client Configuration dialog box is set to True. Otherwise, you can provide the schema using this editor.
Output
Condition Applicable Field Description Applicable only when
JSON is selected in the Value Serializer field.
jsonValue Data structure based on JSON schema that you have configured in the Output Settings section.
Applicable only when Avro is selected in the Value Serializer field.
avroData Data structure based on Avro schema that you have configured in the Output Settings section.
N/A partition Partition number of the record
N/A offset Offset of the record
N/A topic Name of the topic
N/A key Key value
Applicable only when String is selected in the Value Deserializer field on the Settings tab.
stringValu
e String value to be received
N/A headers Header value to be received
Kafka Producer
Apache Kafka producer activity sends a record to a specified topic or channel in the Kafka cluster.
Settings
On the Settings tab, you can define the Apache Kafka connection and its details as given in the following table:
Condition Applicable Field Description
N/A Apache
Kafka Connectio n
Select the connection you want to use from the drop- down list.
N/A Acks Mode Select one of the following acknowledgement modes from the drop-down list:
● None: To receive no acknowledgement on record delivery
● Leader: To receive an acknowledgement on record delivery from the leader
● All: To receive acknowledgement on record delivery from leaders and all in-sync replicas
Applicable only when All is selected in the Ack Mode field.
AckTimeout The amount of waiting time in milliseconds to receive confirmation.
N/A Compressi
on Type Select a compression type: None, GZIP, or LZ4.
N/A Value
Serializer Select the type of record value to be sent:
● String
● JSON
● Avro Applicable only when
Avro is selected in the Value Serializer field.
Subject A list of all registered subjects in your schema registry. A subject refers to the name under which a schema is registered.
Select the subject to be used.
Applicable only when Avro is selected in the Value Serializer field.
Version Version of the subject (registered name of schema) registered.
Select the version of the subject to be used.
N/A Max
Request Size
The maximum size of buffered records that can be sent in one request.
Default value: 1048576 bytes
Condition Applicable Field Description
N/A Max
Messages The maximum number of records that can be sent in a single broker request.
N/A Frequency The frequency of sending buffered records in milliseconds.
Default value: 1000
Input Settings
Condition Applicable Field Description
N/A Headers Header record to be sent. Only String datatype value is supported.
Headers are supported in the Apache Kafka version 0.11.0 and later.
Applicable only when JSON is selected in the Value Serializer field on the Settings tab.
Schema for JSONvalue
The JSON schema for the Apache Kafka record value.
Applicable only when Avro is selected in the Value Serializer field on the Settings tab.
Schema for
Avro Value The Avro schema for the Apache Kafka record value.
Depending on the Subject and Version selected, the schema is displayed here.
This field is read-only if Use Schema Registry in the Apache Kafka Client Configuration dialog box is set to True. Otherwise, you can provide the schema using this editor.
Input
Condition Applicable Field Description
N/A topic Name of the topic.
N/A partition Partition number of the record to be sent.
N/A key Optional key value.
Applicable only when String is selected in the Value Serializer field.
stringValu
e String value to be sent.
Applicable only when JSON is selected in the Value Serializer field.
jsonValue Data structure based on JSON schema that you have configured on the Input Settings tab.