AppMaster.io
HomeStudioJobsSuggest Feature
  • What is AppMaster.io?
  • Getting Started
    • App Architecture
    • Quickstart
    • Best Practices
    • FAQ
  • Projects
    • Creating a Project
    • Project sharing
  • MODULES (INTEGRATIONS)
    • Modules
    • Setup
    • Modules List
      • Mobile applications
      • Authentication
        • Auth
        • Sign-in with Google
        • Sign-in with Facebook
        • Sign-in with LinkedIn
        • Sign-in with Apple
        • Google OAuth 2.0
      • Security & Data Validation
        • Crypto
        • Validators
        • IP Filter
      • Payments
        • Stripe
      • Maps & GIS
        • Universal Map
        • Cities and Countries
        • Google Maps
        • MapBox
      • Messengers
        • Telegram
        • Slack
        • Intercom Messenger
        • Discord
      • Video Conferencing & Webinars
        • Zoom API
      • Mailings, advertising
        • Intercom API
        • Google AdMob
        • SendPulse
        • GetResponse
        • Mail Chimp
        • SMS messaging
          • ClickSend
          • Telesign
          • MessageMedia
          • SMSto
          • Twilio
          • Nexmo
      • Email
        • Custom SMTP
          • Custom SMTP and Gmail
        • Gmail API
        • Email (SMTP Client)
      • Media files
        • Youtube Player
        • Image
      • Docs
        • Google Sheets
        • Google Drive
      • Date & Time
        • ICalendar
      • Data Storages
        • Amazon S3
        • OpenStack SWIFT
      • Language translators
        • Microsoft Translator
        • Google Translate
        • DeepL Translator
      • Special modules
        • Autodesk Partner API
      • File Archives
      • Google Indexing
      • Barcode Scanner
      • CloudConvert
  • Data Design
    • What are data models
    • Data Models Designer
      • Creating and modifying data models
      • Creating and modifying relations
      • System fields
    • Data types
    • Relation types
    • Auto-generation of data models
      • Virtual Data Models
      • Modules data models
      • List of generated models
        • Data Model User
        • Data Model User Session
  • Business Logic
    • Business Processes Editor
    • Best Practices for BP Separation
    • Blocks List
      • Logic
        • If-Else
        • For Each Loop
        • Loop
        • Break Loop
        • Switch
        • Set Variable
        • Raise Error
        • Comparison
        • Type Conversion
          • Date & Time to String: Format Guide
      • Functions
        • Math
          • Operators
          • Random Integer/Float
          • Round Up/Down
          • Mod
          • Is Even Number
          • Array Operations
        • String
          • Random String
          • Concat Strings
          • String Length
          • Has Substring
          • Hash
          • Is Valid Email
          • To Lower/Uppercase
          • Trim String
          • Replace String
          • Get Char at Position
          • Split String
          • Slice String
          • Validate String (Regex)
        • Boolean
          • Logic AND
          • Logic OR
          • Logic NOT
        • Array
          • Append Array
          • Prepend Array
          • Concat Array
          • Array Size
          • In Array
          • Random Element
          • Shuffle Array
          • Array Element
        • Date & Time
          • Make Date/Time/Date & Time/Time Span
          • Expand Date/Time/Date & Time/Time Span
          • Add/Subtract Time Span
          • Current Date & Time
          • Date & Time Difference
          • Delay
        • File
          • Get File
          • Create File
          • Read CSV File
          • Read XLSX File
          • Read XLS File
        • Miscellaneous
          • App Info
          • Write to Log
          • Get Request Header
          • Set Response Header
          • Get Request Body
      • Model Functions
        • Search
        • GetOne
        • Delete
        • Create
        • Patch
        • Update
        • Expand
        • Make
        • External API Requests Data Models
          • Make APIRequestName URL Params Model In
          • Make APIRequestName Body Model In
          • Make APIRequestName Headers Model In
          • Make APIRequestName Query Model In
          • Expand APIRequestName Headers Model Out
          • Expand APIRequestName Response Status Model Out
          • Expand APIRequestName Body Model Out
        • Virtual Data Models
          • Make Virtual Data Model
          • Expand Virtual Data Model
      • User-Created BPs
      • External API Requests
      • Variables
      • Models
      • Enums
      • Group Auth
        • Registration
        • Authentication
        • Authorization
        • Logout
        • Change Password
        • Restore Password
        • Add User to Group
        • Remove User from Group
        • Get Current User
        • Generate Auth Token
        • Hash Password
        • Probe Password
      • Group Crypto
      • Group Validators
        • Validate OGRNIP RU
        • Validate OGRN RU
        • Validate SNILS RU
        • Validate INN RU
        • Validate KPP RU
        • Validate BIK RU
        • Validate IIN KZ
        • Validate Bank Card Number (Luhn)
        • Validate KS RU
        • Validate RS RU
    • Global Variables
    • External API Requests
    • FAQ
  • Endpoints (API)
    • Endpoints Configuration
    • Middleware
      • Middleware: Token Auth
    • Access & Permissions
  • WEB APPS
    • Web Applications Designer
    • Working with Components
    • Signup and Login Forms
    • Workflow in web applications
    • Components list
      • Container
      • Button
      • Dropdown
      • Table
      • View
      • Tabs
      • Switch
      • Label
      • Image
      • Video
      • Chart
      • Form
      • Input (string)
      • Input (text)
      • Input (integer)
      • Input (float)
      • Input (email)
      • Input (password)
      • Input (phone)
      • RichText Editor
      • Time Span
      • Date Picker
      • Time picker
      • DateTime Picker
      • Select
      • Select (enum)
      • Relselect
  • MOBILE APPS
    • Mobile Applications Designer
    • Creating a Mobile App
    • Mobile Designer Interface
    • Working with Screens
    • Working with Widgets
    • Publishing a Mobile App
      • Testing in AppMaster.io Developer App
      • Publishing to Google Play
        • Create Google Developer Account
        • Create Firebase Project
        • Register Android App & Download Config File
        • Generate & Download Private Key
        • Generate APK/AAB File
        • Upload App for Testing
        • Set Up Google Play Store Listing
      • Publishing to App Store
        • Create Apple Developer Account
        • Create Apple Bundle ID
        • Create App in App Store Connect
        • Create App Store Connect API Key
        • Generate Build & Upload to TestFlight
        • Submit App to App Store
  • DEPLOYMENT
    • Deployments Configuration
    • AppMaster.io Cloud Services
    • Data Export
    • Logs
  • How-To
    • Import CSV/Excel File
    • Buttons Setup
    • User Interface Layout
