Extensibility

Integrify® has an extensible architecture with multiple ways of integrating Integrify® into your environment. With Integrify® 5.0, you can customize your process and workflows as much as you like and insert your own managed code at any point in your process or when your form loads or saves.

Integrify® 5.0 is capable of integrating process tasks into your existing dashboard or portal. A service oriented architecture (SOA) built around REST web services and AJAX technology, Integrify® 5.0 will open up programmatic access for custom applications while providing a widget code-export feature that allows Web developers to easily copy and paste Integrify® Widgets to any existing web or intranet page.

REST API

The entire process engine is securely exposed through the Integrify® REST API, opening up opportunities for customers and partners to create their own applications that incorporate workflow, forms and processes from the Integrify® system. For web developers familiar with HTML and JavaScript, the Integrify® JavaScript API provides them the ability to embed Integrify® widgets in their web sites and applications by pasting a few lines of code. Common uses such as embedding Integrify® Task Lists in a customer’s Microsoft SharePoint Portal are now easier than ever.

See examples of form widgets on websites or intranets:


Plugin Architecture offers extended functionality

The Plugin Extensions allow for in for in-process, bi-directional integration with external systems.

The Task Plugin architecture allows Integrify® and partners to create custom application logic that can be executed at any point in a process. The plug-ins can be completely automated or can present user input screens as part of their execution. The plugins also may present an interface to administrators for configuring initialization properties. Finally, the plugins can capture and expose data to the rules engine, allowing the workflow to adjust its course based on any number of data points. The Plugin Architecture offers extended functionality in order to:

Outline of Plugin Architecture

The Integrify® product is built upon an extensible architecture that enables clients to add additional/custom functionality that is beyond the scope of the core Integrify® product line. This custom functionality is added via Integrify®'s Plugin API which enables clients to build custom tasks that are executed with the execution plan of a process by Integrify®'s workflow engine. An Integrify® plug-in can essentially do anything a programmer has the ability to write:

  • Push or pull data between Integrify® and other systems
  • Integrate with existing databases
  • Leverage existing information in Excel
  • Update internal systems
  • Capture and expose data to the rules engine, allowing the workflow to adjust its course based on any number of data points

As a process executes (as defined in Integrify® and stored in the database), the Integrify® Workflow Engine will evaluate a custom plug-in within the scope of the process that it has been defined. The plugin will act as a task in a process; allowing customers to reduce manual entry when updating systems or pulling information into a process for routing purposes. In addition, a plugin has access to all data within the scope of the process that it is executing, e.g. Form Data, Requester Information, etc.

Below are the available Plugins that can be added to the core Integrify® product:

Database Push Plugin

Push data gathered within an Integrify® process directly into:

  • HR/Payroll
  • Data warehouse
  • Any relational database (i.e. PeopleSoft, SAP, etc).

For example, customers can eliminate manual data entry between systems by extracting data from an activity in a process and update their HR/Payroll system.

Database Pull Plugin

Pull data from external systems into a form within Integrify®. Works with:

  • HR/Payroll
  • Data warehouse
  • Any relational database (i.e. PeopleSoft, SAP, etc).

Define tasks and routing rules based on any piece of data from external systems or Integrify® itself. Save time and effort normally spent reviewing information residing outside a process and performing manual data entry.

Excel Plugin

Leverage existing work and harness the power of Excel on the users' desktop while utilizing Integrify® to manage the workflow often associated with capital expenditures, expense reports, or similar financial functions.

Through Integrify®'s intuitive process definition interface, Process Administrators can build a process that enables the users to:

  • Upload an Excel spreadsheet into a process
  • Define business rules based on data within the cells of the uploaded Excel document.
  • Use the Excel data to define approval routing rules within the process.
  • Dynamically assign approvers based on excel data
  • Incorporate Excel data along with process information within Integrify® reports

Web Service Plugin

Configure processes to post data to a web service as a SOAP message or to a parameterized query string, allowing Integrify® to push data to other systems. The result of the post can determine the path of a workflow. At any point in an Integrify® process, customers can:

  • Push or pull data to and from external systems (Remedy, Salesforce, SAP, etc)
  • Instantly (or on a scheduled bases) confirm data receipt and pass back additional information
  • Spawn additional tasks in the Integrify® process based on successful data transfer

