Generating workflows by using AI

You can use an AI assistant to generate and edit workflows based on your instructions. Sample prompts and context-specific help, including dynamic documentation searches, are also provided by the assistant.

Important: This feature is not available in Concert Workflows deployments on FIPS-enabled environments.

In Concert Workflows, you can use an AI assistant, powered by IBM® watsonx.ai or vLLM models, to generate and edit workflows based on natural language prompts that you provide.

To generate a workflow, you prompt the assistant with the details of the task that you want to automate. For example, you might prompt the assistant to create a workflow that retrieves and displays all users in your Concert Workflows instance. The workflow is then automatically generated and you can customize it in the workflow editor.

You can also prompt the assistant to automatically edit an existing workflow, regardless of how the workflow was created.

When asked, the assistant can also provide extensive help, including procedural, conceptual, and troubleshooting information.

Enabling the assistant

The assistant is not enabled by default. To enable it, you must first set AI-related parameters in the configuration parameters file (params.ini) that is used to configure your Concert Workflows instance when you install or upgrade. You then install a new instance or upgrade your existing one. After you install or upgrade, the AI assistant is ready for use in the workflow editor.

To enable the assistant, complete these steps:
  1. On your Concert Workflows installation host, go to the <installation folder>/ibm-concert folder, where <installation folder> is the folder that you downloaded the Concert software package to.
  2. Edit the configuration parameters file (/etc/params.ini) and set the AI-related parameters. See the following table for more information:
    Table 1. AI-related configuration parameters in params.ini
    Parameter Description
    ENABLE_AI

    Set this value to true to enable the AI assistant or to false to disable it. By default, the assistant is disabled.

    LLM_PROVIDER
    The large language model (LLM) provider that you want to use. You can specify one of the following values:
    • watsonx
    • vllm

    By default, this parameter’s value is set to watsonx.

    Note:
    • If your chosen provider is watsonx, you must specify values for the WATSONX_API_URL, WATSONX_API_PROJECT_ID, and WATSONX_API_USER parameters.
    • If your chosen provider is vllm, you must specify values for the LLM_MODEL, EMBED_MODEL, and LLM_BASE_URL parameters.
    WATSONX_API_URL
    If ENABLE_AI is true and your chosen provider is watsonx, set this value to the URL of the on-premises or SaaS watsonx.ai instance, for example:
    • https://your-cp4d-cluster.example.com (for an on-premises watsonx.ai instance).
    • https://us-south.ml.cloud.ibm.com (for a SaaS watsonx.ai instance).
    WATSONX_API_PROJECT_ID

    If ENABLE_AI is true and your chosen provider is watsonx, set this value to the ID of the watsonx.ai project that you want to use.

    WATSONX_API_USER

    Your Concert license entitles you to use an instance of watsonx.ai via IBM Cloud Pak for Data. If ENABLE_AI is true, your chosen provider is watsonx, and you want to connect to this instance, set this value to the username that IBM Cloud Pak for Data uses to authenticate to the watsonx.ai instance.

    WATSONX_API_MODEL_ID

    Optional: If ENABLE_AI is true and your chosen provider is watsonx, you can set this value to the watsonx.ai model that is used. The default value for this attribute is "ibm/granite-4-h-small", which represents IBM's Granite-4.0-H-Small model.

    WATSONX_API_VERSION

    Optional: If ENABLE_AI is true and your chosen provider is watsonx, you can set this value to the IBM watsonx.ai version that is used. The default value, and only valid value, is "2024-03-14".

    WATSONX_API_INSTANCE_ID

    Optional: If ENABLE_AI is true, your chosen provider is watsonx, and the watsonx.ai instance is a dedicated one, you can set this value to the instance ID.

    LLM_MODEL
    If ENABLE_AI is true and your chosen provider is vLLM, set this value to the name of the vLLM-provided model that you want to use for generating workflows. Only IBM Granite and Mistral AI models are supported, and the following models are recommended:
    • IBM’s Granite-4.1-30B model. To use this model, set this value to “ibm-granite/granite-4.1-30b“.
    • Mistral AI’s Mistral Small 4 model. To use this model, set this value to “mistralai/Mistral-Small-4“.
    EMBED_MODEL

    If ENABLE_AI is true and your chosen provider is vLLM, set this value to the name of the vLLM-provided text embedding model that you want to use. Embedding models use vector-based comparisons between embedded prompts, block descriptions, and documentation to retrieve the most relevant blocks and documentation extracts in response to prompts.

    Only IBM Granite Embedding models are supported, and the Granite-Embedding-125m-English model is recommended. To use this model, set this value to “ibm-granite/granite-embedding-125m-english“.

    LLM_BASE_URL

    If ENABLE_AI is true and your chosen provider is vLLM, set this value to the URL of the vLLM-provided model instance that will be used to generate workflows, for example: https://ml-serving.example.com:8443

  3. Provide the sensitive credentials that will be used to authenticate to the LLM instance during the installation or upgrade.
    • If you want to use the on-premises instance of watsonx.ai that your Concert license entitles you to, and you set the WATSONX_API_USER parameter in params.ini, you must provide the corresponding password by running this command:
      export WATSONX_API_PASSWORD=<my-secret-password>
      Replace <my-secret-password> with the password.
    • If you want to use a SaaS instance of watsonx.ai, you must provide the API key that is used to authenticate to the SaaS watsonx.ai instance by running this command:
      export WATSONX_API_KEY=<my-watsonx-api-key>
      Replace <my-watsonx-api-key> with the API key. If required, you can generate a key here.
    • If you want to use a vLLM-provided model instance which requires authentication, you must provide the API key that is used to authenticate to the vLLM instance by running this command:
      export LLM_API_KEY=<my-vllm-api-key>
      Replace <my-vllm-api-key> with the API key.
  4. If you are upgrading an existing Concert Workflows instance in which the AI assistant is enabled, remove the legacy AI configuration.
    1. Edit params.ini and check whether the WORKFLOWS_OVERRIDE_VALUES parameter is set to the name of a custom file.
    2. If a custom file name is set, edit the custom file and check whether it contains an rna.instance.ai section. If it does, complete only one of these actions:
      • If the rna.instance.ai section is the only one in the custom file, do not change the custom file. Instead, remove the WORKFLOWS_OVERRIDE_VALUES parameter setting from params.ini.
      • If other configuration (unrelated to AI) is included in the custom file, remove the rna.instance.ai section and save the custom file.
  5. Complete the installation or upgrade of Concert Workflows.
    • For example, if you are upgrading an existing instance, go to the <installation folder>/ibm-concert folder and run this command:
      ./bin/setup --license_acceptance=y --username=admin --password=<admin_password> --registry_password=<ibm_entitlement_key>
      • Replace <admin_password> with the Concert Workflows administrator’s password.
      • Replace <ibm_entitlement_key> with the IBM entitlement key that you used when you installed Concert Workflows.
    • To find the full installation or upgrade procedure that applies to your deployment scenario, see Installation and deployment.

