Give your SaaS the Power of Connectivity


Your customers ask for integrations.

With embedded integration capabilities, you have the freedom to create an interconnected network of apps around your SaaS with less development efforts


Build your own SaaS ecosystem

Your customers ask for integrations.

With embedded integration capabilities, you have the freedom to create an interconnected network of apps around your SaaS with less development efforts

Embedded Integration Platform
Embedded Integration Platform - Customer Logo - AppDirect
Embedded Integration Platform - Customer Logo - Mambu
Embedded Integration Platform - Customer Logo - Riversand
Embedded Integration Platform - Customer Logo Mobile - AppDirect
Embedded Integration Platform - Customer Logo - Mambu
Embedded Integration Platform - Customer Logo Mobile - Riversand

Power up your SaaS with embedded integration

  • FULLY CUSTOMIZABLE

    Our backbone, your brand, your looks: UI, support, docs, and more

  • CLOUD-NATIVE

    Ensure the continuous exchange of data with no risk of downtime

  • ADAPTABLE TO YOUR NEEDS

    Full freedom to create your own connectors for third-party apps

  • WHITE-LABEL OR EMBED

    Integrations, flows and users can be created directly via iPaaS API

  • FULL SUPPORT AND SLA

    2nd level support and enterprise-grade SLA are included by default

Add embedded integration capabilities to your SaaS product
sdk
                                                 
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
                                                
const request = require ('request-promise');
/**
* This method will be called from elastic.io with following parameteers
*
* @param msg incoming message object that contains ``body`` with payload
* @param cfg configuration that is account information and configuration field values
*/
async function process (msg, cfg) {
   console.log ('You stdout will be safe with us');
   const user = await request.get (`https://api.github.com/users/${msg.body.user}?length=${cfg.pageSize}`);
   const repos = await request.get (user.repos_url);
   console.log (`Fetched ${repos.length} repos`);
   return { repos };
}

module.exports.process = process;
                                            
                                          
                                                
public class CreateCustomerAction implements Module {

    private static final Logger logger = LoggerFactory.getLogger(CreateCustomerAction
            .class) ;

    @Override
    public final void execute (ExecutionParameters parameters) {
        // This is an incoming message
        final Message message = parameters.getMessage() ;

        logger.info("Received message {}", message) ;

        // This is outgoing result
        final JsonObject body = Json.createObjectBuilder()
                .add("message", "hello world")
                .build() ;

        final Message data = new Message.Builder().body(body).build() ;

        // Sending it to the next integration step
        parameters.getEventEmitter().emitData(data) ;
    }
}

       

                                                
                                            
                                                

Coming soon.

                                                
                                            
integration management api
                                                 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
                                                
curl https://api.elastic.io/v2/flows \
   -u {EMAIL}:{APIKEY} \
   -H 'Accept: application/json' \
   -H 'Content-Type: application/json' -d '
    {
      "data": {
        "type": "flow",
        "attributes": {
          "name": "Timer to E-Mail",
          "type": "ordinary",
          "graph": {
            "nodes": [
              {
                "id": "step_1",
                "command": "elasticio/timer:timer",
                "fields": {
                  "interval": "minute"
                }
              },
              {
                "id": "step_2",
                "command": "elasticio/email:send"
              }
            ],
            "edges": [
              {
                "source": "step_1",
                "target": "step_2",
                "config": {
                  "mapper": {
                    "to": "[email protected]",
                    "subject": "Test",
                    "textBody": "{{fireTime}}"
                  }
                }
              }
            ]
          }
        }
      }
    }'

                                                
                                            
                                                
curl https://api.elastic.io/v2/users \
   -X POST \
   -u {EMAIL}:{APIKEY} \
   -H 'Accept: application/json' \
   -H 'Content-Type: application/json' -d '
    {
        "data": {
            "type": "user",
            "attributes": {
                "first_name": "John",
                "last_name": "Doe",
                "email": "[email protected]",
                "password": "secret",
                "company": "Doe & Partners"
            },
            "relationships": {
                "organizations": {
                    "data": [
                        {"id": "54f4be3fe7d5224f91000001"}
                    ]
                }
            }
        }
    }'

                                                
                                            
                                                