Dynamic Assigner Plugin

Combine the power of SQL with Integrify®'s unique ability to flexibly assign one-to-many approvers. Often, the person with the permission to approve a request will vary based on characteristics of the request. For example, a given financial requests could be routed to different approvers based on:

  • Region
  • Dollar Amount
  • Order Type

With the Dynamic Assigner plugin, rather than try to constantly maintain groups of individuals and assign to various tasks, the Process Administrator can use the values from the form (type and region in this case), build a SQL statement that dynamically retrieves the appropriate individual (s) and assign the work order to those individuals.

Open URL Plugin

Processes can be configured to present a task that launches a new browser window to a remote or internal URL. This URL can contain parameters and data from the request. For example, if you have a process that involves tracking shipment information, a process could be defined to pick up a tracking ID from a request and present a link to the shippers website with the tracking number in the URL. This would give the user 1-click access to current shipping details.

Grid Task Plugin

The Grid Task enables bi-directional capability to display, enter and update multiple database table records via a spreadsheet-like interface. This includes robust integration enabling:

  • Users to dynamically update existing database information
  • Data to be pulled into the grid for display and updates
  • Users to add new records to a database
  • Process rule configuration based on data from the grid

Excel Batch Plugin

Use the Excel Batch Plugin to trigger multiple requests based on the number of rows containing content in an Excel spreadsheet. Through Integrify®'s intuitive process definition interface, Process Administrators can build a process that enables the users to:

  • Upload an Excel spreadsheet into a process
  • Configure the Excel Batch plugin to trigger a process in Integrify®.
  • Use the Excel data to define approval routing rules within the process.
  • Dynamically assign approvers based on excel data.
  • Use for spreadsheets that contain a list of items that need to have a new request started for each. For example, a list of employees that need updating will trigger a unique request with approvals for each employee.

Dynamic Notification Plugin

The Dynamic Notification plugin allows for general email notifications to be dynamically sent based on email addresses provided in a form. This allows for instances where email notifications need to be sent to individualsthat do not have login access to the Integrify® system, opening it up to notify vendors, partners and the public. The email notifications can also be configured to include any process data you wish (form information, etc.).

SharePoint Upload Plugin

The Integrify® SharePoint Plugin allows organizations to upload a file that is submitted through a file attachment question on an Integrify® form to the specified document library (and folder) in SharePoint.

PDF Generator and Merge Plugins

Populate a PDF with data from an Integrify® process. The PDF Generator task allows you to output data captured from within a process into a PDF. An example would be creating a PDF contract with approved terms that were submitted in an Integrify® process. The resulting PDF could then go to internal or external users for review. The PDF Merge plugin creates a new PDF by merging up to 5 PDF documents that are either generated by a PDF Generator task and/or attached within a form in a process.

Command Line Plugin

New task type to trigger an external application from an Integrify® process. Pass parameters containing any workflow data and capture the output of the application, batch file or command script triggered.

The Integrify® Web Service

A standalone web service encompassed within the Integrify® web application. The web service layer allows other applications to:

  • Initiate a workflow
  • Get lists of tasks
  • Complete tasks
  • Update process statuses
  • Conduct other bi-directional activities

Any data passed into the workflow from an external system is exposed to the rules engine which can influence the path through the workflow.

The Integrify® Web Service essentially acts as a user in the system that is executing a task. By allowing this real-time processing it removes the need for an additional Task Processing engine to monitor/queue responses which is often a failure point in many systems.

In addition to being able to complete tasks within a process, the Integrify® Web Service enables a Process Administrator to define a task within a process that starts a process.

Integrify® Widget Architecture

Integrify® v 5.0 offers increased flexibility for Business Process Management (BPM), including the introduction of the Integrify® Widget Architecture.

An Integrify® widget enables you to provide information to the user or a have them complete a task. Examples include:

  • Embed "My Assigned Tasks" on a portal.
  • Put a Report widget on a portal.
  • A potential client fills out a "Contact Me" form on an internet web site.

Available Integrify® Widgets include:

  • My Latest Open Tasks (all or latest 5)
  • My Latest Submitted Requests (all or latest 5)
  • My Priority Tasks (Tasks flagged with a high, medium or low priority)
  • My Profile (Options for managing your profile)
  • Start a Request (Browse by Categories or by Search)
  • Metric Reports (displaying bar, line or grid charts that represent either task assignments by user, the # of requests submitted by a time range, open and completed tasks, the status of a user's tasks across all processes and task durations for a given process)
  • Todays Messages (Announcements, Alerts and Tips defined by the administrator)

Note: Additional custom widgets that are needed can be created by Integrify®'s Services Group upon request.

Integrify Lean BPM for SharePoint

As the prevalence of SharePoint for Content, Collaboration and Document Management continues, Integrify has responded with several dynamic integrations between the Integrify Lean BPM system and Microsoft's SharePoint.

Best of Breed Approach

Integrify provides a unique combination of both robust process management and ease-of-use that can handle many of the more complex process requirements that become too difficult to manage with SharePoint's limited and often cumbersome workflow capabilities. Integrify's latest SharePoint API Kit and SharePoint Plugin are designed to extend the capabilities of your existing Microsoft Office SharePoint Server 2007 or 2010 system with the enterprise BPM capabilities offered by Integrify. Now, customers looking to leverage the collaborative, ad-hoc nature of a SharePoint site and its document management tools can experience the best of both Integrify's Lean BPM and what SharePoint does best – Content and Document Management.

The Integrify SharePoint Kit allows organizations to:

  • Configure processes to kick off as documents arrive into SharePoint or as other events occur (e.g. check-in, check-out, or create versions). This sample Windows Service scans the SharePoint document library and initiates new Integrify requests when new files are added to the specified folder in SharePoint.
  • Embed Integrify web parts such as a list of open tasks or an Integrify form into a SharePoint dashboard, allowing users to easily track process performance, handle tasks, and escalate actions from their Microsoft SharePoint dashboard.

The Integrify SharePoint Plugin allows organizations to:

  • Upload a file that is submitted on an Integrify form through a file attachment question to the specified document library (and folder) in SharePoint


Integrify API Kit - SharePoint Integration Sample Projects

The Integrify API SharePoint Integration Samples are a set of 3 .NET projects that contain SharePoint Web Parts and other examples of integration between SharePoint and Integrify. Specifically, the "IntegrifySharePointSamples" solution contains:

  • Integrify Web Parts. For example, you can use 3 SharePoint Web parts: IntegrifyRequestList, IntegrifyTaskList and IntegrifyForm. The IntegrifyForm works with the Integrify Form Display project to create a web part that displays within SharePoint an Integrify Form.



    The IntegrifyRequestList Web Part displays, via the Microsoft DataGrid, a list of Integrify requests made by the specified user. Clicking on links in the DataGrid will open the corresponding request in the Integrify portal.



    The IntegrifyTaskList Web Part displays, via the Microsoft DataGrid, a list of Integrify tasks made by the specified user. Clicking on links in the DataGrid will open the corresponding task in the Integrify portal.
  • Integrify Form Display. This project is a web application that uses the Integrify API to display an Integrify form. It is called by the Integrify Form web part. It is similar to other examples provided in the standard Integrify API samples.



    All web parts are configured by configuration files and/or SharePoint settings where applicable.
  • SharePoint Library Monitor. This sample Windows Service scans the SharePoint document library and initiates new Integrify requests when new files are added to the specified folder in SharePoint. It is configured via a configuration file.


Upload To SharePoint Task Type

This Plugin task type will upload a file that is submitted in a file attachment question on an Integrify web form to the specified document library (and folder) in SharePoint.

Configuration of the SharePoint Upload Task Type:

  • Form containing file to upload: The Form in the process that contains the file attachment question that will be uploaded to SharePoint.
  • Form question that contains the file to upload: The file attachment question on that form that will be uploaded to SharePoint.
  • SharePoint Destination Folder: Existing folder in SharePoint into which file should be uploaded.
  • SharePoint User Name, Password, Domain: This is connection information for connecting to SharePoint. The file is uploaded as this user.

SharePoint before the completion of the Integrify SharePoint Upload task:

SharePoint after the completion of the Integrify SharePoint Upload task:

Integrify task history reflecting the upload to SharePoint: