
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
Localization and Multi-Language Support
Version Control and Builds
Dependency Management
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

- 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
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.

l10n & i18n
Creating and managing projects
A projectβs lifecycle includes the following stages: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.
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.
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.
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
How do I create a new version of a project?
How do I create a new version of a project?
What happens when I create a build?
What happens when I create a build?
Can I manage multiple localizations within a project
Can I manage multiple localizations within a project
How do I handle resource changes in a shared environment?
How do I handle resource changes in a shared environment?
What is the difference between a Project Version and a Build?
What is the difference between a Project Version and a Build?
How do I add a library as a dependency?
How do I add a library as a dependency?
Can I make changes to a deployed build?
Can I make changes to a deployed build?
How are resource versions managed within a project?
How are resource versions managed within a project?
What is the purpose of dependencies in FlowX AI?
What is the purpose of dependencies in FlowX AI?
How do versioning and dependencies work together?
How do versioning and dependencies work together?
Can I remove a dependency from a project?
Can I remove a dependency from a project?
What are the risks of circular dependencies?
What are the risks of circular dependencies?
How do I ensure that a library update doesn't break my project?
How do I ensure that a library update doesn't break my project?
What happens to resource versions when I update a dependency?
What happens to resource versions when I update a dependency?