Accessing the assistant

The AI assistant is accessible only in the workflow editor. Complete the following steps to access the assistant:
  1. Open the Workflows page.
    1. If you are connected to another application, click Workflows.
    2. In the IBM Concert Workflows® sidebar, click Workflows.
  2. Create or open a workflow and access the AI assistant.
    • To create a workflow where the assistant is open by default, click + Create workflow > Generate with AI.
      Note:
      • To ensure uniqueness, the new workflow will be named Untitled workflow[-n], where n is a number one greater than the largest number in an untitled workflow name in the current folder.

        For example, if your current folder contains Untitled workflow, Untitled workflow-1, and Untitled workflow-2, the new workflow will be named Untitled workflow-3.

      • The new workflow is created by using your default workflow template, for example, the ‘Hello, World’ template. For more information about workflow templates, see Creating workflows.
    • To create a workflow manually and access the assistant, complete these steps:
      1. Click + Create workflow > Build manually.
      2. Specify a layout type and template and click Create.
      3. In the editor, click Assistant.
    • To open an existing workflow and access the assistant, complete these steps:
      1. In the workflow list, click the workflow to open it.
      2. In the editor, click Assistant.

The assistant is shown alongside the workflow. To hide or show the assistant, click Assistant. You can also hide it by clicking the close icon.

You can prompt the assistant with instructions or ask questions. Sample prompts and questions are shown. When you click a prompt or question, it is pasted into the prompt input field.

To see a library of usable prompts and questions, complete one of these actions:
  • Click Show all prompts.
  • In the prompt input field, click the menu and select Suggested prompts.
In the library dialog, you can copy a question or prompt by clicking it. You can then paste it into the assistant’s prompt input field after you close the dialog.

Your chat history in the assistant is preserved until you either reload your current workflow in the editor or you leave the editor to access another UI page.

Note: You cannot use the assistant and the object editor at the same time. When you show the assistant, the object editor is hidden and vice versa.

Managing workflows by using the assistant

Generating workflows

To generate a workflow, in the prompt field, describe a task that you want to automate. For example, enter this prompt to generate a workflow that queries available S3 storage in an Amazon Web Services (AWS) account: List all S3 buckets that are public in my AWS account.

