Starting a Workflow Process from a Custom Toolbar
The following procedure guides you through one example of starting a Workflow Process from a custom toolbar. In this example, a new button is added to the Toolbar and the Workflow Process starts when the button is clicked.
To start a Workflow Process from a custom toolbar
- (Optional) Display the Command object type and the Toolbars object type in the Object Explorer. 
- Navigate to the Business Services list and create a new business service with the values shown in the following table. - Property - Value - Name - TestTBItem - Server Enabled - TRUE 
- Navigate to the Commands list and create a new command with the values shown in the following table. - Property - Value - Name - TestTBItem - Business Service - TestTBItem - Method - TestTBItem - Target - Server 
- In the Object Explorer, click Toolbar, and then query the Name property in the Toolbars list for the following value: - HIMain
- In the Object Explorer, expand the Toolbar object and click Toolbar Item. 
- In the Toolbar Items list, create a new record with the values shown in the following table. - Property - Value - Name - TestTBItem - Command - TestTBItem - DisplayName - TestTB Item - Type - Button - HTML Type - Button - Position - 20 
- In the Siebel client, define a Workflow Process and make sure it can run successfully from the Process Simulator. - For more information, see Process of Testing a Workflow Process. 
- Add the following server script to the business service that you defined in step 2 (TestTBItem). You must use the name of the Workflow Process that you specified in step 7: - function Service_PreCanInvokeMethod (MethodName, &CanInvoke) { var returnValue = ContinueOperation; if (MethodName == "TestTBItem") { CanInvoke = "TRUE"; returnValue = CancelOperation; } return (returnValue); } function Service_PreInvokeMethod (MethodName, Inputs, Outputs) { var returnValue = ContinueOperation; if (MethodName == "TestTBIItem") { try { var psInput = TheApplication().NewPropertySet(); var psOutput = TheApplication().NewPropertySet(); var svc = TheApplication().GetService("Workflow Process Manager"); psInput.SetProperty("ProcessName", "<WF Process Name Created Above>"); svc.InvokeMethod("Run Process", psInput, psOutput); returnValue = CancelOperation; } // end try finally { svc = null; psOutput = null; psInput = null; } // end finally } // end if return(returnValue); }
- Test your changes using a Siebel Client Application Object Manager. - Make sure Siebel CRM displays the new button in the toolbar. Click it to make sure the correct Workflow Process starts.