Data Types

What are data types?

Data types specify the structure & kind of values a variable can hold.

Our AI agents are "type-aware" – meaning they use the data types to determine how to collect them (slots), how to pass them between plugins, or how to display them in citations.

Types of Data Types

There are two categories of data types

  • Primitive Data Types - “simple” values that are provided by most programming languages
  • Object Data Types - “complex” values that correspond to data objects from a single business systems

Primitive Data Types

Moveworks provides a fixed list of built-in primitive data types.

  • string - text
  • integer - valid integers
  • number - floating point numbers
  • boolean - true / false

Object Data Types

Object Data Types correspond to data objects from your business systems. For example

  • SalesforceAccount - An Account object in Salesforce
  • JiraIssue - An Issue object in Salesforce

🚧

Do not merge data types across systems

If you have Accounts in both Salesforce & Netsuite, you should create a data type for each of those data objects.

Moveworks provides a few built-in object data types.

  • User - A Moveworks user.

Default Resolver Strategy

When you're building a plugin, you generally want to collect data types from users. For example, if you're building a plugin to Close a Jira Issue, then you need to collect a JiraIssue from the user first.

Resolver Strategies make it possible to convert natural language (e.g. "this week's most important bug") to those business objects (e.g. JiraIssue). You should define a default resolver strategy on your data type so that you don't have to repeat this for every plugin you build.


What’s Next