Instances of integrations (and test runs of integrations) execute in isolated NodeJS containers with distinct filesystems and memory. Two instances of the same integration run in distinct isolated environments. Integrations currently run using NodeJS version 14.x.
The Prismatic integration runner is allocated 1GB of RAM for execution.
An instance will run for up to 15 minutes.
Webhook payload size is limited to 6MB. 6MB is generally large enough to handle most JSON, XML, or other webhook payloads.
If the payload you need to process exceeds 6MB (i.e. you are processing large images, PDFs, etc.), we recommend saving the large file to a file storage system first (Dropbox, Amazon S3, Azure Files, etc.), and sending metadata about the file in your webhook request. Your integration can use the metadata to fetch the file for processing.
When a webhook is invoked synchronously, the response contains the results of the last step of the flow (so, if the last step returned a PDF file, the webhook response would be a PDF file). Prismatic writes response to a file in Amazon S3, and responds with an HTTP 303 (Redirect) to the object in S3.
Step results have a maximum size of 500MB. If the results that you generate exceed 500MB, consider writing the file to a file storage system (Dropbox, your own Amazon S3 bucket, etc) and returning metadata about the file instead.
Read More: Synchronous Invocations and Redirects
A webhook request will time out after 30 seconds. Webhook requests to synchronous triggers (triggers that wait until the execution finishes running before responding) must complete their work in under 30 seconds.
A webhook endpoint URL can be invoked up to 50 times per second. If a request is received for an endpoint URL that has already received 50 requests in the last second, the request will receive a 429 "too many requests" response.
If your integration connects to an external app or service that allows connections based on IP, you can add the following relevant IPs to your allowlist.
|Stack||App URL||IP Addresses|
|US Commercial (Ohio)||app.prismatic.io|
If your integrations are hosted in a private cloud, please contact Prismatic support for an allowlist.
Note: Integrations in Prismatic send data to third-party apps and services from those IP addresses. Invoking integrations in Prismatic is name-based (e.g. hooks.prismatic.io) and IPs are subject to change.