--- title: "Functions governance" slug: "functions-governance" tags: ["Functions", "governance"] updated: 2026-01-09T21:08:35Z published: 2026-01-09T21:08:35Z canonical: "support.tulip.co/functions-governance" --- > ## 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 r380, Functions is generally available. **Read more in the [Community thread](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&utm_medium=article-link&utm_campaign=all) to post your question or see if others have solved a similar topic!