Documentation

{{docApp.title}}

{{docApp.description}}

INDEX

Documentation Library

Search for information on Hornbill Documentation.

{{docApp.searchError}}

{{docApp.searchResultFilteredItems.length}} results for "{{docApp.currentResultsSearchText}}" in {{docApp.searchFilterBySpecificBookTitle}}

Have questions about this site?


What is this site?

  • This website is Hornbill's new product documentation website and is currently under development.
  • It is intended that all existing and future public-facing documentation we produce will be available to search, browse and share.
  • Hornbill's current documentation is available at Hornbill Wiki but over time this content will be migrated to this documentation site.
  • Please feel free to have a look around at any time.

Why has Hornbill created this site?

  • Hornbill's products have moved on considerably since we introduced it almost 10 years ago. At the time, the MediaWiki tool was sufficient, but we have outgrown it.
  • Our customers are more enterprise focused and more self-sufficient than ever before, so for 2023 and beyond we have established a new documentation platform and team to drive our documentation initiative forwards.
  • We are aiming to deprecate the use of Hornbill Wiki for most Hornbill related documentation.
  • We want to enable our growing partner network with product resources and information, documentation beyond our Wiki approach is required.
  • We could definitely do with some help, and may even pay for some! If you have domain knowledge and would like to help, please check out our Hornbill Docs Contributor Guide and contact the Hornbill docs team at docs@hornbill.com.

What will this site be good for?

  • Community contribution will be facilitated, encouraged, and most welcome.
  • High quality documentation, will be kept up to date as rapidly as our products evolve.
  • Real-time content search and discovery.
  • Articles organized into books, books into libraries, creating a more natural and logical structure to our documentation.
  • Legacy API documentation and various other documentation sources will all be consolidated into a single unified documentation system.
  • Documentation available in browser as well as printable/viewable as PDF on demand.
  • Personalized documentation experience, allowing dark/light mode, article subscriptions, social media sharing and other useful features.
  • Almost all publicly available documentation on docs.hornbill.com will be open-source and available to fork on GitHub, allowing customers to derive their own custom documentation around Hornbill products should they wish to.

What is the timeline for this site?

  • We have taken the decision to publish and make available early, there is very little content at this time.
  • As and when we have completed/usable documentation, it will be published here.
  • We have a host of additional features we wish to add over time, so please watch this space.
  • We expect most of our existing documentation should be reviewed/migrated to docs.hornbill.com over the coming months.
  • The documentation project will be ongoing, will continue to expand, evolve and improve day-by-day.

{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}

{{docApp.libraryHomeViewProduct.description}}

  1. {{book.title}}

{{group.title || group.id}}

{{group.description}}

  1. {{book.title}}

{{group.title}}

Request Variables

As a process designer it is beneficial to have access to and use variables in your process nodes for varying purposes, it could be to insert answers from progressive capture questions into the summary, description or custom fields of a request, to branch and make decisions in your process based on the site of the request customer, or the outcome to particular tasks. You may even want to add details into a task or authorisation details field which is made up of details from the parent request, progressive capture answers or related entities (Customer, Service, Organization etc), or you may simple want to assign tasks and authorisations to variables such as a requestors owner.

In all these examples and many more there is a need in the designer to be able to insert these variables into the relevant fields on the different business process forms

Using Variables

It is possible to both manually add variables to node fields and also use the Variable Picker to inject variable values into node fields. Please follow the link in the related articles section to learn more about using the variable picker.

When working with variables it is important to understand what you can use, when and how.

In many business process node fields there will be the option to use variables, the nodes include:

  • Human Tasks
  • Custom Expressions following Decision nodes
  • Integration Calls
  • Automated Tasks
  • Authorisations

The key consideration when looking to add variables into a field, or use a variable to make a decision in the process node, is do I have the variable information available to me, preceding the node I want to use it in? By this I mean have I used the Automated Task > Requests > Get Request Information nodes to load the required variables into my process, this could be:

  • Request Details
  • Customer Details
  • Organization Details
  • Progressive Capture Answers (please note: this is limited to the first 200 question & answer combinations)

Or is the node preceded by a task off which I want to branch from or another integration call node with output values.

If you have included the relevant nodes before a node in which you want to use a variable then you can then either use the Variable Picker or in some cases manually add the variable in a field.

Once you have added the variables to the node fields they will display like: &[global[“flowcode”][“summary”]]

Once the request runs and the variables are added to displayed request fields, task descriptions etc they will appear as shown in the image opposite

Variables in Custom Expressions

In the same way as injecting variable values into node fields, you may also want to use variables to help with decisions and branching in your processes.

Here the same rules apply and you would need to ensure you have the relevant nodes preceding any decision node off which you wanted to evaluate variables to branch your process flow.

On the lines out from a decision node, you can use the Custom Expression option and then use the Variable Picker to select which variable you want to evaluate and either use a static or variable for the answer you are looking for to folow that path in your flow.

Manually Adding Variables

Hornbill have provided the Variable Picker to make the adding of variables easier, however if you wanted to manually add variables then the below will provide the format which can be used.

  • Request Details Variable: &[global[“flowcode”][“summary”]] or &[global[“flowcode”][“customFieldA”]]
  • Service Details Variable: &[global[“flowcode”][“serviceName”]] or &[global[“flowcode”][“customA”]]
  • Customer Details Variable: &[global[“flowcode”][“jobTitle”]] or &[global[“flowcode”][“custom1”]]
  • Organization Details Variable &[global[“flowcode”][“industry”]] or &[global[“flowcode”][“custom2”]]

Request variables are fairly self explanatory, and a list is provided below. Answer variables are specific to the Custom Form defined in the Get Request Information > Progressive Capture Answers node specified before the node you wish to use them in, and can be included simply by referencing them as follows:

  • &[functions.pcf(“Application_Access”,“field_2”)] - Where in this case Application_Access is the custom form name and field_2 is the specific question name on the custom form (if you have renamed the default field names on the custom from from field_2 for example to anything else, then you would need to use the new field name here.

List of Available Request Details Variables

&[global[“flowcode”][“assignedTeam”]]
&[global[“flowcode”][“authorisation”]]
&[global[“flowcode”][“closureCategory”]]
&[global[“flowcode”][“customer”]]
&[global[“flowcode”][“customerCompany”]]
&[global[“flowcode”][“customerManager”]]
&[global[“flowcode”][“customerPrimaryEmail”]]
&[global[“flowcode”][“customerPrimaryPhone”]]
&[global[“flowcode”][“customerSecondaryEmail”]]
&[global[“flowcode”][“customerSecondaryPhone”]]
&[global[“flowcode”][“dateLogged”]]
&[global[“flowcode”][“description”]]
&[global[“flowcode”][“impact”]]
&[global[“flowcode”][“loggingCategory”]]
&[global[“flowcode”][“owner”]]
&[global[“flowcode”][“ownerId”]]
&[global[“flowcode”][“priority”]]
&[global[“flowcode”][“requestId”]]
&[global[“flowcode”][“resolution”]]
&[global[“flowcode”][“service”]]
&[global[“flowcode”][“source”]]
&[global[“flowcode”][“site”]]
&[global[“flowcode”][“status”]]
&[global[“flowcode”][“summary”]]
&[global[“flowcode”][“timeLogged”]]
&[global[“flowcode”][“urgency”]]
&[global[“flowcode”][“withinFixTime”]]
&[global[“flowcode”][“withinResponseTime”]]
Plus custom fields in the format : &[global[“flowcode”][“customFieldA”]]

In This Document