The workflow generation process begins. In the preview area, status messages are displayed at each stage of the generation process. While the assistant generates the workflow, the system shows the elapsed time next to the loading animation. The timer starts when the workflow generation begins and is updated in real time.

To cancel the generation of the workflow, in the prompt input field, click Stop generation. After the generation process is stopped, you can restart it by clicking Regenerate in the chat.

When the process is complete, the generated workflow is shown. If you want to return the workflow to its previous state, click Undo changes.

If you want to provide additional relevant or contextual information for a prompt, you can upload a text file. In the prompt field, click the menu, click Upload file, and select the file from your file system. You can upload only one file and it must meet these conditions:
  • Its extension must be .pdf, .doc, .docx, or .txt .
  • Its size must not exceed 40MB.

After you upload the file and provide an appropriate prompt, click Send. The uploaded document is analyzed by the assistant and is used as relevant information when it responds to your prompt. For example, you can upload a text file that contains a procedure that you want to automate and prompt the assistant to generate a workflow based on the contents of the file.

Editing workflows

To automatically edit a workflow, enter a prompt that describes the logical changes that you want to make. If possible, mention the current workflow, or some element of it, in your prompt. For example, you might enter this prompt to automatically edit the example AWS S3 workflow: Update my workflow to write results to a new S3 bucket named logs-archive.

When the automatic update of the workflow begins, the process status is again shown in the preview area. During workflow updates, the system displays the elapsed time next to the animated loading screen in real time. If required, you can cancel the update.

After the process is completed, the updated workflow is shown, including the logical changes that you requested. If needed, you can undo the changes.

Note: When you use the assistant to generate or edit a workflow, an AI indicator is then shown before the workflow’s name in the editor and the workflow list. This indicator cannot be removed.
In some cases, a prompt to edit a workflow might result in the generation of a new workflow. For example, a new workflow might be generated in these cases:
  • You enter a prompt that is not relevant to the current workflow, such as a prompt that relates to a completely different task.
  • You enter a prompt that requests a logical change that is too extensive to contain in the logic of the current workflow.
Where possible, use clear, specific, and appropriate prompts. The following types of prompt are likely to be rejected:
  • Vague or ambiguous prompts, such as the following prompt: Generate a workflow that does everything for our cloud migration
  • Inappropriate prompts, such as requests for explicit content.
  • Malicious prompts, such as requests to disregard instructions or reveal system prompts.

Asking for help

You can ask the assistant for information that helps you to understand and refine your workflow. The assistant can provide these kinds of help information:
  • Procedural information, such as how-to steps that help you complete a workflow-related task. You might receive procedural information if you ask this type of question: How do I create an authentication?
  • Conceptual information about workflow elements, such as blocks, variables, and integrations. You might receive conceptual information if you ask this type of question: What are integrations in IBM Concert Workflows?
  • Troubleshooting information, such as information about unexpected workflow results or errors. You might receive troubleshooting information if you ask this type of question: I get a 403 Forbidden error from the S3 ListBuckets block. What could cause this?
Note: Before answering some questions about Concert Workflows, the assistant dynamically searches this documentation. When an answer is based on this documentation, the source topics and links are shown.

Sample prompts and questions

To appreciate the power and potential of AI-generated workflows, try using one or more of these prompts to generate a workflow:
  • Generate a workflow to find and list all S3 buckets that are public.
  • Write a workflow that iterates through all VPCs in the AWS account to list security groups that permit port 80.
  • Create a workflow that will create a network topology in IBM Cloud. create a VPC, a subnet, and an instance within the subnet.
  • List all of the storage accounts that are available in Azure.
  • Write a workflow to loop through all pages of SevOne devices.
  • Create a workflow that creates an incident in ServiceNow.
  • Create a workflow which will list any public S3 buckets on AWS and if the bucket is public, change it to private.
Try asking one or more of these questions to appreciate how helpful the assistant can be:
  • How do I use the HTTP Request block to call a REST API?
  • What are blocks and variables in IBM Concert Workflows?
  • Analyze this workflow and explain the task that it performs.
  • How do I discover my workflow after it is exposed from Concert Workflows?
  • How many workflow statuses are available in the product and what is their meaning?
  • What programming language is used in workflow blocks?

Providing feedback

Help us to improve this feature's performance by giving us feedback on your experience of using it. To provide your feedback, create an idea in the IBM Ideas Portal. In the Product drop-down, select Concert, then provide your feedback in the idea description. Make sure to mention that the affected IBM Concert component is Concert Workflows.