Our usual Feature Alerts are almost exclusively about new or improved features and functionalities of the elastic.io platform. Yet integration components are what makes any integration platform as a service a true magic wand in the hands of integrators.
That is why we decided to dedicate one complete Feature Alert to new and updated integration components only. Below you will find all the integration components and their updates that we released in January and February 2017.New Integration Components released
New Integration Components released1
MS Office 365 Outlook
This component is there for you to “talk” to the Office 365 Outlook. Whether you need to sync your Outlook contacts with your Salesforce, or automatically add events in your calendar after a Broadsoft call, this component can help you out.
CONTACTS: Polls your contacts in Outlook and delivers new/updated one to a system of destination. Uses OAuth2 for authentication and new Microsoft Graph API.
CREATE EVENT: Creates an event in a calendar of your choice, for example from a call in BroadSoft, via a Webhook, from your CRM system or even from another integration flow.
Wonder how to use this component on the elastic.io integration platform? Check this GitHub article for details.
You can use this component to work with PostgreSQL object-relational database management system on the elastic.io integration platform. In addition, this component also works well with AWS Redshift.
SELECT: Executes an SQL query that returns multiple results (as a trigger). Best suited for the ‘select’ type of queries. You can stream as many records as you’ll find in your database. You can also use data from incoming messages to form your SQL queries. Apart from that you can choose if you want records to be bundled in batches or just streamed one after another.
SELECT: Executes an SQL query that returns multiple results (as an action).
INSERT/UPDATE/DELETE: Executes the SQL query that returns no data, e.g. insert, delete or update. After the query is executed, the original message is pushed to the next component in the line. Here you can use data from incoming messages to ‘write’ them to your DB. And be sure, everything parameter is SQL-Injection safe, thanks to the amazing pg npm module.
Learn about the specifications of this component in our GitHub documentation.
With the help of this component, you can easily work with XML data, transforming it to or from JSON.
XML to JSON: Takes incoming XML (from the message property) and transforms it to the easy-to-handle JSON, allowing you to connect two different worlds (XML and JSON / old and new).
JSON to XML: Transforms JSON to XML data – reverse process to the one described above.
Learn more about the elastic.io XML component, for example how to use it with the XSD Schema, in this GitHub article. Additionally, you can refer to the dedicated articles in our Documentation, for example starting with General rules of processing XML data.
This is a Publish / Subscribe component for asynchronous communication with queues and topics. In other words, this component is the implementation of the integration pattern Publish/Subscribe. It is also very helpful when it comes to working with RabbitMQ. All messages that are sent and received by this component are automatically encrypted/decrypted with the same algorithm as all native elastic.io messages. Optionally, you may disable encryption.
CONSUME: Consumes messages from a queue on an AMQP server. You can specify how queue is bound to topic exchange e.g. by routing key filter.
PUBLISH: Publishes messages to an amqp topic exchange. You can specify the routing key for your message so that filtering/routing will be possible.
To learn more about the component, check out the dedicated article on GitHub.
The Petstore integration component, available both in Node.js and Java, is the new sample project, a first step of the development of any custom integration components. You can consider it as sample component or a blueprint with a basic integration component’s architecture that serves ideally as a template for new connectors.
Petstore replaces the previous sample component called Hello World, showing you advantages of a new sailor version so that you can take advantages of new features like:
- for Node.js
- new lifecycle methods support (init & startup)
- ES2016 support
- A/Promises – you can now return promises for all elastic.io methods
- Improved logging
- for Java
- new lifecycle methods support (init & startup)
- use of new JSONB
- other improvements
If you would like to learn more on how to use Petstore for building your own integration components, you can visit our GitHub documentation. Choose between Petstore for Java and Petstore for Node.js.
Planning a webinar and using multiple lead generation channels? Then you can use this GoToWebinar component to add participants should they have signed up for the webinar via your web form or per email. This component allows you to easily “talk” to the Citrix GoToWebinar API.
ADD PARTICIPANT: Adds a new registrant to a given webinar event that was set up with GoToWebinar. This could be helpful if you would like to automatically add registrations to the Webinar.
If you want to learn how to use Citrix GoToWebinar with elastic.io, go to the GoToWebinar component’s GitHub page.
This is another Publish / Subscribe integration component, which allows you to connect to the Google Cloud Pub/Sub, a fully-managed real-time messaging service that allows you to send and receive messages between independent applications.
It can be used in a variety of scenarios, for example, you can subscribe a downstream service to receive notifications about each new user signup on a given service. Or you can implement asynchronous workflows, and so much more.
SUBSCRIBE: Create a subscription to a topic to receive messages from it.
PUBLISH: Creates and sends messages to a topic.
Learn more about the Google PubSub integration component.
This is simply an integration component for Microsoft SQL Server to be used with the elastic.io integration platform.
SELECT: Fetches data from the database (as a trigger) using the user-specified SELECT query. Here you can be sure that all data will be fetched, independent of the number of records. Thanks to the awesome mssql npm module that will stream results.
SELECT: Fetches data from the database (as an action). Same as above, but you can also use incoming message data inside your SQL query.
INSERT/UPDATE/DELETE: Allows to do the operations that are not producing output rows but do the database manipulations, e.g. INSERT, UPDATE or DELETE statements. You can use the incoming message data for your query, and be sure all is SQL-Injection safe.
Learn more about the MS SQL component.
What makes this component very useful to integrators is that you not only can filter data with it, but you can send the data that doesn’t fit (in other words, gets rejected) to some other integration flow (aka. fork). Please take into consideration that only those integration flows that start with a webhook can be selected as a reject flow.
Learn more about how to use the Filter component with reject flows in our GitHub documentation.
Updated Integration Components1
The Mapper component is the heart and sole of elastic.io. Ok, that is a bit of an exaggeration, but in the end, Mapper is what allows you to effectively map data between two “main” integration components, and hence – between two applications or systems, for example between the Magento and Salesforce. It also allows for data transformation, for example, transferring all data from the field “Last Name” in one system into the field “Surname” into the other system.
- First, the Mapper in the new integration flow designer is integrated organically into the setup process of each integration component.
- Secondly, and that is most interesting, the updated Mapper supports hierarchical visualization of the input and output schemes (check the GIF above).
Some more details about the mapper component can be found on this page on GitHub.
As the name of this integration component suggests, it helps you to connect the MailChimp with another application of your choice, or the other way round.
Component’s update: Migrated to the new MailChimp API version 3.0
ADD NEW SUBSCRIBER: Adds a new subscriber e.g. from a web form into a given list in MailChimp
UPSERT CUSTOMER: Upserts information about a given subscriber in a list of your choice.
UNSUBSCRIBE: This action unsubscribes a user from a given list.
Learn about the specifications of this integration component in our GitHub documentation.
The Request-Reply integration component, also sometimes referred to as HTTP Reply, makes your webhooks reply with the data produced inside your integration flows, ultimately speeding up the data processing massively. With this new feature, you can even build your own APIs on top of the elastic.io integration platform as a service.
Component’s update: New visualization in the new integration flow designer, and improved support for non-json response payload.
Deprecated Integration Components1
The Hello World component used to be the template we provided for creating custom integration components in Java and Node.js.
Since the release of the Petstore component, which has the same function and is better in several ways, there is no need in keeping the Hello World component, hence the deprecation.
What to expect in the coming weeks
In March, among other things, we are going to issue some updates for a number of our existing integration components, among which are planned: Salesforce, Amazon MWS, Magento, Microsoft Dynamics CRM and Microsoft Dynamics ERP (Navision).
Stay tuned for more info!