Powered by GitBook
On this page

Was this helpful?

  1. Business Logic

Business Processes Editor

PreviousData Model User SessionNextBest Practices for BP Separation

Last updated 3 years ago

Was this helpful?

Every business process is a small piece of your backend app's logic. Business processes designed to work with data: search, get, update, delete, mutate and make all actions inside of the backend part of your project. All basic business processes for every data model are created automatically and called the system BPs. System BPs can't be edited or deleted, also they are not visible in the common list of business processes. But you can use system BPs in endpoints and call them from your business processes.

To create a new business process go to the Business Process Designer and click New business process button. Type new BP name and description (optional) and press the create button.

Transaction mode can be activated in the settings of each business process. In case of activation, the BP acquires the property of atomicity. This means that the BP is either fully executed, or none of its individual blocks are executed. If an error occurs in any block, then all changes caused by the previous blocks of the business process will be rolled back.

Business Process Editor consists of the left panel, canvas in the center, and right panel with settings of the selected object. Drag element from the left panel to the canvas to create a business process block.

Every block on the canvas has two types of connections and two types of connectors. Connectors can be inbound (in) or outbound (out). All inbound connectors are located on the left side of the block, all outbound connectors are located on the right side of the block. Flow connections represent a continuous flow of actions: order of blocks to be executed. Flow connectors usually placed at the top of the block body. Variable connections represent data transfer between blocks: where to get or pass data within the business process. Every variable connector has its own data type or can support multiple types, the editor automatically controls type matching.

Start and End blocks are created automatically and cannot be deleted. Both Start and End blocks can have variables - input for the Start block and Output for the end block. These variables have to be created manually via the right panel if required. Variables of the Start and End block used to get and pass data via endpoints.

In general, every block has to be connected with a flow connection to form a chain of blocks from the Start block to the End block. All not concerted blocks will be excluded from code generation. The End block will be executed no matter if it has a connection, but it is strongly advised to properly connect each block with a flow connection.

There is a special type of block - variables blocks, that designed to be global variables and store data during business process lifetime. These blocks do not have flow connectors and supply only it's valued by variable connections. To update the value of these blocks you have to use the SetValue block.

Despite the fact that at this point the business process editor can seem complicated or confusing, it is a very powerful and logical tool for building any business logic in your application.