> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to data types

A data type tells the computer what something **is** so that it can be processed properly.
CRMScript has 4 primitive data types and a huge range of complex types defined by the built-in classes.

Data types apply to:

* literal values
* variables
* parameters in functions
* return type of functions
* objects of built-in classes

CRMScript is **statically typed**, meaning you *must* set the type in the declaration, and it can't be changed later.

## Numbers

CRMScript has 2 types of numbers:

* Integer (without decimals)
* Float (with decimals)

You can use the[arithmetic operators][1] to do basic math.

```crmscript theme={null}
Integer a = 5;
Integer b = 7;
Integer sum = a + b;
```

## Strings

A text string is a sequence of characters written with quotes.

You can use the [concatenation operator][1] to join multiple strings.

```crmscript theme={null}
String myCompany = "Super" + "Office";
```

## Logical

The logical or boolean data type of CRMScript is **Bool**. Variables of this type can only have 2 values: **true** or **false** and are commonly used in comparisons and conditional statements.

[1]: ./operators


## Related topics

- [Introduction](/en/api/overview/quickstart.md)
- [Introduction to online development](/en/api/overview/develop-apps-or-integrations.md)
- [Introduction to SuperOffice identity management](/en/online/identity/overview.md)
- [What is CRMScript?](/en/automation/crmscript/overview/index.md)
- [Getting started with CRMScript](/en/automation/crmscript/overview/getting-started.md)
- [Learn the basics of SuperOffice CRM](/en/learn/basics/index.md)
