# How to's

- [Smart Relationship](/woodshop/how-tos/smart-relationship.md)
- [GetIdsFromRequest](/woodshop/how-tos/smart-relationship/getidsfromrequest.md)
- [Smart views](/woodshop/how-tos/smart-views.md)
- [Display a calendar view](/woodshop/how-tos/smart-views/calendar-view.md)
- [Create a custom tinder-like validation view](/woodshop/how-tos/smart-views/create-a-custom-tinder-like-validation-view.md)
- [Create a custom moderation view](/woodshop/how-tos/smart-views/create-a-custom-moderation-view.md)
- [Create a dynamic calendar view for an event-booking use case](/woodshop/how-tos/smart-views/create-a-custom-view.md)
- [Configure environment variables](/woodshop/how-tos/configure-environment-variables.md)
- [NodeJS/Express projects](/woodshop/how-tos/configure-environment-variables/nodejs-express-projects.md)
- [Elasticsearch Integration](/woodshop/how-tos/create-a-smart-collection-with-elasticsearch.md)
- [Interact with your Elasticsearch data](/woodshop/how-tos/create-a-smart-collection-with-elasticsearch/play-with-your-elasticsearch-data.md)
- [Elasticsearch service/utils](/woodshop/how-tos/create-a-smart-collection-with-elasticsearch/elasticsearch-service-utils.md)
- [Another example](/woodshop/how-tos/create-a-smart-collection-with-elasticsearch/display-elasticsearch-data.md)
- [Zendesk Integration](/woodshop/how-tos/zendesk-integration.md): Start learning to code Forest Admin Smart features by integrating Zendesk in your Admin Panel
- [Authentication, Filtering & Sorting](/woodshop/how-tos/zendesk-integration/authentication-filtering-and-sorting.md)
- [Display Zendesk tickets](/woodshop/how-tos/zendesk-integration/display-zendesk-tickets.md)
- [Display Zendesk users](/woodshop/how-tos/zendesk-integration/display-zendesk-users.md)
- [View tickets related to a user](/woodshop/how-tos/zendesk-integration/associate-user-tickets.md)
- [Bonus: Direct link to Zendesk + change priority of a ticket](/woodshop/how-tos/zendesk-integration/bonus-link-to-zendesk-+-change-priority-of-a-ticket.md)
- [Dwolla integration](/woodshop/how-tos/dwolla-integration.md)
- [Display Dwolla customers](/woodshop/how-tos/dwolla-integration/display-dwolla-customers.md)
- [Display Dwolla funding sources](/woodshop/how-tos/dwolla-integration/display-dwolla-funding-sources.md)
- [Display Dwolla transfers](/woodshop/how-tos/dwolla-integration/display-dwolla-transfers.md)
- [Link users and Dwolla customers](/woodshop/how-tos/dwolla-integration/link-users-and-dwolla-customers.md)
- [Dwolla service](/woodshop/how-tos/dwolla-integration/dwolla-servive.md)
- [Make filters case insensitive](/woodshop/how-tos/make-filters-case-insensitive.md)
- [Use Azure Table Storage](/woodshop/how-tos/use-azure-table-storage.md)
- [Create multiple line charts](/woodshop/how-tos/create-multiple-line-charts.md)
- [Create Charts with AWS Redshift](/woodshop/how-tos/create-charts-with-aws-redshift.md): Use Amazon AWS Redshift as a datasource
- [View soft-deleted records](/woodshop/how-tos/view-soft-deleted-records.md)
- [Send Smart Action notifications to Slack](/woodshop/how-tos/send-smart-action-notifications-to-your-slack-workspace.md)
- [Authenticate a Forest Admin API against an OAuth protected API Backend](/woodshop/how-tos/authenticate-a-forest-admin-api-against-an-oauth-protected-api-backend.md)
- [Translate your project into TypeScript](/woodshop/how-tos/translate-your-project-into-typescript.md)
- [V8](/woodshop/how-tos/translate-your-project-into-typescript/v8.md)
- [Migrate Mongoose files](/woodshop/how-tos/translate-your-project-into-typescript/v8/migrate-mongoose-files.md)
- [Migrate Sequelize files](/woodshop/how-tos/translate-your-project-into-typescript/v8/migrate-sequelize-files.md)
- [v7](/woodshop/how-tos/translate-your-project-into-typescript/v7.md)
- [Migrate Mongoose files](/woodshop/how-tos/translate-your-project-into-typescript/v7/migrate-mongoose-files.md): This guide has been created to help you to translate your generated JavaScript app to TypeScript
- [Migrate Sequelize files](/woodshop/how-tos/translate-your-project-into-typescript/v7/migrate-sequelize-files.md): This guide has been created to help you to translate your generated JavaScript app to TypeScript
- [v6](/woodshop/how-tos/translate-your-project-into-typescript/translate-your-app-into-typescript.md)
- [Geocode an address with Algolia](/woodshop/how-tos/geocode-an-address.md)
- [Display/edit a nested document](/woodshop/how-tos/display-edit-a-nested-document.md)
- [Send an SMS with Zapier](/woodshop/how-tos/trigger-a-webhook-with-zapier.md)
- [Hash a password with bcrypt](/woodshop/how-tos/hash-a-password-with-bcrypt.md)
- [Display a customized response](/woodshop/how-tos/display-a-customized-response.md)
- [Search on a smart field with two joints](/woodshop/how-tos/search-on-a-smart-field-with-joints.md)
- [Override the count route](/woodshop/how-tos/override-the-count-route.md)
- [Make a field readOnly with Sequelize](/woodshop/how-tos/make-field-readonly-with-sequelize.md)
- [Hubspot integration](/woodshop/how-tos/hubspot.md)
- [Create a Hubspot company](/woodshop/how-tos/hubspot/create-hubspot-company-from-a-record.md)
- [Display Hubspot companies](/woodshop/how-tos/hubspot/create-a-smart-collection-of-hubspot-companies.md)
- [Impersonate a user](/woodshop/how-tos/impersonate-a-user.md)
- [Import data from a CSV file](/woodshop/how-tos/import-data-from-a-csv-file.md)
- [Import data from a JSON file](/woodshop/how-tos/upload-json-file-to-a-string-field.md)
- [Load smart fields using hook](/woodshop/how-tos/load-smart-fields-using-sequelizes-afterfind-hook.md)
- [Pre-fill a form with data from a relationship](/woodshop/how-tos/pre-fill-smart-action-form-with-data-coming-from-a-relationship.md)
- [Re-use a smart field logic](/woodshop/how-tos/re-use-a-smart-field-logic.md)
- [Link to record info in a smart view](/woodshop/how-tos/link-to-record-detail-in-a-gallery-view.md)
- [Display data in html format](/woodshop/how-tos/display-data-in-html-format.md)
- [Upload files to AWS S3](/woodshop/how-tos/upload-files-to-s3.md)
- [Display AWS S3 files from signed URLs](/woodshop/how-tos/display-s3-signed-urls.md)
- [Prevent record update](/woodshop/how-tos/prevent-record-update-based-on-specific-criterias.md)
- [Display, search and update attributes from a JSON field](/woodshop/how-tos/update-attributes-from-a-jsonb-field.md)
- [Add many existing records at the same time (hasMany-belongsTo relationship)](/woodshop/how-tos/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.
- [Track users’ logs with morgan](/woodshop/how-tos/get-user-specific-activity-from-your-server-logs.md)
- [Search on relationship fields by default](/woodshop/how-tos/how-to-search-on-belongsto-relationship-fields-by-default.md)
- [Export related data as CSV](/woodshop/how-tos/export-related-data-as-csv.md)
- [Run automated tests](/woodshop/how-tos/run-automated-tests.md)
