doohickey template allows you to create templates and interact with deployed templates in Doohickey Cloud. A template is used as the base to create a flow instance.


doohickey template accepts one argument - a name for the template


doohickey template create will generate a template boilerplate file that you can use to create your own template.

--environment (-e)stringTarget environment to deploy template
--tenant (-t)stringTarget tenant to deploy template


doohickey template deploy will take a template and create a new version in Doohickey Cloud. After the template version is created, Doohickey CLI will zip the template and upload it to Doohickey Cloud for future use.

--environment (-e)stringTarget environment to deploy template
--versionstringA name for the newly created template version
--descriptionstringA description for the newly created template version

You must have a template in your local /templates folder before attempting to deploy. If you do not specify the template name at the time of running the command doohickey template deploy, you will be prompted to select one of the templates within the /templates folder.

If the template you have selected from the local /templates folder is not linked to a record in Doohickey Cloud, a new template record will be created in Doohickey Cloud, and the local template will be linked to it.

Running the deploy command creates a new version of a template. Versions cannot be updated - you must instead create a new version. Before this new template version is created you will be prompted for the new version's name and description. The name can be any string you wish to identify this particular version, e.g. v1.0, version-2-beta, etc. This information can also be supplied non-interactively by using the flags --version (to give the new version a name) and --description (to give the new version a description).

After you have entered a name and description for the new version, the template folder you have selected will be zipped into a file, uploaded to Doohickey Cloud, and that will now serve as the latest version of that particular template.

A Note on Template Types

The template type determines how a template interacts with an external system and what features and syntax are available to use within that template. The CLI will do its best to automatically determine the template type based off of the contents of the template folder. If it determines that the type of the template folder does not match the type property of the template entity store in Doohickey Cloud it will prompt the user to update the type property of the template entity.

The currently supported template types are:

  • oih-bundled The recommended type to use when connecting to Open Integration Hub instances
  • oih Deprecated For use when connecting to Open Integration Hub instances, but without the expanded functionality of the newer oih-bundled type


doohickey template init links a local template folder to a template record in Doohickey Cloud. If you are working with a team on a shared repository, for example, a template record may already exist in Doohickey Cloud when you are ready to add a new version of it.

Run doohickey template init and you will be prompted to select:

  • a local template folder
  • a template record stored in Doohickey Cloud

After doing so you can run doohickey template deploy for that template and it will know which template in Doohickey Cloud it should add a version to.