# Forest Documentation ## Docs - [Add business logic](https://docs.forest.app/get-started/add-business-logic.md): Create actions and computed fields to go beyond CRUD - [Architecture](https://docs.forest.app/get-started/connect/architectures/self-hosted.md): Deploy the Forest back-end in your infrastructure while Forest hosts the UI - the most popular deployment option - [ActiveRecord datasource](https://docs.forest.app/get-started/connect/data-sources/active-record.md): Connect Forest to your ActiveRecord models with support for relationships and Live Query - [Airtable](https://docs.forest.app/get-started/connect/data-sources/airtable.md): Connect Airtable bases to Forest - [CosmosDB](https://docs.forest.app/get-started/connect/data-sources/cosmosdb.md): Connect Azure CosmosDB to Forest - [Overview](https://docs.forest.app/get-started/connect/data-sources/custom-datasources/overview.md): Build a custom datasource for any system without an existing connector, using the translation or replication strategy - [Replication](https://docs.forest.app/get-started/connect/data-sources/custom-datasources/replication.md): Build custom datasources that maintain a local cache of external data for better performance - [Translation](https://docs.forest.app/get-started/connect/data-sources/custom-datasources/translation.md): Build your own datasource by translating Forest queries into your API's query language - [Dummy datasource](https://docs.forest.app/get-started/connect/data-sources/dummy.md): In-memory test datasource for development, testing, and demonstrations - [Elasticsearch](https://docs.forest.app/get-started/connect/data-sources/elasticsearch.md): Connect to Elasticsearch indices with query and aggregation support - [GraphQL / Hasura](https://docs.forest.app/get-started/connect/data-sources/graphql-hasura.md): Connect GraphQL or Hasura to Forest - [Hubspot](https://docs.forest.app/get-started/connect/data-sources/hubspot.md): Connect to Hubspot CRM data including contacts, companies, deals, and tickets - [MongoDB datasource](https://docs.forest.app/get-started/connect/data-sources/mongodb.md): Connect directly to MongoDB without an ORM using automatic schema introspection - [Mongoid datasource](https://docs.forest.app/get-started/connect/data-sources/mongoid.md): Connect Forest to MongoDB using Mongoid models with flexible nested document handling - [Mongoose datasource](https://docs.forest.app/get-started/connect/data-sources/mongoose.md): Connect to MongoDB using Mongoose ODM with flexible data transformation strategies - [Add datasources to your project](https://docs.forest.app/get-started/connect/data-sources/overview.md): Connect one or multiple data sources - SQL databases, MongoDB, APIs, or custom connectors - [RPC](https://docs.forest.app/get-started/connect/data-sources/rpc.md): Connect back-ends over RPC: expose a remote data source, or distribute one back-end across microservices - [Sequelize datasource](https://docs.forest.app/get-started/connect/data-sources/sequelize.md): Connect Forest to your existing Sequelize models with support for scopes, hooks, and associations - [Snowflake](https://docs.forest.app/get-started/connect/data-sources/snowflake.md): Connect Snowflake tables and views to Forest (read-only, via ODBC) - [SQL datasource](https://docs.forest.app/get-started/connect/data-sources/sql.md): Connect to PostgreSQL, MySQL, MariaDB, or SQL Server with automatic schema introspection - [Stripe](https://docs.forest.app/get-started/connect/data-sources/stripe.md): Connect Stripe to Forest - [Zendesk](https://docs.forest.app/get-started/connect/data-sources/zendesk.md): Surface a Zendesk Support account (tickets, users, organizations) as Forest collections - [Data Types](https://docs.forest.app/get-started/connect/data-types.md): Reference of data types available in Forest - [Environment Variables](https://docs.forest.app/get-started/connect/environment-variables.md): Configure your Forest back-end with required environment variables - [MCP Connectors](https://docs.forest.app/get-started/connect/integrations/mcp-servers.md): Connect external tools to Forest using the Model Context Protocol: native connectors and custom servers. - [All integrations](https://docs.forest.app/get-started/connect/integrations/overview.md): Every third-party tool Forest connects to: data sources, action plugins, embeds, and AI assistants. - [Overview](https://docs.forest.app/get-started/connect/overview.md): Load your data into Forest and enrich it with additional sources - [Relationships](https://docs.forest.app/get-started/connect/relationships-schema.md): Define and understand relationships between collections in your Forest schema - [TypeScript Autocompletion](https://docs.forest.app/get-started/connect/typescript-autocompletion.md): Enable TypeScript autocompletion and type safety for your Forest Node.js back-end - [Audit & Activity Logs](https://docs.forest.app/get-started/control/audit.md): Track and monitor all user actions in Forest - [Two-Factor Authentication (2FA)](https://docs.forest.app/get-started/control/authentication/2fa.md): Enable and enforce two-factor authentication to add an extra layer of security to user accounts - [SCIM Integration with Okta](https://docs.forest.app/get-started/control/authentication/scim-okta.md): Automate user management by integrating Okta's SCIM provisioning with Forest - [Manual SCIM Integration with Okta](https://docs.forest.app/get-started/control/authentication/scim-okta-manual.md): Manually configure Okta's SCIM provisioning with Forest using the SCIMForest 2.0 Test App - [SCIM Integration with OneLogin](https://docs.forest.app/get-started/control/authentication/scim-onelogin.md): Automate user management by integrating OneLogin's SCIM provisioning with Forest - [Single Sign-On (SSO)](https://docs.forest.app/get-started/control/authentication/sso.md): Authenticate users through your identity provider using SAML 2.0 - [Azure AD / Entra ID SSO](https://docs.forest.app/get-started/control/authentication/sso-providers/azure.md): Configure SSO with Azure Active Directory / Microsoft Entra ID - [Generic SAML 2.0 SSO](https://docs.forest.app/get-started/control/authentication/sso-providers/generic-saml.md): Configure SSO with any SAML 2.0-compatible Identity Provider - [Google Workspace SSO](https://docs.forest.app/get-started/control/authentication/sso-providers/google.md): Configure SSO with Google Workspace - [Okta SSO](https://docs.forest.app/get-started/control/authentication/sso-providers/okta.md): Configure SSO with Okta - [SSO Provider Guides](https://docs.forest.app/get-started/control/authentication/sso-providers/overview.md): Configure Single Sign-On with your Identity Provider - [Roles & Permissions](https://docs.forest.app/get-started/control/roles-permissions.md): Create and manage custom roles with granular permission controls in Forest - [Scopes](https://docs.forest.app/get-started/control/scopes-and-visibility.md): Control which records users can see with dynamic data filtering - [Two-Factor Authentication Enforcement](https://docs.forest.app/get-started/control/security/2fa-enforcement.md): Enforce 2FA for specific environments - [Security & Privacy Architecture](https://docs.forest.app/get-started/control/security/architecture.md): Understand how Forest protects your data with privacy-first architecture and robust security measures - [Auto Logout](https://docs.forest.app/get-started/control/security/auto-logout.md): Force user session logout after inactivity - [IP Whitelisting](https://docs.forest.app/get-started/control/security/ip-whitelisting.md): Control which IP addresses can access your back-office - [Teams](https://docs.forest.app/get-started/control/teams.md): Give each group its own layout: a tailored interface, dashboards, and data visibility per team - [Browse & customize your data](https://docs.forest.app/get-started/customize-your-back-office.md): Explore your records, then shape collections and fields into a back-office your team can actually use - [Deploy](https://docs.forest.app/get-started/deploy.md): Move your Forest back-end to production and set up your development workflow - [Expose to AI agents](https://docs.forest.app/get-started/expose-to-ai-agents.md): Turn on the MCP server so AI agents can act on your data under the same governance - [Introduction](https://docs.forest.app/get-started/intro-to-forest-admin.md): What Forest is, how it works, and what you'll build in this guide. - [Invite a developer](https://docs.forest.app/get-started/invite-a-developer.md): Onboard a new developer onto the project with their own development environment - [Invite your team](https://docs.forest.app/get-started/invite-your-team.md): Add users, create teams, and assign permissions - [Billing & Invoices](https://docs.forest.app/get-started/project-settings/billing.md): View your subscription details and access invoice history - [General Settings](https://docs.forest.app/get-started/project-settings/general.md): Configure core project settings including name, timezone, and locale - [Interface & Branding](https://docs.forest.app/get-started/project-settings/interface.md): Customize your Forest interface with white-label branding and custom domains - [User Management](https://docs.forest.app/get-started/project-settings/users.md): Add, manage, and remove users in your Forest project - [Quickstart](https://docs.forest.app/get-started/quickstart.md): Get your Forest back-end running locally in 15 minutes. - [Set up operations](https://docs.forest.app/get-started/set-up-operations.md): Build workspaces, workflows, and inboxes for your team's daily operations - [Layout maintenance](https://docs.forest.app/guides/best-practices/layout-maintenance.md): Best practices for keeping your Forest layouts clean, fast, and up to date over time. - [Performance](https://docs.forest.app/guides/best-practices/performance.md): Tips and patterns to optimize your Forest agent - [Troubleshooting](https://docs.forest.app/guides/best-practices/troubleshooting.md): Common issues and how to fix them - [Migrating from Agent v1 to v2](https://docs.forest.app/guides/migration/from-v1/overview.md): Complete guide to moving your setup from a legacy agent to the current generation. - [Migrating datasources](https://docs.forest.app/guides/migration/from-v1/steps/datasources.md): Move your datasource configuration from a legacy agent to the current generation. - [Migrating Smart Actions](https://docs.forest.app/guides/migration/from-v1/steps/smart-actions.md): Convert legacy Smart Actions to the current agent's action API. - [Migrating Smart Fields](https://docs.forest.app/guides/migration/from-v1/steps/smart-fields.md): How to migrate smart fields from Agent v1 to the new agent - [Migrating Smart Relationships](https://docs.forest.app/guides/migration/from-v1/steps/smart-relationships.md): How to migrate smart relationships from Agent v1 to the new agent - [Migrating Smart Segments](https://docs.forest.app/guides/migration/from-v1/steps/smart-segments.md): How to migrate smart segments from Agent v1 to the new agent - [Forest documentation](https://docs.forest.app/index.md): Operational infrastructure for regulated operations. - [Legacy agents](https://docs.forest.app/legacy/agents-overview.md): Reference documentation for legacy Forest agents, maintained for migration purposes only. - [Readme](https://docs.forest.app/legacy/javascript-agents/how-tos/databases/README.md) - [Add new databases](https://docs.forest.app/legacy/javascript-agents/how-tos/databases/add-new-databases.md) - [Connect to a read replica database](https://docs.forest.app/legacy/javascript-agents/how-tos/databases/connect-to-a-read-replica-database.md): ⚠️ This tutorial is for SQL databases only. - [Manage SQL views](https://docs.forest.app/legacy/javascript-agents/how-tos/databases/manage-sql-views.md) - [Plug multiple schemas](https://docs.forest.app/legacy/javascript-agents/how-tos/databases/plug-multiple-schemas.md) - [Populate a postgreSQL database on Heroku](https://docs.forest.app/legacy/javascript-agents/how-tos/databases/populate-a-postgresql-database-on-heroku.md): Learn how to populate a remote postgreSQL database on Heroku from an existing database dump. - [Use a demo SQL database](https://docs.forest.app/legacy/javascript-agents/how-tos/databases/use-a-demo-database.md) - [Upgrade](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/README.md) - [Changing your domain name](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/changing-your-domain-name.md) - [Manage your Forest environments programmatically](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/manage-your-forest-admin-programmatically.md) - [Migrate to the new role system](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/migrate-to-the-new-role-system.md) - [Monitor your Forest's status](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/monitor-your-forests-status.md) - [Push your new version to production](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/push-your-new-version-to-production.md) - [Update your models' definition](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/update-your-models-definition.md) - [Upgrade notes (SQL, Mongodb)](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/upgrade-notes-sql-mongodb/README.md) - [Upgrade to v3](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/upgrade-notes-sql-mongodb/upgrade-to-v3.md): Help developers to move from v2 to v3. Please read carefully and integrate the following breaking changes to ensure a smooth update. - [Upgrade to v4](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/upgrade-notes-sql-mongodb/upgrade-to-v4.md): The purpose of this note is to help developers to upgrade their agent from v3 to v4. Please read carefully and integrate the following breaking changes to ensure a smooth update.​ - [Upgrade to v5](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/upgrade-notes-sql-mongodb/upgrade-to-v5.md): The purpose of this note is to help developers to upgrade their agent from v4 to v5. Please read carefully and integrate the following breaking changes to ensure a smooth upgrade.​ - [Upgrade to v6](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/upgrade-notes-sql-mongodb/upgrade-to-v6.md): The purpose of this note is to help developers to upgrade their agent from v5 to v6. Please read carefully and integrate the following breaking changes to ensure a smooth upgrade.​ - [Upgrade to v7](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/upgrade-notes-sql-mongodb/upgrade-to-v7.md): The purpose of this note is to help developers to upgrade their agent from v6 to v7. Please read carefully and integrate the following breaking changes to ensure a smooth upgrade.​ - [Upgrade to v8](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/upgrade-notes-sql-mongodb/upgrade-to-v8.md): The purpose of this note is to help developers to upgrade their agent from v7 to v8. Please read carefully and integrate the following breaking changes to ensure a smooth upgrade.​ - [Upgrade to v9](https://docs.forest.app/legacy/javascript-agents/how-tos/maintain/upgrade-notes-sql-mongodb/upgrade-to-v9.md): The purpose of this note is to help developers to upgrade their agent from v8 to v9. Please read carefully and integrate the following breaking changes to ensure a smooth upgrade.​ - [Releases Support](https://docs.forest.app/legacy/javascript-agents/how-tos/releases-support/overview.md): In order to give more visibility to our developers community, about agent usability and support in the future, you will find, in this page, the important lifecycle dates per agent stack and versions. - [Settings](https://docs.forest.app/legacy/javascript-agents/how-tos/settings/README.md) - [Customize your /forest folder](https://docs.forest.app/legacy/javascript-agents/how-tos/settings/customize-your-forest-folder.md) - [Disable automatic Forest schema update](https://docs.forest.app/legacy/javascript-agents/how-tos/settings/disable-automatic-forest-admin-schema-update.md) - [Display extensive logs](https://docs.forest.app/legacy/javascript-agents/how-tos/settings/display-extensive-logs.md) - [Include/exclude models](https://docs.forest.app/legacy/javascript-agents/how-tos/settings/include-exclude-models.md) - [Setup](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/README.md) - [Configuring CORS headers](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/configuring-cors-headers.md) - [Connecting Forest to Your Database (Forest Cloud)](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/connecting-forest-admin-to-your-database-forest-cloud.md) - [Deploy your admin backend on Heroku](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/deploy-to-production-on-heroku.md) - [Deploy your admin backend to Ubuntu server](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/deploy-to-production-to-ubuntu-server.md): The goal of this tutorial is to help people deploy their admin backend to Ubuntu server. - [Deploy Your Admin Backend With Aws](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/deploy-your-admin-backend-with-aws.md): This tutorial is designed to assist you with a step-by-step guide to deploy the admin backend to Amazon Web Services, using EC2, ELB, ACM and Route53. - [Deploy your admin backend to Google Cloud Platform](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/deploy-your-admin-backend-with-google-cloud-platform.md) - [Forest IP white-listing (Forest Cloud)](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/forest-admin-ip-white-listing-forest-cloud.md): Authorizing Forest IP Addresses for Enhanced Security - [Install](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/install.md) - [Install Forest on a remote machine](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/install-forest-admin-on-a-remote-machine.md) - [Prevent permission errors at installation](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/prevent-permission-errors-at-installation.md): If you see an EACCES error when you try to install a lumber-cli globally, follow this tutorial. - [Running Forest on multiple servers](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/running-forest-admin-on-multiple-servers.md) - [Troubleshooting](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/troubleshooting.md) - [Use Forest with a read-only database](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/use-forest-admin-with-a-read-only-database.md) - [Why HTTPS is necessary even locally](https://docs.forest.app/legacy/javascript-agents/how-tos/setup/why-https-is-necessary-even-locally.md) - [Create and manage Smart Actions](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/create-and-manage-smart-actions/overview.md) - [Use a Smart Action Form](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/create-and-manage-smart-actions/use-a-smart-action-form.md) - [Smart Action Intents](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/create-and-manage-smart-actions/use-action-intent.md) - [Actions](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/overview.md) - [Smart Action Examples](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/README.md) - [Add many existing records at the same time (hasMany-belongsTo relationship)](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/add-many-existing-records-at-the-same-time-hasmany-belongsto-relationship.md): This example shows how to associate multiple existing records at once to a record using a simple smart action. - [BelongsToMany edition through smart collection](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/belongstomany-edition-through-smart-collection.md) - [Calculate the distance between two string addresses](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/calculate-the-distance-between-two-string-addresses.md) - [Call a n8n webhook](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/call-a-webhook-with-record-ids.md) - [Create a record with a multiselect through a many-to-many relationship](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/create-a-record-with-a-multiselect-through-a-many-to-many-relationship.md) - [Custom dynamic dropdown in a form using smart collections](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/custom-dynamic-dropdown-in-a-form-using-smart-collections.md) - [Dropdown with list of values in smart action form](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/dropdown-with-list-of-values-in-smart-action-form.md) - [Handle enums with alias labels in a smart action](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/handle-enums-with-alias-labels-in-a-smart-action.md) - [Impersonate a user](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/impersonate-a-user.md) - [Refresh hasMany relationship in smart action](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/refresh-hasmany-relationship-in-smart-action.md) - [Retrieve smart field info in a smart action](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/retrieve-smart-field-info-in-a-smart-action.md) - [Smart action to create several records from the input of a single smart action form](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/smart-action-to-create-several-records-from-the-input-of-a-single-smart-action-form.md) - [Smart segment to restrict access to an action on a record details view](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/smart-segment-to-restrict-access-to-an-action-on-a-record-details-view.md) - [Anonymize users in bulk](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/update-users-in-bulk.md): This example shows how to bulk update users - [Upload files to amazon s3](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/upload-files-to-amazon-s3.md) - [Upload several files with the File Picker](https://docs.forest.app/legacy/javascript-agents/reference-guide/actions/smart-action-examples/upload-several-files-with-the-file-picker.md) - [Create a Smart Chart](https://docs.forest.app/legacy/javascript-agents/reference-guide/charts/create-a-smart-chart.md) - [Create an API-based Chart](https://docs.forest.app/legacy/javascript-agents/reference-guide/charts/create-an-api-based-chart.md) - [Create Charts with AWS Redshift](https://docs.forest.app/legacy/javascript-agents/reference-guide/charts/create-charts-with-aws-redshift.md) - [Charts](https://docs.forest.app/legacy/javascript-agents/reference-guide/charts/overview.md) - [Integrations](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/README.md) - [Algolia](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/algolia/README.md) - [Geocode an address with Algolia](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/algolia/geocode-an-address-with-algolia.md) - [Azure Table Storage](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/azure-table-storage.md) - [Dwolla](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/dwolla/README.md) - [Display Dwolla customers](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/dwolla/display-dwolla-customers.md) - [Display Dwolla funding sources](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/dwolla/display-dwolla-funding-sources.md) - [Display Dwolla transfers](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/dwolla/display-dwolla-transfers.md) - [Dwolla Service](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/dwolla/dwolla-service.md) - [Link users and Dwolla customers](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/dwolla/link-users-and-dwolla-customers.md) - [Readme](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/elasticsearch/README.md) - [Another example](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/elasticsearch/another-example.md) - [Elasticsearch service/utils](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/elasticsearch/elasticsearch-service-utils.md) - [Interact with your Elasticsearch data](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/elasticsearch/interact-with-your-elasticsearch-data.md) - [Readme](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/hubspot/README.md) - [Create a Hubspot company](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/hubspot/create-a-hubspot-company.md) - [Display Hubspot companies](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/hubspot/display-hubspot-companies.md) - [Intercom](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/intercom.md) - [Mixpanel](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/mixpanel.md) - [Razorpay](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/razorpay.md) - [Readme](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/slack/README.md) - [Send Smart Action notifications to Slack](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/slack/send-smart-action-notifications-to-slack.md) - [Stripe](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/stripe.md) - [Readme](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/twilio/README.md) - [Send an SMS with Twilio and Zapier](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/twilio/send-an-sms-with-twilio-and-zapier.md) - [Authentication, Filtering & Sorting](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/zendesk/authentication-filtering-and-sorting.md) - [Bonus: Direct link to Zendesk + change priority of a ticket](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/zendesk/bonus-direct-link-to-zendesk--and--change-priority-of-a-ticket.md) - [Display Zendesk tickets](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/zendesk/display-zendesk-tickets.md) - [Display Zendesk users](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/zendesk/display-zendesk-users.md) - [Zendesk](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/zendesk/overview.md) - [View tickets related to a user](https://docs.forest.app/legacy/javascript-agents/reference-guide/integrations/zendesk/view-tickets-related-to-a-user.md) - [Enrich your models](https://docs.forest.app/legacy/javascript-agents/reference-guide/models/enrich-your-models.md): ⚠️ This page is relevant only if you installed Forest directly on a database (SQL/Mongodb). If you installed in a Rails/Django/Laravel app, you manage your models like you normally would. - [Models](https://docs.forest.app/legacy/javascript-agents/reference-guide/models/overview.md): ⚠️ This page and sub-pages are relevant only if you installed Forest directly on a database (SQL/Mongodb). If you installed in a Rails/Django/Laravel app, you manage your models like you normal - [GetIdsFromRequest](https://docs.forest.app/legacy/javascript-agents/reference-guide/models/relationships/create-a-smart-relationship/getidsfromrequest.md) - [Create a Smart relationship](https://docs.forest.app/legacy/javascript-agents/reference-guide/models/relationships/create-a-smart-relationship/overview.md) - [Relationships](https://docs.forest.app/legacy/javascript-agents/reference-guide/models/relationships/overview.md) - [Smart Relationship Examples](https://docs.forest.app/legacy/javascript-agents/reference-guide/models/relationships/smart-relationship-examples/README.md) - [Smart hasMany relationship in mongoDB](https://docs.forest.app/legacy/javascript-agents/reference-guide/models/relationships/smart-relationship-examples/smart-hasmany-relationship-in-mongodb.md) - [Performance](https://docs.forest.app/legacy/javascript-agents/reference-guide/performance.md): Loading performance is key to streamlining your operations. Here are a few steps we recommend taking to ensure your Forest is optimized. - [Default routes](https://docs.forest.app/legacy/javascript-agents/reference-guide/routes/default-routes.md): ⚠️ This page is relevant only if you installed Forest directly on a database (SQL/Mongodb). If you installed in a Rails app, the default routes are managed within your Rails app. - [Extend a route](https://docs.forest.app/legacy/javascript-agents/reference-guide/routes/extend-a-route.md): ⚠️ This page is relevant only if you installed Forest directly on a database (SQL/Mongodb). If you installed in a Rails app, check the "Override a route" page. - [Override a route](https://docs.forest.app/legacy/javascript-agents/reference-guide/routes/override-a-route.md) - [Routes](https://docs.forest.app/legacy/javascript-agents/reference-guide/routes/overview.md) - [Create a scope more than one level away based on a Smart field](https://docs.forest.app/legacy/javascript-agents/reference-guide/scopes/create-a-scope-more-than-one-level-away-based-on-a-smart-field.md) - [Scopes](https://docs.forest.app/legacy/javascript-agents/reference-guide/scopes/overview.md) - [Scope on a smart field extracting a json's column attribute](https://docs.forest.app/legacy/javascript-agents/reference-guide/scopes/scope-on-a-smart-field-extracting-a-jsons-column-attribute.md) - [Examples](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-collections/examples/README.md) - [Create a Smart Collection with Amazon S3](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-collections/examples/amazon-s3-integration-example.md) - [Create records from a Smart collection](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-collections/examples/create-records-from-a-smart-collection.md) - [Searchable smart collection with records fetched from hubspot API](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-collections/examples/searchable-smart-collection-with-records-fetched-from-hubspot-api.md) - [Smart relationship between model and stripe cards](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-collections/examples/smart-relationship-between-model-and-stripe-cards.md) - [Smart Collections](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-collections/overview.md) - [Serializing your records](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-collections/serializing-your-records.md) - [Smart Fields](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/overview.md) - [Smart Field Examples](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/README.md) - [Add an HTML credit card as a smart field in a summary view](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/add-an-html-credit-card-as-a-smart-field-in-a-summary-view.md) - [Add fields destined to the create form](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/add-fields-destined-to-the-create-form.md) - [Add validation to a smart field edition](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/add-validation-to-a-smart-field-edition.md) - [Display field with complex info in html format (rich text editor)](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/display-field-with-complex-info-in-html-format-rich-text-editor.md) - [Display smart field as progress bar using rich text editor](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/display-smart-field-as-progress-bar-using-rich-text-editor.md) - [Generate signed urls to display S3 files in a smart field](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/generate-signed-urls-to-display-s3-files-in-a-smart-field.md) - [Print a status object in a single line field](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/print-a-status-object-in-a-single-line-field.md) - [Sort by smart field](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/sort-by-smart-field.md) - [Sort by smart field that includes value from a belongsTo relationship](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/sort-by-smart-field-that-includes-value-from-a-belongsto-relationship.md) - [Update point geometry field using a smart field and algolia api](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-fields/smart-field-examples/update-point-geometry-field-using-a-smart-field-and-algolia-api.md) - [Smart Segments](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-segments.md) - [Create a Calendar view](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-views/create-a-calendar-view.md) - [Create a custom moderation view](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-views/create-a-custom-moderation-view.md) - [Create a custom tinder-like validation view](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-views/create-a-custom-tinder-like-validation-view.md) - [Create a dynamic calendar view for an event-booking use case](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-views/create-a-dynamic-calendar-view-for-an-event-booking-use-case.md) - [Create a Gallery view](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-views/create-a-gallery-view.md) - [Create a Map view](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-views/create-a-map-view.md) - [Create a Shipping view](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-views/create-a-shipping-view.md) - [Smart Views](https://docs.forest.app/legacy/javascript-agents/reference-guide/smart-views/overview.md) - [Readme](https://docs.forest.app/legacy/ruby-agent/how-tos/databases/README.md) - [Add new databases](https://docs.forest.app/legacy/ruby-agent/how-tos/databases/add-new-databases.md) - [Connect to a read replica database](https://docs.forest.app/legacy/ruby-agent/how-tos/databases/connect-to-a-read-replica-database.md): ⚠️ This tutorial is for SQL databases only. - [Manage SQL views](https://docs.forest.app/legacy/ruby-agent/how-tos/databases/manage-sql-views.md) - [Plug multiple schemas](https://docs.forest.app/legacy/ruby-agent/how-tos/databases/plug-multiple-schemas.md) - [Use a demo SQL database](https://docs.forest.app/legacy/ruby-agent/how-tos/databases/use-a-demo-database.md) - [Upgrade](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/README.md) - [Changing your domain name](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/changing-your-domain-name.md) - [Manage your Forest environments programmatically](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/manage-your-forest-admin-programmatically.md) - [Migrate to the new role system](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/migrate-to-the-new-role-system.md) - [Monitor your Forest's status](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/monitor-your-forests-status.md) - [Push your new version to production](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/push-your-new-version-to-production.md) - [Update your models' definition](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/update-your-models-definition.md) - [Upgrade notes (Rails)](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/upgrade-notes-rails/README.md) - [Upgrade to v5](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/upgrade-notes-rails/untitled.md): The purpose of this note is to help developers to upgrade their agent from v4 to v5. Please read carefully and integrate the following breaking changes to ensure a smooth update.​ - [Upgrade to v3](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/upgrade-notes-rails/upgrade-to-v3.md): Help developers to move from v2 to v3. Please read carefully and integrate the following breaking changes to ensure a smooth update. - [Upgrade to v4](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/upgrade-notes-rails/upgrade-to-v4.md): The purpose of this note is to help developers to upgrade their agent from v3 to v4. Please read carefully and integrate the following breaking changes to ensure a smooth update.​ - [Upgrade to v6](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/upgrade-notes-rails/upgrade-to-v6.md): The purpose of this note is to help developers to upgrade their agent from v5 to v6. Please read carefully and integrate the following breaking changes to ensure a smooth update.​ - [Upgrade to v7](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/upgrade-notes-rails/upgrade-to-v7.md): The purpose of this note is to help developers to upgrade their agent from v6 to v7. Please read carefully and integrate the following breaking changes to ensure a smooth update.​ - [Upgrade to v8](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/upgrade-notes-rails/upgrade-to-v8.md): The purpose of this note is to help developers to upgrade their agent from v7 to v8. Please read carefully and integrate the following breaking changes to ensure a smooth update.​ - [Upgrade to v9](https://docs.forest.app/legacy/ruby-agent/how-tos/maintain/upgrade-notes-rails/upgrade-to-v9.md): The purpose of this note is to help developers to upgrade their agent from v8 to v9. Please read carefully and integrate the following breaking changes to ensure a smooth update.​ - [Settings](https://docs.forest.app/legacy/ruby-agent/how-tos/settings/README.md) - [Customize your /forest folder](https://docs.forest.app/legacy/ruby-agent/how-tos/settings/customize-your-forest-folder.md) - [Disable automatic Forest schema update](https://docs.forest.app/legacy/ruby-agent/how-tos/settings/disable-automatic-forest-admin-schema-update.md) - [Display extensive logs](https://docs.forest.app/legacy/ruby-agent/how-tos/settings/display-extensive-logs.md) - [Include/exclude models](https://docs.forest.app/legacy/ruby-agent/how-tos/settings/include-exclude-models.md) - [Setup](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/README.md) - [Configuring CORS headers](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/configuring-cors-headers.md) - [Connecting Forest to Your Database (Forest Cloud)](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/connecting-forest-admin-to-your-database-forest-cloud.md) - [Deploy your admin backend on Heroku](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/deploy-to-production-on-heroku.md) - [Deploy your admin backend to Ubuntu server](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/deploy-to-production-to-ubuntu-server.md): The goal of this tutorial is to help people deploy their admin backend to Ubuntu server. - [Deploy Your Admin Backend With Aws](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/deploy-your-admin-backend-with-aws.md): This tutorial is designed to assist you with a step-by-step guide to deploy the admin backend to Amazon Web Services, using EC2, ELB, ACM and Route53. - [Deploy your admin backend to Google Cloud Platform](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/deploy-your-admin-backend-with-google-cloud-platform.md) - [Forest IP white-listing (Forest Cloud)](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/forest-admin-ip-white-listing-forest-cloud.md): Authorizing Forest IP Addresses for Enhanced Security - [Install](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/install.md) - [Install Forest on a remote machine](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/install-forest-admin-on-a-remote-machine.md) - [Prevent permission errors at installation](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/prevent-permission-errors-at-installation.md): If you see an EACCES error when you try to install a lumber-cli globally, follow this tutorial. - [Running Forest on multiple servers](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/running-forest-admin-on-multiple-servers.md) - [Troubleshooting](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/troubleshooting.md) - [Use Forest with a read-only database](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/use-forest-admin-with-a-read-only-database.md) - [Why HTTPS is necessary even locally](https://docs.forest.app/legacy/ruby-agent/how-tos/setup/why-https-is-necessary-even-locally.md) - [Create and manage Smart Actions](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/create-and-manage-smart-actions/overview.md) - [Use a Smart Action Form](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/create-and-manage-smart-actions/use-a-smart-action-form.md) - [Smart Action Intents](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/create-and-manage-smart-actions/use-action-intent.md) - [Actions](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/overview.md) - [Smart Action Examples](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/README.md) - [Add many existing records at the same time (hasMany-belongsTo relationship)](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/add-many-existing-records-at-the-same-time-hasmany-belongsto-relationship.md): This example shows how to associate multiple existing records at once to a record using a simple smart action. - [BelongsToMany edition through smart collection](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/belongstomany-edition-through-smart-collection.md) - [Calculate the distance between two string addresses](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/calculate-the-distance-between-two-string-addresses.md) - [Call a n8n webhook](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/call-a-webhook-with-record-ids.md) - [Create a record with a multiselect through a many-to-many relationship](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/create-a-record-with-a-multiselect-through-a-many-to-many-relationship.md) - [Custom dynamic dropdown in a form using smart collections](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/custom-dynamic-dropdown-in-a-form-using-smart-collections.md) - [Dropdown with list of values in smart action form](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/dropdown-with-list-of-values-in-smart-action-form.md) - [Handle enums with alias labels in a smart action](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/handle-enums-with-alias-labels-in-a-smart-action.md) - [Impersonate a user](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/impersonate-a-user.md) - [Refresh hasMany relationship in smart action](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/refresh-hasmany-relationship-in-smart-action.md) - [Retrieve smart field info in a smart action](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/retrieve-smart-field-info-in-a-smart-action.md) - [Smart action to create several records from the input of a single smart action form](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/smart-action-to-create-several-records-from-the-input-of-a-single-smart-action-form.md) - [Smart segment to restrict access to an action on a record details view](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/smart-segment-to-restrict-access-to-an-action-on-a-record-details-view.md) - [Anonymize users in bulk](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/update-users-in-bulk.md): This example shows how to bulk update users - [Upload files to amazon s3](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/upload-files-to-amazon-s3.md) - [Upload several files with the File Picker](https://docs.forest.app/legacy/ruby-agent/reference-guide/actions/smart-action-examples/upload-several-files-with-the-file-picker.md) - [Create a Smart Chart](https://docs.forest.app/legacy/ruby-agent/reference-guide/charts/create-a-smart-chart.md) - [Create an API-based Chart](https://docs.forest.app/legacy/ruby-agent/reference-guide/charts/create-an-api-based-chart.md) - [Create Charts with AWS Redshift](https://docs.forest.app/legacy/ruby-agent/reference-guide/charts/create-charts-with-aws-redshift.md) - [Charts](https://docs.forest.app/legacy/ruby-agent/reference-guide/charts/overview.md) - [Integrations](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/README.md) - [Algolia](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/algolia/README.md) - [Geocode an address with Algolia](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/algolia/geocode-an-address-with-algolia.md) - [Azure Table Storage](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/azure-table-storage.md) - [Dwolla](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/dwolla/README.md) - [Display Dwolla customers](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/dwolla/display-dwolla-customers.md) - [Display Dwolla funding sources](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/dwolla/display-dwolla-funding-sources.md) - [Display Dwolla transfers](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/dwolla/display-dwolla-transfers.md) - [Dwolla Service](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/dwolla/dwolla-service.md) - [Link users and Dwolla customers](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/dwolla/link-users-and-dwolla-customers.md) - [Readme](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/elasticsearch/README.md) - [Another example](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/elasticsearch/another-example.md) - [Elasticsearch service/utils](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/elasticsearch/elasticsearch-service-utils.md) - [Interact with your Elasticsearch data](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/elasticsearch/interact-with-your-elasticsearch-data.md) - [Readme](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/hubspot/README.md) - [Create a Hubspot company](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/hubspot/create-a-hubspot-company.md) - [Display Hubspot companies](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/hubspot/display-hubspot-companies.md) - [Intercom](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/intercom.md) - [Mixpanel](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/mixpanel.md) - [Razorpay](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/razorpay.md) - [Readme](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/slack/README.md) - [Send Smart Action notifications to Slack](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/slack/send-smart-action-notifications-to-slack.md) - [Stripe](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/stripe.md) - [Readme](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/twilio/README.md) - [Send an SMS with Twilio and Zapier](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/twilio/send-an-sms-with-twilio-and-zapier.md) - [Authentication, Filtering & Sorting](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/zendesk/authentication-filtering-and-sorting.md) - [Bonus: Direct link to Zendesk + change priority of a ticket](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/zendesk/bonus-direct-link-to-zendesk--and--change-priority-of-a-ticket.md) - [Display Zendesk tickets](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/zendesk/display-zendesk-tickets.md) - [Display Zendesk users](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/zendesk/display-zendesk-users.md) - [Zendesk](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/zendesk/overview.md) - [View tickets related to a user](https://docs.forest.app/legacy/ruby-agent/reference-guide/integrations/zendesk/view-tickets-related-to-a-user.md) - [Enrich your models](https://docs.forest.app/legacy/ruby-agent/reference-guide/models/enrich-your-models.md): ⚠️ This page is relevant only if you installed Forest directly on a database (SQL/Mongodb). If you installed in a Rails/Django/Laravel app, you manage your models like you normally would. - [Models](https://docs.forest.app/legacy/ruby-agent/reference-guide/models/overview.md): ⚠️ This page and sub-pages are relevant only if you installed Forest directly on a database (SQL/Mongodb). If you installed in a Rails/Django/Laravel app, you manage your models like you normal - [GetIdsFromRequest](https://docs.forest.app/legacy/ruby-agent/reference-guide/models/relationships/create-a-smart-relationship/getidsfromrequest.md) - [Create a Smart relationship](https://docs.forest.app/legacy/ruby-agent/reference-guide/models/relationships/create-a-smart-relationship/overview.md) - [Relationships](https://docs.forest.app/legacy/ruby-agent/reference-guide/models/relationships/overview.md) - [Smart Relationship Examples](https://docs.forest.app/legacy/ruby-agent/reference-guide/models/relationships/smart-relationship-examples/README.md) - [Performance](https://docs.forest.app/legacy/ruby-agent/reference-guide/performance.md): Loading performance is key to streamlining your operations. Here are a few steps we recommend taking to ensure your Forest is optimized. - [Default routes](https://docs.forest.app/legacy/ruby-agent/reference-guide/routes/default-routes.md): ⚠️ This page is relevant only if you installed Forest directly on a database (SQL/Mongodb). If you installed in a Rails app, the default routes are managed within your Rails app. - [Extend a route](https://docs.forest.app/legacy/ruby-agent/reference-guide/routes/extend-a-route.md): ⚠️ This page is relevant only if you installed Forest directly on a database (SQL/Mongodb). If you installed in a Rails app, check the "Override a route" page. - [Override a route](https://docs.forest.app/legacy/ruby-agent/reference-guide/routes/override-a-route.md) - [Routes](https://docs.forest.app/legacy/ruby-agent/reference-guide/routes/overview.md) - [Create a scope more than one level away based on a Smart field](https://docs.forest.app/legacy/ruby-agent/reference-guide/scopes/create-a-scope-more-than-one-level-away-based-on-a-smart-field.md) - [Scopes](https://docs.forest.app/legacy/ruby-agent/reference-guide/scopes/overview.md) - [Scope on a smart field extracting a json's column attribute](https://docs.forest.app/legacy/ruby-agent/reference-guide/scopes/scope-on-a-smart-field-extracting-a-jsons-column-attribute.md) - [Examples](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-collections/examples/README.md) - [Create a Smart Collection with Amazon S3](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-collections/examples/amazon-s3-integration-example.md) - [Create records from a Smart collection](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-collections/examples/create-records-from-a-smart-collection.md) - [Searchable smart collection with records fetched from hubspot API](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-collections/examples/searchable-smart-collection-with-records-fetched-from-hubspot-api.md) - [Smart relationship between model and stripe cards](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-collections/examples/smart-relationship-between-model-and-stripe-cards.md) - [Smart Collections](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-collections/overview.md) - [Serializing your records](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-collections/serializing-your-records.md) - [Smart Fields](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/overview.md) - [Smart Field Examples](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/README.md) - [Add an HTML credit card as a smart field in a summary view](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/add-an-html-credit-card-as-a-smart-field-in-a-summary-view.md) - [Add fields destined to the create form](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/add-fields-destined-to-the-create-form.md) - [Add validation to a smart field edition](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/add-validation-to-a-smart-field-edition.md) - [Display field with complex info in html format (rich text editor)](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/display-field-with-complex-info-in-html-format-rich-text-editor.md) - [Display smart field as progress bar using rich text editor](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/display-smart-field-as-progress-bar-using-rich-text-editor.md) - [Generate signed urls to display S3 files in a smart field](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/generate-signed-urls-to-display-s3-files-in-a-smart-field.md) - [Print a status object in a single line field](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/print-a-status-object-in-a-single-line-field.md) - [Sort by smart field](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/sort-by-smart-field.md) - [Sort by smart field that includes value from a belongsTo relationship](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/sort-by-smart-field-that-includes-value-from-a-belongsto-relationship.md) - [Update point geometry field using a smart field and algolia api](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-fields/smart-field-examples/update-point-geometry-field-using-a-smart-field-and-algolia-api.md) - [Smart Segments](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-segments.md) - [Create a Calendar view](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-views/create-a-calendar-view.md) - [Create a custom moderation view](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-views/create-a-custom-moderation-view.md) - [Create a custom tinder-like validation view](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-views/create-a-custom-tinder-like-validation-view.md) - [Create a dynamic calendar view for an event-booking use case](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-views/create-a-dynamic-calendar-view-for-an-event-booking-use-case.md) - [Create a Gallery view](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-views/create-a-gallery-view.md) - [Create a Map view](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-views/create-a-map-view.md) - [Create a Shipping view](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-views/create-a-shipping-view.md) - [Smart Views](https://docs.forest.app/legacy/ruby-agent/reference-guide/smart-views/overview.md) - [Collection configuration](https://docs.forest.app/product/build/collection-configuration.md): Configure how collections behave, display, and interact with your operators. - [Smart views](https://docs.forest.app/product/build/custom-views/smart-views.md): Build fully custom collection views using JavaScript, HTML, and CSS, beyond what the table layout offers. - [Fields & widgets](https://docs.forest.app/product/build/fields-and-widgets/overview.md): Understand how fields and widgets work together to display and edit your data in Forest. - [Layout editor](https://docs.forest.app/product/build/layout-editor.md): Customize the appearance and structure of your collections without writing code. - [Layout versioning](https://docs.forest.app/product/build/layout-versioning.md): Manage, version, and deploy your Forest layout configurations across environments using branches. - [Pagination Configuration](https://docs.forest.app/product/build/pagination.md): Configure page size and pagination behavior for collections, and optimize performance on large datasets. - [Search Configuration](https://docs.forest.app/product/build/search-configuration.md): Configure which fields are searchable in your collections, how search behaves, and how to extend or replace the default search logic. - [Workspaces](https://docs.forest.app/product/build/workspaces.md): Build custom, use-case specific interfaces for your operations teams, without writing code. - [Example 2: Incident Management](https://docs.forest.app/product/build/workspaces/incident-management.md): Build a support triage workspace that lets back-ends review, resolve, and escalate incidents in one place. - [Example 1: KYC](https://docs.forest.app/product/build/workspaces/kyc.md): Step-by-step guide to building a document review and applicant approval workspace. - [Approval workflows](https://docs.forest.app/product/collaborate/approval-workflows.md): Review, approve, or reject actions that require team validation before execution. - [Notes](https://docs.forest.app/product/collaborate/notes.md): Leave notes and communicate with your team directly on records in Forest. - [Forest MCP Server](https://docs.forest.app/product/embed/mcp-server.md): Securely access your Forest data and actions from AI-enabled third party apps using the Model Context Protocol. - [n8n Node](https://docs.forest.app/product/embed/n8n.md): Trigger Forest actions and access your data from n8n workflows. - [Zendesk App](https://docs.forest.app/product/embed/zendesk.md): Embed Forest data and actions inside Zendesk tickets and customer profiles. - [Executing actions](https://docs.forest.app/product/execute/actions.md): Trigger actions and perform operations on your data directly from Forest. - [Browsing & searching data](https://docs.forest.app/product/execute/browse.md): Navigate, search, filter, and explore your data effectively in Forest. - [Export data](https://docs.forest.app/product/execute/export.md): Export your data to CSV for reporting, analysis, and integration with other tools. - [Executing workflows](https://docs.forest.app/product/execute/workflows.md): Trigger and monitor multi-step workflows from Forest. - [Charts](https://docs.forest.app/product/manage/charts/overview.md): Visualize your data with KPI cards, time-based trends, distributions, and more. - [Smart Charts](https://docs.forest.app/product/manage/charts/smart-charts.md): Code your own custom charts when no-code chart types aren't enough. - [Dashboards](https://docs.forest.app/product/manage/dashboards.md): Create and organize dashboards to monitor KPIs and metrics across your team. - [Inbox](https://docs.forest.app/product/manage/inbox.md): Automatically distribute tasks across your team with Inboxes. - [Team performance](https://docs.forest.app/product/manage/team-performance.md): Monitor team productivity and operational efficiency. - [Product](https://docs.forest.app/product/overview.md): What Forest does, workflows, governance, MCP, decision traces, and the surfaces that build them. - [Context & scope](https://docs.forest.app/product/process/actions/custom-actions/context-scope.md): Understanding action scopes and the context object - [Forms](https://docs.forest.app/product/process/actions/custom-actions/forms.md): Collect user input with static and dynamic action forms - [Overview](https://docs.forest.app/product/process/actions/custom-actions/overview.md): Build advanced actions with custom code for complex business logic - [Related data invalidation](https://docs.forest.app/product/process/actions/custom-actions/related-data-invalidation.md): Refresh related data after action execution - [Result types](https://docs.forest.app/product/process/actions/custom-actions/result-types.md): Return different types of feedback from your actions - [Overview](https://docs.forest.app/product/process/actions/overview.md): Trigger custom operations on your data across Forest and 3rd party apps - [Environments & branches](https://docs.forest.app/product/process/advanced-concepts/developer-workflow/environments-and-branches.md) - [Schema updates](https://docs.forest.app/product/process/advanced-concepts/developer-workflow/schema-updates.md): Keep your Forest back-office in sync when your database schema changes. - [TypeScript setup & autocompletion](https://docs.forest.app/product/process/advanced-concepts/developer-workflow/typescript-setup.md): Enable full TypeScript support and IDE autocompletion for your Forest agent. - [Hooks](https://docs.forest.app/product/process/advanced-concepts/hooks/overview.md) - [Active Storage](https://docs.forest.app/product/process/advanced-concepts/plugins/active-storage.md): Expose Rails Active Storage attachments as File fields in Forest - [Plugins](https://docs.forest.app/product/process/advanced-concepts/plugins/overview.md) - [Zendesk plugins](https://docs.forest.app/product/process/advanced-concepts/plugins/zendesk.md): Surface Zendesk operations as actions on any collection (create and close tickets) - [Self-hosted AI](https://docs.forest.app/product/process/advanced-concepts/self-hosted-ai.md): Route Forest AI features through your own back-end (OpenAI or Anthropic) so your data never leaves your infrastructure - [Testing your back-end](https://docs.forest.app/product/process/advanced-concepts/testing.md): Test your Forest customizations locally without connecting to Forest servers - [Binary fields](https://docs.forest.app/product/process/fields/binary.md) - [Computed fields](https://docs.forest.app/product/process/fields/computed.md) - [Filtering & Sorting](https://docs.forest.app/product/process/fields/filter.md) - [Import, rename & remove fields](https://docs.forest.app/product/process/fields/import-rename-remove.md) - [Overview](https://docs.forest.app/product/process/fields/overview.md): Customize how fields behave in your Forest back-office - [Field validation](https://docs.forest.app/product/process/fields/validation.md) - [Writing behavior](https://docs.forest.app/product/process/fields/write.md) - [Computed foreign keys](https://docs.forest.app/product/process/relationships/computed-fks.md) - [Multiple-records relationships](https://docs.forest.app/product/process/relationships/multiple-records.md) - [Overview](https://docs.forest.app/product/process/relationships/overview.md) - [Single-record relationships](https://docs.forest.app/product/process/relationships/single-record.md) - [Under the hood](https://docs.forest.app/product/process/relationships/under-the-hood.md) - [Creating segments](https://docs.forest.app/product/process/segments/creating-segments.md): Create and manage segments through the Forest UI, no code required - [Code-based segments](https://docs.forest.app/product/process/segments/smart-segments/overview.md) - [Workflows](https://docs.forest.app/product/process/workflows/overview.md): Formalize your operational processes in a no-code editor, leveraging your data, actions, and 3rd party apps for reliable, secure, and efficient executions. - [Agent API Reference](https://docs.forest.app/reference/agent-api/nodejs.md): Complete API reference for the Forest Node.js Agent - [Agent SDK overview](https://docs.forest.app/reference/agent-api/overview.md): How Forest agents fit into your stack across supported languages. - [Ruby Agent API Reference](https://docs.forest.app/reference/agent-api/ruby.md): Complete API reference for the Forest Ruby Agent - [API Authentication](https://docs.forest.app/reference/api/authentication.md): Learn how to authenticate requests to the Forest Public API - [Activity Logs](https://docs.forest.app/reference/api/endpoints/activity-logs.md): List activity logs for a project environment - [Admin Logs](https://docs.forest.app/reference/api/endpoints/admin-logs.md): List admin logs for a project - [Notes](https://docs.forest.app/reference/api/endpoints/notes.md): List notes and their messages for a project environment - [Public API](https://docs.forest.app/reference/api/introduction.md): Programmatic access to Forest activity logs, admin logs, and notes. - [API Rate Limits](https://docs.forest.app/reference/api/rate-limits.md): Understand and work within Forest API rate limits - [forest branch](https://docs.forest.app/reference/cli/branch.md): Create a new branch or list and delete your existing branches - [forest deploy](https://docs.forest.app/reference/cli/deploy.md): Deploy layout changes from your current branch to the production (reference) environment - [forest init](https://docs.forest.app/reference/cli/init.md): Set up your Forest development environment in your current project directory - [forest login](https://docs.forest.app/reference/cli/login.md): Authenticate the Forest CLI with your Forest account - [Forest CLI](https://docs.forest.app/reference/cli/overview.md): Command-line tool for managing your Forest projects, branches, environments, and deployments - [forest push](https://docs.forest.app/reference/cli/push.md): Push layout changes from your current branch to its origin environment - [forest switch](https://docs.forest.app/reference/cli/switch.md): Switch to a different branch in your local Forest development environment - [Reference](https://docs.forest.app/reference/overview.md): Agent SDKs, public API, CLI, and schema format. - [.forestadmin-schema.json](https://docs.forest.app/reference/schema/forestadmin-schema.md): Reference for the auto-generated schema file describing your collections and customizations.