Skip to content

How it works

Creating Codeless logic is very a straight-forward process. Suppose you need to build an API Service, then you start by adding a new API service. Similarly, when adding Codeless logic for event handlers and timers, you would start on the Event Handlers and Timers screens. Once a service, an event handler or a timer is declared, you proceed to adding the logic using the Codeless Business Logic Designer. The Logic Designer is an interactive environment for expressing logic using "Codeless Blocks". A single codeless block represents an operation such as comparison, assignment, API call, etc. For more details on available blocks, see the Codeless Blocks section of this guide.

The diagrams below show the general workflow for different types of codeless logic:

Codeless API Service:


Codeless API Event Handler:


Codeless Timer:


Blocks can be snapped to each other to express programmable logic. Most of the blocks have input and output parameters. The input parameters work with the data of a particular type. For example, the "Save Object in Backendless" block has the "table name" input argument which must be a string value. If you try attaching a non-string block to that input parameter, it will not snap:

As the logic is composed, Backendless generates the code which will be executing it. You can see the code on the Code tab. It is updated in real-time as the changes are made:

The composed logic for event handlers and timers can be SAVED or DEPLOYED.

  • When the logic is SAVED - it is stored for editing later, any changes in the logic are not enabled for execution.
  • When the logic is DEPLOYED - it is both saved as described above and the code is put into production.


The logic for API services can only be deployed - there is no intermediate (non-deployed) storage for that logic type.

Deployed logic enables the following functionality:

* Download native client SDKs (Android, iOS, JS) generated for the service. * Invoke service operations from the Backendless Console, REST or native clients (Android, iOS, JS). Invocation from a native client is possible using the generated SDK. See the Service Invocation section for additional details. * Restrict/secure service operations for the application's users and roles. * See the service operations invocations in Backendless Analytics (the Manage > Analytics section in console).
* Event handler logic is executed before/after the corresponding API event. * Logic can modify incoming API arguments or change the outgoing return value. * Logic in the "before" handlers can stop API invocation from proceeding further.
* Timer logic is executed according to the specified schedule.
* Download native client SDKs (Android, iOS, JS) generated for the service.