Overview

A project groups resources that represent a project’s entire lifecycle. It’s not just a collection of processes; it’s an organized workspace containing all dependencies required for that project, from themes and templates to integrations and other resources. Projects enable you to:

  • Create Versions of a project to manage changes over time.
  • Deploy Builds for consistent environments.
  • Organize Resources to ensure clarity and reduce errors.

Core features

Centralized Resource Management

Projects provide a single view of all resources referenced in a process, enabling you to manage everything from one central workspace. This approach reduces context-switching and keeps configuration focused.

Localization and Multi-Language Support

Projects support the definition of multiple locales, allowing for easy handling of regional content and settings. Enumerations, substitution tags, and media can be localized to meet specific environment requirements.

Version Control and Builds

Projects support a robust versioning mechanism that tracks changes to processes, resources, and configurations. The Project Version captures a snapshot of all included resources, while the Build consolidates everything into a deployable package. Each build contains only one version of a project, ensuring a consistent deployment.

Dependency Management

Projects can leverage Libraries, which act similarly to projects but are designed for resource sharing across projects. A library can contain reusable components like processes or templates that can be included in other projects. Dependencies between projects and libraries are managed carefully to ensure compatibility.

Config

Config mode is the environment where you set up, adjust, and manage your project’s resources, processes, and configurations. It’s the workspace where you fine-tune every aspect of the project before it’s ready for deployment. Think of it as the design phase, where the focus is on setup, organization, and preparation.

Project components

Processes

  • Processes: Process definitions that drive the project’s core functionality and share a project’s resources.

Processes

  • Subprocesses: Processes that can be invoked within the main process. These can either be part of the same project or imported from a library set as a dependency for the project.

Subprocesses

Content Management System (CMS)

  • Enumerations: Predefined sets of options or categories used across the project. These are useful for dropdown menus, filters, and other selection fields.

Enumerations

  • Substitution tags: Here you have system predefined substitution tags and dynamic placeholders that allow for personalized content, such as user-specific data in notifications or documents.

Substitution tags

  • Media Library: A collection of images, videos, documents, and other media assets accessible within the project.

Task Management

  • Views: Views are configurable interfaces that present task-related data based on specific business process definitions. They allow users to create tailored visualizations of task information, utilizing filters, sorting options, and custom parameters to focus on relevant data.
  • Hooks: Custom scripts or actions triggered at specific points in a task’s lifecycle.
  • Stages: The phases that a task goes through within a workflow (e.g., Pending, In Progress, Completed).
  • Allocation Rules: Criteria for assigning tasks within workflows based on predefined rules (e.g., user roles, availability).

Integrations

  • Systems (API Endpoints): Configurations for connecting to external systems via REST APIs. These endpoints facilitate data exchange and integration with third-party platforms.

  • Workflows: Workflows are configurable sequences of tasks and decision nodes that automate data processing, system interactions, and integrations, enabling efficient communication and functionality across different projects and services.

Dependencies

Dependencies refer to the relationship between a project and the external resources it relies on, typically housed in a Library. These dependencies allow projects to access and utilize common assets, like processes, enumerations, or media files, from another project without duplicating content. By managing dependencies effectively, organizations can ensure that their projects remain consistent, efficient, and modular, streamlining both development and maintenance.

  • Libraries: A library is a special type of project that stores reusable resources. Projects can declare a library as a dependency to gain access to the resources stored within it.

  • Build-Specific Dependencies: When a a project adds a library as a dependency, it does so by referencing a specific build of that library

This build-specific dependency ensures that changes in the library do not automatically propagate to the dependent projects, providing stability and control over which version is in use.

  • Versioning: Dependencies are versioned, meaning a project can rely on a particular version of a library’s build. This versioning capability allows projects to remain insulated from future changes until they are ready to update to a newer version.

Libraries

Read more about libraries by accessing this section


Configuration Parameters

Configuration Parameters are essential components that allow projects to be dynamic, flexible, and environment-specific. They provide a way to manage variables and values that are likely to change based on different deployment environments (e.g., Development, QA, Production), without requiring hardcoded changes within the project. This feature is particularly useful for managing sensitive information and environment-specific settings.

  • Set environment-specific values: Tailor your project’s behavior depending on the target environment.
  • Store sensitive data securely: Store API keys, passwords, or tokens securely using environment variables.
  • Centralize settings: Manage common values in one place, making it easier to update settings across multiple processes or integrations.


Project level settings

Name

The name of the project, which serves as the main identifier for your project within FlowX AI. This name is used to categorize and manage all associated resources.

Type

You have two options:

  • Application: A standard project that will contain processes, resources, integrations, and other elements.
  • Library: A reusable set of resources that can be referenced by multiple projects.

Platform type

You can specify the platforms for the project:

  • Omnichannel: The project will support web, mobile, and other platforms.
  • Web: The project will be restricted to web-based access.
  • Mobile: The project will only be accessible via mobile platforms.

Default theme

Choose a theme to apply a consistent look and feel across the project. Themes manage colors, fonts, and UI elements for a unified visual experience. In the screenshot, “FlowXTheme” is selected as the default.

Theming

Number formatting

  • Min Decimals and Max Decimals: Configure how numbers are displayed in the project by setting the minimum and maximum decimal points. This helps ensure data consistency when dealing with financial or scientific information.
  • Date Format: Choose the format for displaying dates (e.g., short or long formats) to ensure the information is localized or standardized based on your project’s requirements.
  • Currency Format: Set whether currency is displayed using the ISO code (e.g., USD) or using a symbol ($). This affects how financial information is presented across the project.

Languages

This section allows you to manage languages supported by the project.

  • Default Language: You can set one language as the default, which will be the primary language for users unless they specify otherwise. In the screenshot, English (EN) is set as the default language.
  • Add Multiple Languages: This enables multi-language support. Substitution tags and enumerations can be localized to provide a better experience for users in different regions.

Fore more information about localization and internationalization, check the following section:

l10n & i18n

Creating and managing projects

A project’s lifecycle includes the following stages:

1

Creating a Project

  • Start by defining the name and type (Omnichannel, Web, Mobile).

  • Set up initial configurations like themes, languages, and formats.

  • Inherit system-wide design assets like themes or fonts.
2

Configuring Resources

  • Add processes, define templates, set up enumerations, and manage integrations.
  • Configure environment-specific parameters like API URLs or passwords using environment variables.
  • Reuse resources from libraries by setting up dependencies, allowing access to shared content.
3

Publishing a Project

  • Submit your configured resources to a version.
  • Once finalized, a version can be committed for stability.
  • Create a build from a version when ready to deploy to a different environment.
4

Deploying a Build

  • A build packages the project version for a consistent deployment.
  • Each build is immutable and cannot be modified once created, ensuring runtime stability.

FAQs