---
title: "Functions governance"
slug: "functions-governance"
updated: 2026-01-09T21:08:35Z
published: 2026-01-09T21:08:35Z
---

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

# Functions governance

Who can use Functions

          

As of r338, Functions is in Production Early Access. To request access, contact your Customer Success manager.

**Read more in the Community thread [here](https://community.tulip.co/t/functions-production-release-available-for-early-access/15658).**

---

## User roles and Functions permissions

With the custom user roles feature, you can customize user permissions related to Functions, including the following selections:

- **Create, edit, and archive** or **View only**
- **Test**: Can test functions in the editor

Who can use Custom User Roles

Users on Enterprise plans.

## When to centralize function creation

Centralize when:

- Functions enforce compliance or validation rules
- Functions create or update records in critical tables (master data, audit logs) or shared tables
- Embedding Connector Functions
- Your organization has many citizen developers with varying skill levels

**Centralized model:**

- **Function creators**: Tulip champion, IT/OT team, solution architects
- **Function users**: All app builders
- **Approval process**: Function changes require review
- **Documentation**: Central repository of function specifications

## When to decentralize function creation

Decentralize when:

- Apps are isolated (don't share tables or logic)
- Small team of experienced app builders
- Rapid iteration is more important than strict governance
- Functions are app-specific, not reusable

**Decentralized model:**

- **Function creators**: Any app builder
- **Function users**: Same app builder or their immediate team
- **Approval process**: Lightweight or none
- **Documentation**: Optional, embedded in function names

## Training path for new app builders

**First: Learn to use functions**

- Understand what functions are and why they exist
- Call pre-built functions from triggers
- Map inputs and outputs correctly

**Then: Learn to modify functions**

- Update function logic (non-breaking changes)
- Test functions
- Understand where-used implications

**Finally: Learn to create functions**

- Identify opportunities for new functions
- Design input/output signatures
- Implement complex logic
- Document functions for others

**Rationale**: Most app builders primarily use functions created by others. Focus training on usage first, creation later.

---

## Additional Resources

### Tulip Library

- [Tulip Library Functions](https://library.tulip.co/search?section=Functions)

### Tulip Community

- [Tulip Community Functions posts](https://community.tulip.co/tag/functions)

---

Did you find what you were looking for?

You can also head to [community.tulip.co](https://community.tulip.co/?utm_source=intercom&amp;utm_medium=article-link&amp;utm_campaign=all) to post your question or see if others have solved a similar topic!
