Triggered Tasks

Triggered Tasks offer the method of invoking your Pipelines with an HTTP endpoint. Your pipeline can now be treated as a service, to and from which clients can invoke to send or get data. Likewise, you can invoke the pipeline underlying a Triggered Task from an on-premise system or from cloud via the control plane.

Key Features

  • Create URL from a Pipeline. You can create the URL through the Task creation workflow in Designer or select a Target pipeline in Manager
  • Run as APIs. Once you have the Task URL, you can pass data into pipelines or invoke the pipeline with predefined parameters.
  • Access Control. You can set up an IP Allowlist and a CORS list at the Project level to enforce access control of Triggered Tasks.
  • Network Configuration Options. You can configure your Snaplex instances and the Triggered Tasks that run on them for High Availability and Disaster Recovery scenarios.

Triggered Task Architecture

This image explains the triggered task architecture via control plane

Cloud Triggered Task
Table 1. Components of Triggered Task Architecture
1 Client uses cloud URL to trigger the API call against the control plane over an HTTPS connection
2 The pipeline is prepared and starts running on the Snaplex JCC node over the WebSocket for the input data and output stream.

Ground Triggered Task

This image explains the Ground triggered task

Ground Triggered Task
Table 2. Components of Ground triggered task
1 The client triggers the task via the on-premises load balancer URL.
2 The load balancer chooses the Snaplex JCC node to run the pipeline.
3 The request is sent to the control plane for pipeline preparation.
4 The control plane chooses the Snaplex JCC node based on pipeline load, then sends the request over WebSocket.
5 Streaming data is sent over HTTPS connection.

Comparison of Triggered Task Types

Cloud Triggered Task
  • Easy to use and debug with lesser networking issues to resolve
  • Only option when the client triggering the pipeline does not have network access to the Snaplex running the pipeline
  • Only option for triggering against a Cloudplex
  • Input/Output data flows through the SnapLogic cloud, security concerns (although everything is over HTTPS)
  • Slower if data being streamed is large
  • Puts extra load on SnapLogic control plane, and therefore throttled (Daily and Concurrent API limits)
  • WebSocket connection blocked for duration of pipeline execution
  • Not supported by APIM
Ground Triggered Task
  • Data doesn't enter SnapLogic cloud
  • Lower load on Control Plane, therefore not throttled
  • No contention on WebSocket connections
  • Faster if data streamed is large
  • Intra Snaplex networking requirements
  • Client has to be in same network as Snaplex

Triggered Task Workflow

This workflow represents actions taken by both SnapLogic Org admins and users.

Prerequisites
  • You must have permissions to Project Space and Project to create and update Triggered Tasks

  • You must have a Cloudplex or Groundplex set up to run a Triggered Tasks successfully.

Support and Limitations

Triggered Tasks support the following HTTP Methods:

  • GET
  • POST
  • DELETE
  • PUT
  • PATCH
  • HEAD
  • The Open API specification (also known as Swagger) is supported. You can download your Triggered Tasks in API form in SnapLogic Manager > Assets.
  • The Cloud URL has a 15-minute connection limit, whether the connection is active or idle. Therefore, it should not be used for tasks that require streaming data in or out for longer than 15 minutes.
  • A Snaplex comprises multiple nodes. If the Triggered Task is set to run on a Groundplex (also known as an On-premises Snaplex), there are multiple options for Task URLs. These include a Cloud URL, which is reachable from the Cloud, and an On-premises URL and Override URL, both of which are limited to the on-premise network.
  • A cloud URL Triggered Task will fail when the Task owner's password is expired. The Task execution requires that the Task owner’s password be reset. When using an on-premise URL, you can still trigger the Task with the bearer token (see Task Details), even if the Task owner’s password is expired. However, the Task execution will fail when using an expired password as authentication until the Task owner's password is reset.
  • When you access the URL for a Triggered or Ultra Task in a different Org from the one you last selected, SnapLogic Manager displays the Task details. But, it does not automatically switch to the owning Org. To change Orgs, use the selector at the top right in Manager.
  • Since the connection to the client has a 15-minute timeout, long running Pipelines invoked as Triggered or Ultra Tasks through a Cloudplex URL might not complete before the timeout occurs. For Groundplex users, this timeout does not apply to the On-premise URL.
Known Issues

When you create a Triggered Task and change the Run Policy to Scheduled, the Triggered Task URLs are not disabled. Therefore, the underlying pipeline is still executable through the Triggered Task URLs, even though the Task is now a Scheduled Task.

Workaround: Create a new Scheduled Task asset referencing the target pipeline and disable or delete the Triggered Task.