curl https://api.elastic.io/v2/flows/{FLOW_ID}/start \
   -X POST \
   -u {EMAIL}:{APIKEY} \
   -H 'Accept: application/json' \
   -H 'Content-Type: application/json'


                                                
                                            
  • FULLY CUSTOMIZABLE

    Our backbone, your brand, your looks: UI, support, docs, and more

  • CLOUD-NATIVE

    Ensure the continuous exchange of data with no risk of downtime

  • ADAPTABLE TO YOUR NEEDS

    Full freedom to create your own connectors for third-party apps

                                                     
     1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
                                                    
    const request = require ('request-promise');
    /**
    * This method will be called from elastic.io with following parameteers
    *
    * @param msg incoming message object that contains ``body`` with payload
    * @param cfg configuration that is account information and configuration field values
    */
    async function process (msg, cfg) {
       console.log ('You stdout will be safe with us');
       const user = await request.get (`https://api.github.com/users/${msg.body.user}?length=${cfg.pageSize}`);
       const repos = await request.get (user.repos_url);
       console.log (`Fetched ${repos.length} repos`);
       return { repos };
    }
    
    module.exports.process = process;
                                                
                                              
                                                    
    public class CreateCustomerAction implements Module {
    
        private static final Logger logger = LoggerFactory.getLogger(CreateCustomerAction
                .class) ;
    
        @Override
        public final void execute (ExecutionParameters parameters) {
            // This is an incoming message
            final Message message = parameters.getMessage() ;
    
            logger.info("Received message {}", message) ;
    
            // This is outgoing result
            final JsonObject body = Json.createObjectBuilder()
                    .add("message", "hello world")
                    .build() ;
    
            final Message data = new Message.Builder().body(body).build() ;
    
            // Sending it to the next integration step
            parameters.getEventEmitter().emitData(data) ;
        }
    }
    
                                                        
    
                                                    
                                                
                                                    
    
    Coming soon.
    
                                                    
                                                
  • WHITE-LABEL OR EMBED

    Integrations, flows and users can be created directly via iPaaS API

                                                     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
                                                    
    curl https://api.elastic.io/v2/flows \
       -u {EMAIL}:{APIKEY} \
       -H 'Accept: application/json' \
       -H 'Content-Type: application/json' -d '
        {
          "data": {
            "type": "flow",
            "attributes": {
              "name": "Timer to E-Mail",
              "type": "ordinary",
              "graph": {
                "nodes": [
                  {
                    "id": "step_1",
                    "command": "elasticio/timer:timer",
                    "fields": {
                      "interval": "minute"
                    }
                  },
                  {
                    "id": "step_2",
                    "command": "elasticio/email:send"
                  }
                ],
                "edges": [
                  {
                    "source": "step_1",
                    "target": "step_2",
                    "config": {
                      "mapper": {
                        "to": "[email protected]",
                        "subject": "Test",
                        "textBody": "{{fireTime}}"
                      }
                    }
                  }
                ]
              }
            }
          }
        }'
    
                                                    
                                                
                                                    
    curl https://api.elastic.io/v2/users \
       -X POST \
       -u {EMAIL}:{APIKEY} \
       -H 'Accept: application/json' \
       -H 'Content-Type: application/json' -d '
        {
            "data": {
                "type": "user",
                "attributes": {
                    "first_name": "John",
                    "last_name": "Doe",
                    "email": "[email protected]",
                    "password": "secret",
                    "company": "Doe & Partners"
                },
                "relationships": {
                    "organizations": {
                        "data": [
                            {"id": "54f4be3fe7d5224f91000001"}
                        ]
                    }
                }
            }
        }'
    
                                                    
                                                
                                                    
    curl https://api.elastic.io/v2/flows/{FLOW_ID}/start \
       -X POST \
       -u {EMAIL}:{APIKEY} \
       -H 'Accept: application/json' \
       -H 'Content-Type: application/json'
    
    
                                                    
                                                
  • FULL SUPPORT AND SLA

    2nd level support and enterprise-grade SLA are included by default

Should you focus on retaining existing customers with integrations they request for or rather on attracting new customers with new functionalities and features?

With a low-code, easy-to-use and powerful integration platform embedded in your application, you can do both.

Should you focus on retaining existing customers with integrations they request for or rather on attracting new customers with new functionalities and features?

With a low-code, easy-to-use and powerful integration platform embedded in your application, you can do both.

Reduce customer churn with Embedded Integration

REDUCE CUSTOMER CHURN

Providing a stellar API is like equipping your customers with first-grade tools and wood to build their own furniture. Why not give them easy IKEA instead?

Keep your costs at bay with Reduce customer churn with Embedded Integration

KEEP YOUR COSTS AT BAY

Your customers are precious, but so are your development resources. Reduce your overhead with an out-of-the-box integration infrastructure.

Increase product adoption with Embedded Integration

INCREASE PRODUCT ADOPTION

Think ahead of your customers. Know how they use your product and build new features and services to better tailor it to their business needs.

Give your Saas integration superpowers


Talk to an Expert

Give your Saas integration superpowers


Talk to an Expert

For SaaS providers, owning the integration infrastructure is a matter of competitive advantage – not just an offer of completeness.

Massimo Pezzini
Vice President and Research Fellow at Gartner

Read the embedded integration case study