Collaborat​ion

Domino V10 is Open and Easy to Integrate

Share this post:

We promised during The World Premiere of Domino V10 in Frankfurt on October 9 this year that we would provide access to the code you need to integrate Domino with Salesforce, ServiceNow, Slack, and Office 365. We are doing that here.

Before we give you the code, however, let’s explain the business case that can be solved with each scenario.

During the live demos, we described a fictional story about how a company called Domino Toymakers was about to launch their new toy “10,” which was poised to be a major success in the toy industry. In order to be prepared for the upcoming demand, Domino Toymakers wanted to make sure all key applications were ready for the launch.

We explained how, in using ApplicationInsights, our developer persona “Karen” was able to identify the most critical applications, and how, while using IBM Domino Mobile apps, she was able to provide access to existing Notes applications via their iPad.

We also showed how business users were able to take advantage of the new capabilities included in Domino V10 in order to extend the value of their existing Domino apps. What follows are the specific use cases for the different integration points.

All the integrations explained in this article were developed using the new NotesHTTPRequest and NotesJSON LotusScript classes, so we recommend you become very familiar with them as they introduce a new world of possibilities in terms of extending and integrating your IBM Domino applications with other platforms and systems.

Using Salesforce to create an expense report

In our demos, when an expense report is created and associated with Customer Travel, the app presents the option to associate the current report with a Salesforce opportunity.

While we won’t cover every single line of code here, we want to highlight the key actions:

  1. We use Salesforce search API to build the query string
  2. We send a HTTP GET request using the query string as parameter as well as the Auth token
  3. Once we get the result, we use a NotesJSONNavigator object to store the JSON result and then to navigate through
  4. We focus on the Accounts value and after creating a NotesJSONArray object, we capture all the different accounts in the result
  5. Once we built a new array with all the accounts, we ask the user to select a specific account and submit an additional Salesforce Search request based on the account selected
  6. Using another NotesJSONArray object we capture all the Salesforce opportunities associated with that account
Click here for the complete code and details.

Running IBM Domino Apps inside Office365

Another important thing we demonstrated that you that can do now is run Domino applications as registered apps inside Office365. For this code, we got help from ISW, one of our great IBM Business Partners in Australia. You can read their complete explanation in this blog.

Integrating your IBM Domino Applications with MS Teams and Slack

IBM Domino Developers have always loved how they could connect Domino to other platforms using ODBC, LSX, JDBC and more. But now, we take these integration possibilities to the next level by making it extremely easy to connect with other platforms both inside and outside of their organizations. We show how Domino can also communicate with external platforms like MS Teams and Slack.

Think about your own business processes that are based on Domino and also how you can now easily talk to an unlimited number of external processes and trigger multiple actions, making interacting with external vendor systems, cloud providers and others easier than ever. Finally, we not only offer the possibility to connect to external systems but also the impressive ability for these systems to communicate back and manipulate Domino data. New in IBM Domino 10, you can now use Node.js and Domino Query Language to communicate back to Domino at amazing speeds and be able to act on Domino data using Node.js…. Yes — Node.js!

Stay tuned as we will cover our work with Node.js and DQL on our next blog.

As you navigate the code, please note the following structure:

  • When a sales quote is saved, based on the user selection (send message to) an agent will be triggered, establishing the connection with the external platform
  • We implemented the idea of demo profile document so the different demo users could create their own Slack/Teams channels and be able to perform demos without having all messages going to a single “hardcoded” channel or space. When looking at the code, please note the WebHook URLs and Tokens are coming from the Demo Profile documents.

See the full code available via these files:

Click here for the complete sales quote form code.

 

Click here for the complete code for sending a message to an agent.

 

Click here for the complete code for the workspace script library.

Custom UI for IBM Verse

Another thing that users were very excited about with Domino V10, is the ability to customize the UI for IBM Verse. Once IBM Verse OnPrem 1.0.5 is released, you will be able to follow the documentation and instructions needed to implement custom UI extensions. We are giving you a sneak peek and have made the .css used for the demos available here, so you are ready to go once IBM Verse OnPrem 1.0.5 is out.

Click here for the complete code and details.

Have fun with Domino V10. We are excited about all that it has to offer, as well as working with you to help make all future versions as great as they can be.

Please note: the code samples published above are being shared under the following license https://opensource.org/licenses/apache2.0.php and IBM will not provide any support. The code in this blog post was used for demos and not for a production application, so it has not been optimized for production usage. Use at your own risk. Feel free to contact me if you have any questions.

DISCLAIMER TEXT

Disclaimer – IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

WW Senior Certified Executive IT Specialist, IBM Collaboration Solutions

More stories
January 8, 2019

We’re Launching Domino Tech School

What a year it’s been! In the last few months we’ve released Domino V10 and delivered great, new capabilities for application developers, administrators, and business users. We’ve also been on a mission to educate the community on the possibilities of Domino V10 and share as much code as possible in webcasts and blogs — but […]

Continue reading

December 17, 2018

Get More Domino in December

There’s a lot to be excited about this Holiday Season with Domino. Here is what we are planning to deliver by the end of 2018 to make your Domino experience even better — so that Domino is the gift that just keeps on giving. First: IBM Domino App Dev Pack 1.0 eGA: Enables full-stack web […]

Continue reading

December 14, 2018

How to Access Domino V10 Using Node-RED

One of the most significant, game-changing features of the Domino V10 release is the ability for people to use the Node.js programming model. As part of this evolution, Domino V10 includes: the “AppDev Pack,” which is the server-side component that allows a Domino V10 installation to support a new set of APIs and the new […]

Continue reading