Skip to content
flowon.com

Deploy & ALM

Command reference

Every Logic Fabric CLI command with its help text, aliases, options, output and exit codes.

flowon-dynamics <command> [options]

Flowon command-line tools for Dataverse (Dynamics 365): export and import Flowon projects, generate documentation and OpenAPI schemas, and manage solutions, plug-ins, recipes and APIs. Run a command with –help for its options.

The descriptions below are the CLI’s own help text. In it, “Flowon project” and “Flowon package” mean a Logic Fabric project and its package.

Command Alias Needs a connection Purpose
projects p Yes List projects
features f Yes List installed features
export e Yes Export a project
import i Yes Import solution, data and package
generate-mappings gm No Extract data map files from a package
apply-mappings am Yes Apply data map files to an imported project
generate-openapi openapi Yes Generate an API’s OpenAPI schema
publish-api pa Yes Publish an API draft
enable-plugins ep Yes Enable Logic Fabric plug-in steps
disable-plugins dp Yes Disable Logic Fabric plug-in steps
enable-recipe er Yes Enable logic recipes
disable-recipe dr Yes Disable logic recipes
increment-solution-version isv Yes Increase a solution’s version
create-patch cp Yes Create a solution patch
docs d No Generate documentation from a package

-h, -? or --help shows help for the tool or a command; --version shows the CLI’s version.

Option Alias Description
--connectionstring -c The connection string of the Dataverse (Dynamics 365) environment, for example "AuthType=OAuth;Url=https://contoso.crm.dynamics.com;...". Required by every command that needs a connection.
--log-level -l How much to log while the command runs: none (errors only, the default), info (progress) or verbose (diagnostic details, including full error details).
  • Every command prints its outcome, whatever the log level, for example Exported project 'Contoso Service' to './out/Contoso_Service.flop' in 38.4 seconds.
  • Missing files, an unreachable environment and unknown projects are reported as validation errors before the command does anything.
  • A failure prints a short reason followed by “Run the command again with –log-level verbose for details.”
Exit code Meaning
0 The command succeeded.
1 The command failed, or its options were invalid.

List the Flowon projects in a Dataverse environment, with their solutions and publisher prefixes.

Options: -c, -l. Prints “There are no Flowon projects in this environment.” when there are none.

Terminal window
flowon-dynamics projects -c "$DEV_CONNECTION"

List the Flowon features installed in a Dataverse environment, with their versions.

Options: -c, -l.

Export a Flowon project as a Flowon package (<project name>.flop), optionally with its Dataverse solution and reference data.

Option Alias Required Description
--project-name -p Yes The name of the Flowon project to export.
--solution-managed -sm No Also export the project’s Dataverse solution as a managed solution.
--solution-unmanaged -su No Also export the project’s Dataverse solution as an unmanaged solution. Not possible when the solution is managed in this environment.
--output-directory -o Yes The folder where the package, solutions and data files are written. It is created if it does not exist; existing files with the same names are replaced.
--data-spec-file-path -ds No The path of a data specification file that lists the reference data (records) to export with the project.

Plus -c and -l. See Export.

Import into a Dataverse environment, in this order: a solution, data files, then a Flowon package with its data map files. Give at least one of them.

Option Alias Description
--package-file-path -p The path of the Flowon package (.flop) to import. The package’s Dataverse solution must already be installed, or be given with –solution-file-path.
--solution-file-path -s The path of a Dataverse solution file (.zip) to import first. A managed solution is skipped when the installed version is the same or newer.
--override-unmanaged-customizations -oc Overwrite unmanaged customizations made on top of the solution’s managed components. Without this option they are kept. Only valid with –solution-file-path.
--map-file-path -m The path of a data map file to apply to the package, as produced by generate-mappings. Repeat the option, or list several paths, for more than one. Requires –package-file-path.
--data-file-path -d The path of a data file to import, as produced by export --data-spec-file-path. Repeat the option, or list several paths, for more than one.

Plus -c and -l. Stops at the first step that fails. See Import.

Extract the data map files (the environment-specific configuration values, localized resources, service connections and entity record references) from a Flowon package, so they can be edited per environment before import or apply-mappings. Does not need a Dataverse connection.

Option Alias Required Description
--project-file-path -p Yes The path of the Flowon package (.flop), as produced by the export command.
--output-directory -o Yes The folder where the data map files are written. It is created if it does not exist; existing files with the same names are overwritten.

