Functions are the mechanism by which you can interact with and perform actions on data. A function can read data, insert a record, update multiple records or call an API. When you add components to a Space, you'll be able to select the function that you want that component to perform. For example, you may want a button component to edit a record using the update function, or a form component to create a new record using the insert function.
When you connect a data source, Internal will automatically generate functions based on that data source. For most data sources these functions will be "insert", "update", and "delete". See the documentation for each data source to view what functions are automatically generated. Note that in order for Internal to generate these functions, the user account (credentials) that Internal uses to connect to the data source must have permissions to insert, update and delete data -- otherwise these functions will not be generated.
You can also create your own functions so that you can truly create powerful custom tools. Custom functions for databases allow you to create functions that are able to interact with multiple records at one time (bulk update), based on filter criteria that you choose. If you have existing company APIs that you want to use with Internal, you can also create custom functions (HTTP) that will allow you to hit those endpoints and pass variable parameters.