Exo URL Protocol
You can open Exo Business records from a URL/hyperlink using the exo:// protocol. The link can be on a webpage, in an email, in a third-party application, or in Exo Business.
Exo Business grids support clickable URLs for the TEXT and NTEXT data types. Use them in Grid widgets to drill down to a URL to Exo Business records that support URLs.
Note: Clarity reports and widgets can use the FormatExoProtocolLink function to return an exo:// protocol link for a command and value. See the Exo Clarity Help for more information.
Setting Up the Exo URL Protocol
A separate application, exoprotocolhandler.exe, processes all Exo Business URLs. This application is installed with Exo Business, and must be present on all computers that use Exo Business URLs.
To set up support for Exo Business URLs, double click on this application to run it.
URL Format
This is the format of Exo Business URLs:
exo://[connection/]command[(#)][/][?param=value¶m=value...]
Each URL has these components:
- connection - the Exo Business database connection to use.
- command - the Exo Business procedure or window to launch.
- (#) - some commands enable you to open a specific record by entering the record’s ID number (SEQNO or ACCNO) in brackets. If an ID number is not supplied, the search screen for that type of record displays.
- ?param=value - some commands support additional parameters, such as a search string. Multiple parameters are separated with an ampersand (&).
You must specify a command. All other components are optional.
Supported Commands
Supported commands are listed in the table below. All commands open in the core Exo Business module, unless stated otherwise.
Note: Commands must be available as a menu item in a module. Users can't open windows that they would not normally have access to when using an Exo Business module.
Command |
Description |
activity(x) |
Opens the Activity record with the ID number x in the Exo Business Core module. |
campaign(x)/?search=xyz |
Opens the Campaign record with the ID number x in the Exo Business CRM module, or searches for the text specified by the ?search parameter. |
company/?search=xyz company/?find=xyz |
Opens the Company search window in the Exo Business Core module, searching for the text specified by the ?search or ?find parameter. |
contact(x)/?search=xyz contact(x)/?find=xyz |
Opens the Contact record with ID number x in the core Exo Business module, or searches for the text specified by the ?search or ?find parameter. |
core_campaign(x)/?search=xyz |
Opens the Campaign record with the ID number x in the core Exo Business module, or searches for the text specified by the ?search parameter. |
core_opportunity(x) |
Opens the Opportunity record with ID number x in the core Exo Business module. |
core_serviceunit(x)/?search=xyz |
Opens the Serviceable Unit record with the ID number x in the core Exo Business module, or searches for the text specified by the ?search parameter. |
craccount(x)/?search=xyz |
Opens the Creditor account with the Account ID number x, or searches for the text specified by the ?search parameter. |
crinvoice(x)/?search=xyz |
Opens the Creditors Invoices window. |
crm_activity(x) |
Opens the Activity record with the ID number x in the Exo Business CRM module. |
crm_company/?search=xyz crm_company/?find=xyz |
Opens the Company search window in the Exo Business CRM module, searching for the text specified by the ?search or ?find . |
crm_contact(x)/?search=xyz crm_contact(x)/?find=xyz |
Opens the Contact record with ID number x in the Exo Business CRM module, or searches for the text specified by the ?search or ?find parameter. |
crm_saleorder(x)/?search=xyz |
Opens the Sales Order with ID number x in the Exo Business CRM module, or searches for the text specified by the ?search parameter. |
document(x) |
Opens the document stored in the Document Manager with the document ID x. |
draccount(x)/?search=xyz |
Opens the Debtor account with the Account ID number x, or searches for the text specified by the ?search parameter. |
fixedasset(x)/?search=xyz |
Opens the Exo Fixed Assets record with the Asset number x, or searches for the text specified by the ?search parameter. |
invoice(x) |
Opens the Debtor invoice with ID number x. |
jc_purchaseorder(x)/?search=xyz |
Opens the Purchase Order with ID number x in the Exo Job Costing module, or searches for the text specified by the ?search parameter. |
job(x)/?search=xyz |
Opens the Job record with the ID number x in the Exo Job Costing module, or searches for the text specified by the ?search parameter. |
opportunity(x)/?search=xyz |
Opens the Opportunity record with ID number x in the Exo Business CRM module, or searches for the text specified by the ?search parameter. |
purchaseorder(x)/?search=xyz |
Opens the Purchase Order with ID number x, or searches for the text specified by the ?search parameter. |
prospect(x)/?search=xyz |
Opens the Non Account x with the Account ID number x, or searches for the text specified by the ?search parameter. |
report/?parameters |
Opens a Clarity report. All report parameters are supported — for example, exo://report/?DR_Control.CLR&d=Printer&a=N |
saleorder(x)/?search=xyz |
Opens the Sales Order with ID number x, or searches for the text specified by the ?search parameter. |
serial/?stockcode=xyz&search=xyz |
Opens the Serial Number Tracking window. |
serviceunit(x)/?search=xyz |
Opens the Serviceable Unit record with the ID number x in the Exo Job Costing module, or searches for the text specified by the ?search parameter. |
stockitem/?stockcode=xyz |
Opens the Stock item with the stock code specified by the ?stockcode parameter. |
statement |
Opens the Debtors statements window. |
workorder(x)/?search=wyz |
Opens the Works Order record with the ID number x in the Exo Business core module, or searches for the text specified by the ?search parameter. |
Searching Records
Commands that support the ?search parameter open a search window showing all records that match the search terms — for example, searching Debtors with ?search=auto shows all Debtors that include auto anywhere in their account name.
Some commands support the ?find parameter, which offers more options using % wildcards (in a URL, the percent symbol must be escaped with %25). You can use the ?find parameter:
- ?find=test - returns items that match test exactly
- ?find=test%25 - returns items that start with test
- ?find=%25test - returns items that end with test
- ?find=%25test%25 - returns items that contain test anywhere in the name
While the ?search parameter always opens a search window, if the ?find parameter matches only one record, that record opens and the search window doesn't appear.
Examples
exo://draccount(2) - opens the Debtor account with the ID number (SEQNO) 2.
exo://crm_contact(3) - opens the Contact with the ID number (SEQNO) 3 in the Exo Business CRM module.
exo://contact/?search=smith - opens the Contact search window, showing results for a search on smith.
exo://stockitem/?stockcode=AIRFIL01 - opens the Stock item with the code AIRFIL01.
exo://contact/?find=a%25 - opens the Contacts search window, showing all results that start with the letter a.