Plus -l. See Data mapping.

Apply data map files to a Flowon project that is already imported, setting its configuration values, localized resources, service connections and entity record references for this environment.

Option Alias Required Description
--project-name -p Yes The name of the Flowon project, already imported into the environment, to apply the data map files to.
--map-file-path -m Yes The path of a data map file, as produced by generate-mappings. Repeat the option, or list several paths, to apply more than one.

Plus -c and -l.

Generate the OpenAPI schema (JSON) of a published version of a Flowon API.

Option Alias Required Description
--project-name -p Yes The name of the Flowon project the API belongs to.
--api -a Yes The name of the Flowon API.
--version -v No The published version of the API, for example 2.1. Defaults to the latest published version.
--output-directory -o Yes The folder where the schema is written, as <API name>.json. It is created if it does not exist; an existing file with the same name is replaced.

Plus -c and -l. See Introspection.

Publish the draft of a Flowon API as a new major or minor version.

Option Alias Required Description
--project -p Yes The name of the Flowon project the API belongs to.
--api -a Yes The name of the Flowon API to publish.
--version -v No Whether to publish the draft as a new Major version (the default) or a new Minor version.

Plus -c and -l.

  • A draft with issues is refused with “This draft can’t be published because it has N issues. Open it in API Studio, fix them and save, then publish again:” and the list of issues; the command exits with 1. See Publishing and versions.
  • When the API has no draft, the command reports “No draft of API ‘…’ was found in project ‘…’; nothing was published.” and exits with 0.
Terminal window
flowon-dynamics publish-api -c "$DEV_CONNECTION" -p "Contoso Service" -a "Customer Portal API" -v Minor

Enable the plug-in steps of the Flowon features installed in a Dataverse environment, for example after disable-plugins.

Options: -c, -l.

Disable the plug-in steps of the Flowon features installed in a Dataverse environment, for example before a bulk data load.

Options: -c, -l. While plug-in steps are disabled, Logic Fabric logic that runs on Dataverse events doesn’t run. Always pair it with enable-plugins.

Enable one or more logic recipes of a Flowon project by activating their plug-in steps.

Option Alias Required Description
--project -p Yes The name of the Flowon project the recipes belong to.
--recipe -r Yes The name of a recipe to enable. Repeat the option, or list several names, to enable more than one.

Plus -c and -l.

Terminal window
flowon-dynamics enable-recipe -c "$UAT_CONNECTION" -p "Contoso Service" -r "Assign New Cases" "Escalate Overdue Cases"

Disable one or more logic recipes of a Flowon project by deactivating their plug-in steps, so they stop running.

Same options as enable-recipe; --recipe names the recipes to disable.

enable-recipe and disable-recipe switch the recipe directly and do not change its Disabled field, so the recipe form may not show the recipe’s real state afterwards. They also work when the project’s solution is managed and the recipe form is read-only.

Increment one part of the version of a Dataverse solution, for example 1.2.3.4 to 1.3.3.4 for --version Minor.

Option Alias Required Description
--solution -s Yes The unique name (not the display name) of the solution.
--version -v Yes The part of the version to increment: Major, Minor, Build or Revision. The other parts are kept.

Plus -c and -l. Prints the new version: “Solution ‘…’ is now at version …”.

Create a patch for a Dataverse solution and print the patch’s unique name.

Option Alias Required Description
--solution-name -sn Yes The unique name (not the display name) of the solution to patch.
--patch-name -pn Yes The display name of the new patch.
--version -v No The version of the patch, for example 1.0.1.0. It must keep the solution’s major and minor parts. Defaults to the next build number after the solution’s latest patch.

Plus -c and -l.

Generate documentation for the flows, blocks, business processes and APIs in a Flowon package, as a zipped static website named <package name>_docs.zip. Does not need a Dataverse connection.

Option Alias Required Description
--package-file-path -p Yes The path of the Flowon package (.flop) to document, as produced by the export command.
--output-directory -o Yes The folder where <package name>_docs.zip is written. It is created if it does not exist; an existing file with the same name is replaced.

Plus -l.

Terminal window
flowon-dynamics docs -p ./artifacts/Contoso_Service.flop -o ./site
# writes ./site/Contoso_Service_docs.zip