====== EasyMorph Gateway ====== EasyMorph Gateway is an optional, complementary cloud service for receiving incoming HTTP webhooks from external and cloud applications and processing them with EasyMorph Server tasks. The Gateway enables real-time event-driven integration between cloud applications and systems outside of the corporate security perimeter with internal systems and applications via EasyMorph Server tasks. Webhook URLs are created and managed from [[server:start|EasyMorph Server]]. Incoming webhook messages are processed by EasyMorph Server tasks in real-time. When a message arrives, the Gateway immediately triggers a designated Server task that imports the incoming message (HTTP request) from the Gateway using the [[transformations:incomingwebhooks|Incoming webhooks]] action and processes it. Alternatively, messages on the Gateway can be retrieved on schedule from an EasyMorph Server task. {{:gateway:gateway.png?nolink|}} =====Configuration===== The Gateway connection, endpoints, and configurations are managed through the EasyMorph Sever on tab "Gateway". The tab is only available to Server administrators. For more detailed instructions on Gateway configuration please read this article: [[https://community.easymorph.com/t/how-to-configure-a-connection-to-easymorph-gateway/2945| How to configure a connection to EasyMorph Gateway]]. \\ =====End-to-end encryption===== All incoming messages that are stored in EasyMorph Gateway are asymmetrically encrypted using a public/private key pair. The keys are managed on EasyMorph Server. The private keys are stored on EasyMorph Server in an encrypted vault. Webhook messages arrive at EasyMorph Server encrypted and are decrypted only in the Server when processed in a task. \\ =====Authentication===== ===Webhook endpoint (URL) authentication=== For any HTTP request sent to the public webhook URL, the Gateway always returns "OK" (200). Custom webhook authentication protocols that require returning a particular token or signature in response are not supported. ===Request authentication=== Requests can be protected by adding authentication using a secret passed via a request header or query parameter. In this case, any request that doesn't have the specified secret will be rejected with the response code 401 "Unauthorized". \\ =====Integration===== ===Zapier=== EasyMorph Gateway has a Zapier connector that can be used in zaps to process events triggered by any Zapier trigger. See this article for more details: [[https://community.easymorph.com/t/how-to-use-zapier-with-easymorph-gateway/2962|How to use Zapier with EasyMorph Gateway]]. ===Power Automate=== See this article for more details: [[https://community.easymorph.com/t/how-to-use-microsoft-power-automate-with-easymorph-gateway/3035| How to use Microsoft Power Automate with EasyMorph Gateway]]. \\ =====Pricing===== The Gateway is an optional service that is priced separately from EasyMorph Server. See the full pricing here: [[https://easymorph.com/buy.html#gateway-pricing|Pricing: EasyMorh Gateway]] \\ =====Miscellaneous===== ===Technical specifications=== ^ Description ^ Value ^ Notes ^ | Average task triggering latency | ~3 seconds | The time required to trigger a Server task after a webhook message is received. | | Max payload size | 300KB | The max size of the incoming HTTP request body ((For large data objects use webhooks as a notification mechanism and retrieve large objects using an API request. See also [[transformations:webrequest|action "Web request"]])). | | Max throughput | up to 100 requests/second | If higher throughput is necessary, please contact technical support. | | Max message processing time | 24 hours | If a message was retrieved by Server for processing but wasn't processed in that time it will be returned to the queue.| | Max messages in batch | 10 | The number of messages a Server task can retrieve and process in one run. | ===HEAD requests=== For any request made with the HTTP HEAD method, the Gateway always returns "OK" (200) without storing the message in the queue.