# Reference Guide

- [How it works](/documentation/reference-guide/how-it-works.md)
- [Environments](/documentation/reference-guide/how-it-works/environments.md)
- [Developing on Forest Admin](/documentation/reference-guide/how-it-works/developing-on-forest-admin.md)
- [Using branches](/documentation/reference-guide/how-it-works/developing-on-forest-admin/using-branches.md)
- [Deploying your changes](/documentation/reference-guide/how-it-works/developing-on-forest-admin/deploying-your-changes.md)
- [Forest CLI commands](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands.md)
- [init](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/init.md)
- [login](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/login.md)
- [branch](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/branch.md)
- [switch](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/switch.md)
- [set-origin](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/set-origin.md)
- [push](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/push.md)
- [environments:reset](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/environments-reset.md)
- [environments:create](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/environments-create.md)
- [deploy](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/deploy.md)
- [schema:diff \[beta\]](/documentation/reference-guide/how-it-works/developing-on-forest-admin/forest-cli-commands/schema-diff-beta.md): This page explains how to update your schema and avoid issues when pushing layout changes.
- [Express packages](/documentation/reference-guide/how-it-works/developing-on-forest-admin/express-packages.md)
- [Models](/documentation/reference-guide/models.md): ⚠️ This page and sub-pages are relevant only if you installed Forest Admin directly on a database (SQL/Mongodb). If you installed in a Rails/Django/Laravel app, you manage your models like you normal
- [Enrich your models](/documentation/reference-guide/models/enrich-your-models.md): ⚠️ This page is relevant only if you installed Forest Admin directly on a database (SQL/Mongodb). If you installed in a Rails/Django/Laravel app, you manage your models like you normally would.
- [Relationships](/documentation/reference-guide/models/relationships.md)
- [Create a Smart relationship](/documentation/reference-guide/models/relationships/create-a-smart-relationship.md)
- [GetIdsFromRequest](/documentation/reference-guide/models/relationships/create-a-smart-relationship/getidsfromrequest.md)
- [Smart Relationship Examples](/documentation/reference-guide/models/relationships/smart-relationship-examples.md)
- [Smart hasMany relationship in mongoDB](/documentation/reference-guide/models/relationships/smart-relationship-examples/smart-hasmany-relationship-in-mongodb.md)
- [Actions](/documentation/reference-guide/actions.md)
- [Create and manage Smart Actions](/documentation/reference-guide/actions/create-and-manage-smart-actions.md)
- [Use a Smart Action Form](/documentation/reference-guide/actions/create-and-manage-smart-actions/use-a-smart-action-form.md)
- [Use a Smart Action Intent](/documentation/reference-guide/actions/create-and-manage-smart-actions/use-action-intent.md)
- [Smart Action Examples](/documentation/reference-guide/actions/smart-action-examples.md)
- [Calculate the distance between two string addresses](/documentation/reference-guide/actions/smart-action-examples/calculate-the-distance-between-two-string-addresses.md)
- [Impersonate a user](/documentation/reference-guide/actions/smart-action-examples/impersonate-a-user.md)
- [Create a record with a multiselect through a many-to-many relationship](/documentation/reference-guide/actions/smart-action-examples/create-a-record-with-a-multiselect-through-a-many-to-many-relationship.md)
- [Handle enums with alias labels in a smart action](/documentation/reference-guide/actions/smart-action-examples/handle-enums-with-alias-labels-in-a-smart-action.md)
- [Dropdown with list of values in smart action form](/documentation/reference-guide/actions/smart-action-examples/dropdown-with-list-of-values-in-smart-action-form.md)
- [Custom dynamic dropdown in a form using smart collections](/documentation/reference-guide/actions/smart-action-examples/custom-dynamic-dropdown-in-a-form-using-smart-collections.md)
- [Refresh hasMany relationship in smart action](/documentation/reference-guide/actions/smart-action-examples/refresh-hasmany-relationship-in-smart-action.md)
- [Smart segment to restrict access to an action on a record details view](/documentation/reference-guide/actions/smart-action-examples/smart-segment-to-restrict-access-to-an-action-on-a-record-details-view.md)
- [BelongsToMany edition through smart collection](/documentation/reference-guide/actions/smart-action-examples/belongstomany-edition-through-smart-collection.md)
- [Upload files to amazon s3](/documentation/reference-guide/actions/smart-action-examples/upload-files-to-amazon-s3.md)
- [Upload several files with the File Picker](/documentation/reference-guide/actions/smart-action-examples/upload-several-files-with-the-file-picker.md)
- [Retrieve smart field info in a smart action](/documentation/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](/documentation/reference-guide/actions/smart-action-examples/smart-action-to-create-several-records-from-the-input-of-a-single-smart-action-form.md)
- [Add many existing records at the same time (hasMany-belongsTo relationship)](/documentation/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.
- [Call a webhook with record ids](/documentation/reference-guide/actions/smart-action-examples/call-a-webhook-with-record-ids.md)
- [Bulk update records](/documentation/reference-guide/actions/smart-action-examples/update-users-in-bulk.md): This example shows how to bulk update users
- [Smart Fields](/documentation/reference-guide/smart-fields.md)
- [Smart Field Examples](/documentation/reference-guide/smart-fields/smart-field-examples.md)
- [Add an HTML credit card as a smart field in a summary view](/documentation/reference-guide/smart-fields/smart-field-examples/add-an-html-credit-card-as-a-smart-field-in-a-summary-view.md)
- [Display field with complex info in html format (rich text editor)](/documentation/reference-guide/smart-fields/smart-field-examples/display-field-with-complex-info-in-html-format-rich-text-editor.md)
- [Generate signed urls to display S3 files in a smart field](/documentation/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](/documentation/reference-guide/smart-fields/smart-field-examples/print-a-status-object-in-a-single-line-field.md)
- [Sort by smart field](/documentation/reference-guide/smart-fields/smart-field-examples/sort-by-smart-field.md)
- [Sort by smart field that includes value from a belongsTo relationship](/documentation/reference-guide/smart-fields/smart-field-examples/sort-by-smart-field-that-includes-value-from-a-belongsto-relationship.md)
- [Add fields destined to the create form](/documentation/reference-guide/smart-fields/smart-field-examples/add-fields-destined-to-the-create-form.md)
- [Add validation to a smart field edition](/documentation/reference-guide/smart-fields/smart-field-examples/add-validation-to-a-smart-field-edition.md)
- [Display smart field as progress bar using rich text editor](/documentation/reference-guide/smart-fields/smart-field-examples/display-smart-field-as-progress-bar-using-rich-text-editor.md)
- [Update point geometry field using a smart field and algolia api](/documentation/reference-guide/smart-fields/smart-field-examples/update-point-geometry-field-using-a-smart-field-and-algolia-api.md)
- [Smart Collections](/documentation/reference-guide/smart-collections.md)
- [Examples](/documentation/reference-guide/smart-collections/examples.md)
- [Create a Smart Collection with Amazon S3](/documentation/reference-guide/smart-collections/examples/amazon-s3-integration-example.md)
- [Smart relationship between model and stripe cards](/documentation/reference-guide/smart-collections/examples/smart-relationship-between-model-and-stripe-cards.md)
- [Create records from a Smart collection](/documentation/reference-guide/smart-collections/examples/create-records-from-a-smart-collection.md)
- [Searchable smart collection with records fetched from hubspot API](/documentation/reference-guide/smart-collections/examples/searchable-smart-collection-with-records-fetched-from-hubspot-api.md)
- [Serializing your records](/documentation/reference-guide/smart-collections/serializing-your-records.md)
- [Routes](/documentation/reference-guide/routes.md)
- [Default routes](/documentation/reference-guide/routes/default-routes.md): ⚠️ This page is relevant only if you installed Forest Admin 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](/documentation/reference-guide/routes/extend-a-route.md): ⚠️ This page is relevant only if you installed Forest Admin directly on a database (SQL/Mongodb). If you installed in a Rails app, check the "Override a route" page.
- [Override a route](/documentation/reference-guide/routes/override-a-route.md)
- [Integrations](/documentation/reference-guide/integrations.md)
- [Stripe](/documentation/reference-guide/integrations/stripe.md)
- [Mixpanel](/documentation/reference-guide/integrations/mixpanel.md)
- [Intercom](/documentation/reference-guide/integrations/intercom.md)
- [Elasticsearch](/documentation/reference-guide/integrations/elasticsearch.md)
- [Interact with your Elasticsearch data](/documentation/reference-guide/integrations/elasticsearch/interact-with-your-elasticsearch-data.md)
- [Elasticsearch service/utils](/documentation/reference-guide/integrations/elasticsearch/elasticsearch-service-utils.md)
- [Another example](/documentation/reference-guide/integrations/elasticsearch/another-example.md)
- [Zendesk](/documentation/reference-guide/integrations/zendesk.md)
- [Authentication, Filtering & Sorting](/documentation/reference-guide/integrations/zendesk/authentication-filtering-and-sorting.md)
- [Display Zendesk tickets](/documentation/reference-guide/integrations/zendesk/display-zendesk-tickets.md)
- [Display Zendesk users](/documentation/reference-guide/integrations/zendesk/display-zendesk-users.md)
- [View tickets related to a user](/documentation/reference-guide/integrations/zendesk/view-tickets-related-to-a-user.md)
- [Bonus: Direct link to Zendesk + change priority of a ticket](/documentation/reference-guide/integrations/zendesk/bonus-direct-link-to-zendesk-+-change-priority-of-a-ticket.md)
- [Dwolla](/documentation/reference-guide/integrations/dwolla.md)
- [Display Dwolla customers](/documentation/reference-guide/integrations/dwolla/display-dwolla-customers.md)
- [Display Dwolla funding sources](/documentation/reference-guide/integrations/dwolla/display-dwolla-funding-sources.md)
- [Display Dwolla transfers](/documentation/reference-guide/integrations/dwolla/display-dwolla-transfers.md)
- [Link users and Dwolla customers](/documentation/reference-guide/integrations/dwolla/link-users-and-dwolla-customers.md)
- [Dwolla Service](/documentation/reference-guide/integrations/dwolla/dwolla-service.md)
- [Razorpay](/documentation/reference-guide/integrations/razorpay.md)
- [Hubspot](/documentation/reference-guide/integrations/hubspot.md)
- [Create a Hubspot company](/documentation/reference-guide/integrations/hubspot/create-a-hubspot-company.md)
- [Display Hubspot companies](/documentation/reference-guide/integrations/hubspot/display-hubspot-companies.md)
- [Twilio](/documentation/reference-guide/integrations/twilio.md)
- [Send an SMS with Twilio and Zapier](/documentation/reference-guide/integrations/twilio/send-an-sms-with-twilio-and-zapier.md)
- [Azure Table Storage](/documentation/reference-guide/integrations/azure-table-storage.md)
- [Slack](/documentation/reference-guide/integrations/slack.md)
- [Send Smart Action notifications to Slack](/documentation/reference-guide/integrations/slack/send-smart-action-notifications-to-slack.md)
- [Algolia](/documentation/reference-guide/integrations/algolia.md)
- [Geocode an address with Algolia](/documentation/reference-guide/integrations/algolia/geocode-an-address-with-algolia.md)
- [Smart Views](/documentation/reference-guide/smart-views.md)
- [Create a Map view](/documentation/reference-guide/smart-views/create-a-map-view.md)
- [Create a Calendar view](/documentation/reference-guide/smart-views/create-a-calendar-view.md)
- [Create a Shipping view](/documentation/reference-guide/smart-views/create-a-shipping-view.md)
- [Create a Gallery view](/documentation/reference-guide/smart-views/create-a-gallery-view.md)
- [Create a custom tinder-like validation view](/documentation/reference-guide/smart-views/create-a-custom-tinder-like-validation-view.md)
- [Create a dynamic calendar view for an event-booking use case](/documentation/reference-guide/smart-views/create-a-dynamic-calendar-view-for-an-event-booking-use-case.md)
- [Create a custom moderation view](/documentation/reference-guide/smart-views/create-a-custom-moderation-view.md)
- [Smart Segments](/documentation/reference-guide/smart-segments.md)
- [Scopes](/documentation/reference-guide/scopes.md)
- [Create a scope more than one level away based on a Smart field](/documentation/reference-guide/scopes/create-a-scope-more-than-one-level-away-based-on-a-smart-field.md)
- [Scope on a smart field extracting a json's column attribute](/documentation/reference-guide/scopes/scope-on-a-smart-field-extracting-a-jsons-column-attribute.md)
- [Performance](/documentation/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.
- [Charts](/documentation/reference-guide/charts.md)
- [Create an API-based Chart](/documentation/reference-guide/charts/create-an-api-based-chart.md)
- [Create a Smart Chart](/documentation/reference-guide/charts/create-a-smart-chart.md)
- [Create Charts with AWS Redshift](/documentation/reference-guide/charts/create-charts-with-aws-redshift.md)
