(PAYG)
Activities and Triggers Guide
Software Release 2.8.0
January 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.
ANY SOFTWARE ITEM IDENTIFIED AS THIRD PARTY LIBRARY IS AVAILABLE UNDER SEPARATE SOFTWARE LICENSE TERMS AND IS NOT PART OF A TIBCO PRODUCT. AS SUCH, THESE SOFTWARE ITEMS ARE NOT COVERED BY THE TERMS OF YOUR AGREEMENT WITH TIBCO, INCLUDING ANY TERMS CONCERNING SUPPORT, MAINTENANCE, WARRANTIES, AND INDEMNITIES. DOWNLOAD AND USE OF THESE ITEMS IS SOLELY AT YOUR OWN
DISCRETION AND SUBJECT TO THE LICENSE TERMS APPLICABLE TO THEM. BY PROCEEDING TO DOWNLOAD, INSTALL OR USE ANY OF THESE ITEMS, YOU ACKNOWLEDGE THE
FOREGOING DISTINCTIONS BETWEEN THESE ITEMS AND TIBCO PRODUCTS.
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, Two-Second Advantage, TIB, Information Bus, 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. . . .7
GraphQL Trigger. . . .11
Activities. . . .12
ConfigureHTTPResponse. . . .12
GRPCActivity. . . 13
InvokeLambdaFunction. . . .14
InvokeRESTService. . . .15
Using SSL. . . .18
LogMessage. . . .18
Mapper. . . 19
ParseJSONActivity. . . .20
ReplyToHTTPMessage (Supported for backward compatibility only). . . .21
SendMail. . . .21
Sleep. . . .22
Apache Avro. . . .23
Overview. . . .23
Avro Serialize. . . .23
Avro Deserialize. . . .24
Apache Kafka. . . .24
Overview. . . .24
Configuring a Kafka Client Connection. . . .24
Kafka Client Configuration Details. . . .25
Kafka Consumer Trigger. . . .27
Kafka Producer. . . .30
Kafka Offset Commit. . . .32
Microsoft SQL Server. . . .32
Overview. . . .32
Creating a Microsoft SQL Server Connection. . . .32
Microsoft SQL Server Connection Details. . . .33
SQLServer Query. . . .33
SQLServer Insert. . . .35
SQLServer Delete. . . .38
Oracle MySQL. . . .39
Overview. . . .39
Creating an Oracle MySQL Connection. . . .39
Oracle MySQL Connection Details. . . .39
MySQL Query. . . .40
MySQL Insert. . . .42
MySQL Update. . . .44
MySQL Delete. . . .46
MQTT. . . .47
Overview. . . .47
Creating the MQTT Connection. . . .47
MQTT Connection Details. . . .47
Rules for Application Property. . . .48
MQTT Subscriber Trigger. . . .48
MQTT Publish Activity. . . .50
PostgreSQL. . . .52
Overview. . . .52
Creating a PostgreSQL Connection. . . 52
PostgreSQL Connection Details. . . 52
PostgreSQL Query. . . .53
PostgreSQL Insert. . . .55
PostgreSQL Delete. . . .57
PostgreSQL Update. . . .58
TIBCO Cloud Messaging. . . .59
Overview. . . .60
Creating a TIBCO Cloud Messaging Connection. . . .60
TIBCO Cloud Messaging Connection Details. . . .60
MessageSubscriber Trigger. . . .61
TCMMessagePublisher. . . .62
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
Use the REST trigger, ReceiveHTTPMessage, when creating flows that require invoking RESTful web services that provide some input necessary to activate the flow. The ReceiveHTTPMessage trigger is used when you want to expose your flow as an API, making it accessible by other apps running on either the 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.
Trigger Settings
Field Description
Trigger Settings
Port By default, the port on which the trigger listens is set to 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, make sure that the port number is unique for for each trigger. Two triggers in the same app cannot run on the same port.
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
Field Description
Handler Settings
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.
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 will be 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 will cause 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 will be 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}. 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 will report an error if no value(s) 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 will report an error if no value(s) 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 flow input/output configuration ( ) 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.
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
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
For details on using the iterator, see the "Using the Iterator in an Activity" section in the TIBCO Cloud™ Integration - Flogo® (PAYG) User's Guide.
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 both an outbound and inbound REST request which means that it is used to make a request to the REST service and also accept the reply returned by the service.
Settings
Field Description
Method Select an operation for the request. For example: GET, POST, PUT, or DELETE.
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.
Request Type NOTE: 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
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) 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.
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 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.
● 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 NOTE: This field appears only when Configure Response Codes is set to False.
The schema for the reply that the server sends.
Response Type NOTE: 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 Log 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
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 Flogo® Connector for Apache Avro provides a mechanism to serialize and deserialize 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 -
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 TIBCO Flogo® Connector for Apache Kafka, 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 use TIBCO Flogo® Connector for Apache Kafka, 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.
Condition Applicable Field Description 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.
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 The maximum size of buffered records that can be sent in one request.
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.
Condition Applicable Field Description Applicable only when
Avro is selected in the Value Serializer field.
avroData Data structure based on Avro schema that you have configured on the Input Settings tab.
N/A headers Header value to be sent.
Output
Condition Applicable Field Description
N/A topic Name of the topic.
N/A partition Partition number of the record to send.
N/A offset Offset of the record.
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.
Kafka Offset Commit
Apache Kafka Offset Commit activity notifies Kafka Consumer Trigger to commit given offset. This is useful in case you want offsets to be committed as soon as the record is processed in the flow. By default, offsets are committed only when flow is successfully executed.
This activity can be used only in conjuction with Kafka Consumer Trigger.
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.
Microsoft SQL Server
This section contains the following topics:
Overview
TIBCO Flogo® Connector for Microsoft SQL Server is a TIBCO Cloud Integration - Flogo (PAYG) connector for executing SQL queries on a SQL Server database instance.
Creating a Microsoft SQL Server Connection
You must create a SQL Server connection before you can use the TIBCO Flogo® Connector for Microsoft SQL Server. The Microsoft SQL Server connection contains all the parameters required to connect to the Microsoft SQL Server database. The Microsoft SQL Server connection is used by all the activities in the Microsoft SQL Server category.
By default, the Microsoft SQL Server database listens for connections on port 1433, although that is configurable as is the connection property on the Microsoft SQL Server.
To create a Microsoft SQL Server connection, click the Connections tab on the TIBCO Cloud Integration - Flogo (PAYG) page.
If this is the first connection you are adding, do the following:
1. Click the SQL Server Connector tile.
2. Enter the values for the fields in the SQL Server Connector dialog. See SQL Server Connection Details topic for a description of the fields.
3. Click Connect.
If you already have existing connections for any connector in TIBCO Cloud Integration - Flogo (PAYG), the connections will be displayed on the Connections page.
1. Click Add Connection.
2. Click the SQL Server Connector tile.
3. Enter the values for the fields in the SQL Server Connector dialog. See SQL Server Connection Details topic for a description of the fields.
4. Click Connect.
Microsoft SQL Server Connection Details
Provide the information of the Microsoft SQL Server server that this connection will connect to.
The SQL Server Connector dialog contains the following fields:
Field Description
Name A name for the Microsoft SQL Server connection that you are creating Description A short string describing the connection
Host URL of the server that hosts the Microsoft SQL Server Connector database Port Port number on which the Microsoft SQL Server Connector database listens
By default the Microsoft SQL Server Connector cluster is configured with port 1433. For custom configurations the port range should be within 1024 - 32767.
Database Name Name of the Microsoft SQL Server Database
User User name of the Microsoft SQL Server Database user Password Password for the Microsoft SQL Server Database account
SQLServer Query
Use this activity to execute a simple or a complex SQL Query on a Microsoft SQL Server database. The SQLServer Query activity returns information in the form of rows.
Settings
The Settings tab has the following fields: