- Integrations at Your Fingertips
- System Integration Example with Rest APIs (Banner)
- System Integration Example using Middleware (PeopleSoft)
- System Integration Example using Reports as a Service (Workday)
- System Integration Example (Salesforce)
Integrations at Your Fingertips
Kuali has a rest API (Application Programming Interface) configuration tool that allows you to easily connect Kuali to your local systems (i.e. HR, Financials, Student, CRM, etc.). This means you can build out integrations to pull external information into Kuali or post information from Kuali to other systems at your institution. Whether that's pulling employee information from your HR system, course info from your Student system, or room/building information from your resource management system - the possibilities are endless! As long as your local system offers rest APIs, then Kuali can connect.
You can do that by creating an integration with your local system and then adding that integration to your form - more information on that can be found in the API Integrations for Advanced Gadgets article. Also, to get you started on your API journey with Kuali, you can see the Kuali API Documentation. Additional resources can also be found in the API Integrations section of the Knowledge Base. Below we go over some examples of connecting local systems to Kuali.
System Integration Example with Rest APIs (Banner/Ellucian)
The Banner student system (part of Ellucian) offers rest APIs that can be used to create an integration in Kuali. Kuali is an official Ellucian partner with verified integrations (more info here). Banner's API documentation can be requested from Ellucian directly, and if you're a customer you should have access to their documentation guides (they're not publicly published). Using these resources you can find the applicable endpoints and data references when creating an integration in Kuali.
For example, the Kuali integration below was set up to pull a student's major from Banner. The integration is a GET pointed to Ellucian's endpoint for the user profile, with associated auth to access Ellucian, and the appropriate identifiers needed in the Path to Results and ID/Label Key. In this example they were referencing the Curriculum Field of Study Table and majrDesc. And in the rest of the configuration it specifies what information is required for input to run the integration, header, and outputs of data that will be returned when the integration runs.
Once this integration is complete, you can add it to your form using either the Data Lookup (Single Item), Data Lookup (List), or Data Lookup (Multiselect) gadgets and select the newly created integration as the Data Source. So when a user is selected in the form, you could then pull this associated data for display automatically via the integration - you would just need that input rnumber somewhere in the form to populate as the input for the integration. More information can also be found in 'Add to Your Form' section of the API Integrations for Advanced Gadgets article.
System Integration Example using Middleware (PeopleSoft)
Often local systems (i.e. PeopleSoft and others) may not have APIs and would only be accessible via middleware to retrieve and send data. So rather than pointing directly to the system in the Kuali integration, you would point to the middleware endpoint used to create the job/stored procedure to access that local system. Some common middleware products that can be used for this purpose are Constituo, Boomi, and MuleSoft.
In the below example the customer is using Constituo middleware endpoints to run the stored procedure to pull the Supervisor of a given user (based on rnumber).
Once this integration is complete, you can add it to your form using either the Data Lookup (Single Item), Data Lookup (List), or Data Lookup (Multiselect) gadgets and select the newly created integration as the Data Source. So when a user is selected in the form, you could then pull this associated data for display automatically via the integration - you would just need that rnumber somewhere in the form to populate as the input for the integration. More information can also be found in 'Add to Your Form' section of the API Integrations for Advanced Gadgets article.
System Integration Example using Reports as a Service (Workday)
Workday offers a Report-as-a-Service (RaaS) option which allows you to expose custom Workday reports as web services, enabling seamless data extraction and integration with Kuali. By leveraging RaaS, organizations can access Workday data in JSON format that can then be utilized in a Kuali integration.
Steps in Workday:
- Create a Custom Report: In Workday, users create an advanced custom report.
- Enable as Web Service: The report is then configured as a web service within the report's settings.
- Access the Report: Once enabled, the report can be accessed via a unique URL.
- Integrate with External Systems: External applications can use this URL to retrieve the report data in the specified format (we recommend JSON). Within the url you'll have the configured search criteria fields to narrow down the desired results.
Steps in Kuali:
-
Create an Integration: Utilizing the workday URL from the above steps you can create an integration in Kuali so you can use that data in a form gadget. In the below example we're looking at Workday for a list of Sponsors:
Note: You must utilize basic authentication type for Workday RaaS integrations. Also, the search fields have to be configured as parameters on the Workday side and as query parameters on our side.You can utilize the 'Run Test' option at the bottom of the integration to ensure the typeahead works as expected and then save.
-
Add the integration in a form: Once you've created the integration you can add it to a form with an Advanced Lookup (Single Item), Advanced Lookup (List), or Advanced Lookup (Multiselect) gadget depending on how you've set up the integration. In this example, since we're getting a list of data items we'll add an Advanced Lookup (List) gadget to the form and point it to the newly create integration as the data source (with linked fields enabled to bring in the additional output information):
And once added in the form the end user will have a lookup with a typeahead to retrieve Sponsors for selection directly from Workday:
System Integration Example (Salesforce)
Salesforce is a CRM (Customer Relationship Management) system used by numerous institutions for a variety of use cases and you can connect it to Kuali forms. Below outlines the steps to configure and use SalesForce APIs to create integrations in Kuali Platform forms and workflows to leverage data between the two systems.
Create a Connected App in Salesforce
Please note what's required in the above:
- App Name, API Name
- Email Address
- Callback URL (required, not used)
- OAuth Scope - Full, API
- Enable Client Credentials Flow
Click on the Manage Consumer Details option on the newly created connected app:
Within you will be able to retrieve the Consumer Key and Consumer Secret:
These will be used within your console to connect to the Salesforce in conjunction with the integration user you assign to the connected app.
To assign an integration user you'll need to go to the Manage Connected Apps screen and click Edit on the newly created connected app:
Within the setup you'll select the information i icon next to the Run As 'Integration User' option within the Client Credentials Flow section to get the key:
And you can use the access token as a variable within the curl command and then list your objects to connect:
Use the Salesforce Connected App in Kuali
Now that you're connected you have multiple integration options to connect with your forms in Kuali.
REST Integration options:
- /sobjects/ - List all available object types
- GET
- /sobjects/<Object Type> - Interface into objects
- GET/POST/PATCH
- /query - Salesforce Object Query Language (SOQL)
- GET; Perform SQL-like queries
Salesforce Object Query Language (SOQL)
- SQL
SELECT Id, Name, StageName, Amount FROM Opportunity WHERE CloseDate > TODAY -
SOQL:
GET /services/data/v62.0/query?q=SELECT+Id,+Name+FROM+Account+WHERE+Type='Customer'
SQL / SOQL Comparison
-
The same:
SELECT, FROM, WHERE, AND/OR/NOT, = , IN, LIKE, ORDER BY, ASC/DESC, LIMIT, COUNT()/SUM()/AVG(), DISTINCT - Different:
<> ❌; != ✅
IS NULL ❌; = NULL ✅
* ❌
Salesforce Object Query Language (SOQL)
- Joins in SOQL:
SELECT Id, Account.Name, StageName, Amount FROM Opportunity WHERE CloseDate > TODAY
SOQL Example
Get A List of Objects:
Use the specific Object API to get details:
Adding the Salesforce Connection in your Kuali Form
In a Kuali App or Product you can then add in one of the below methods:
- Data Lookup (Multiselect) advanced gadget: SOQL
- Data Lookup (Single Item) advanced gadget: Object Type / Object ID
- Integration Step in Workflow - Object Type / Object ID
Some common use cases from Salesforce within a form:
- Applicant Lookup - via Data Lookup (Multiselect)
- Applicant Lookup - via Data Lookup (Single Item)
- Academic Term - via Data Lookup (Multiselect)
- Applicant Record - pull in via Workflow Integration
Comments
0 comments
Article is closed for comments.