snippets/user-and-tenant-setup/src/main/java/com/camunda/potsdam/UserAndTenantCreator/CamundaBpmProcessApplication.java
@PostDeploy
  public void onDeploymentFinished(ProcessEngine processEngine) {
	  
	  User user = processEngine.getIdentityService().createUserQuery().userId("niall").singleResult();
	  if(user != null) {
		  return;
	  }
	  
	  // Create admin user.... 
	  createInitialUserInternal(processEngine);
	  // create camunda admin group.
	  //ensureCamundaAdminGroupExists(processEngine);
	  // give admin all resources. 
	  // example: 
	  // https://github.com/camunda/camunda-bpm-webapp/blob/master/src/main/java/org/camunda/bpm/admin/impl/web/SetupResource.java 
	  
	  
	  
    // start an initial process instance
//    Map<String, Object> variables = new HashMap<String, Object>();
//    variables.put("name", "John");
//    
//    processEngine.getRuntimeService().startProcessInstanceByKey(PROCESS_DEFINITION_KEY, variables);
  }
@PostDeploy
  public void onDeploymentFinished(ProcessEngine processEngine) {
	  
	  User user = processEngine.getIdentityService().createUserQuery().userId("niall").singleResult();
	  if(user != null) {
		  return;
	  }
	  
	  // Create admin user.... 
	  createInitialUserInternal(processEngine);
	  // create camunda admin group.
	  //ensureCamundaAdminGroupExists(processEngine);
	  // give admin all resources. 
	  // example: 
	  // https://github.com/camunda/camunda-bpm-webapp/blob/master/src/main/java/org/camunda/bpm/admin/impl/web/SetupResource.java 
	  
	  
	  
    // start an initial process instance
//    Map<String, Object> variables = new HashMap<String, Object>();
//    variables.put("name", "John");
//    
//    processEngine.getRuntimeService().startProcessInstanceByKey(PROCESS_DEFINITION_KEY, variables);
  }
In a @PostDeploy Hook you can interact with the process engine and access
the processes the application has deployed.