2016-05-08: Updated to latest and easiest version

You could execute a workflow manually in your own vtigerCRM extension or PHP file.
You only need the following PHP Code:

require_once(vglobal('root_directory')."/modules/Workflow2/autoload_wf.php");
 
// The ID of the Workflow you want to execute
$workflow_id = 1;
// The user, which will be used for execution
$executionUserId = 1;
// Specify a CRMID if you want to execute the record in context of this record. (Important for field values)
$crmid = false;
 
$wfExecuter = new \Workflow\Execute();
$wfExecuter->setUser($executionUserId);
if(!empty($crmid)) {
   $wfExecuter->setRecord($crmid);
}
 
// Set the $env Variable, which is initially available in Workflow
$wfExecuter->setEnvironment(array("variable" => "value", "variable2" => "value2"));
 
$wfExecuter->runById($workflow_id);
 
// If you have created your own trigger to execute multiple workflows, you could use the following function
// Notice: Handling of configuration in Settings will be improved in future versions of Workflow Designer
// $wfExecuter->runByTrigger("TriggerKey");
Enter your comment. Wiki syntax is allowed:
   ____   ___   _   __   ___    ____
  /  _/  / _ \ | | / /  / _ \  / __/
 _/ /   / ___/ | |/ /  / ___/ _\ \  
/___/  /_/     |___/  /_/    /___/