{"id":20247725,"url":"https://github.com/trailheadapps/coral-cloud","last_synced_at":"2025-04-05T23:05:16.948Z","repository":{"id":257348382,"uuid":"857598583","full_name":"trailheadapps/coral-cloud","owner":"trailheadapps","description":"Sample application that showcases Data Cloud, Agents and Prompts.","archived":false,"fork":false,"pushed_at":"2025-03-21T11:15:51.000Z","size":5625,"stargazers_count":78,"open_issues_count":3,"forks_count":49,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-29T22:04:11.654Z","etag":null,"topics":["agents","ai","cloud","data","prompt","salesforce"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trailheadapps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-15T04:50:45.000Z","updated_at":"2025-03-29T16:40:48.000Z","dependencies_parsed_at":"2024-09-16T06:52:23.772Z","dependency_job_id":"6822239c-e766-4580-a9c4-94432de13de3","html_url":"https://github.com/trailheadapps/coral-cloud","commit_stats":null,"previous_names":["trailheadapps/coral-cloud"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailheadapps%2Fcoral-cloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailheadapps%2Fcoral-cloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailheadapps%2Fcoral-cloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailheadapps%2Fcoral-cloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailheadapps","download_url":"https://codeload.github.com/trailheadapps/coral-cloud/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411226,"owners_count":20934653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","cloud","data","prompt","salesforce"],"created_at":"2024-11-14T09:39:06.953Z","updated_at":"2025-04-05T23:05:16.925Z","avatar_url":"https://github.com/trailheadapps.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Coral Cloud Resorts\n\n[![CI](https://github.com/trailheadapps/coral-cloud/actions/workflows/ci.yml/badge.svg)](https://github.com/trailheadapps/coral-cloud/actions/workflows/ci.yml)\n\n![App logo](docs/gfx/app-logo.png)\n\nWelcome to Coral Cloud Resorts, a sample hospitality application. Coral Cloud Resorts is a fictional resort that uses Agentforce, Data Cloud, and the Salesforce Platform to deliver highly personalized guest experiences. Explore ways to bring agents into business workflows, including new smart automation capabilities, content generation, and summarization.\n\nThe Coral Cloud Resorts app showcases **Data Cloud**, **Agents** and **Prompts**.\n\n## Table of contents\n\n- [Installation](#installation)\n\n- [Troubleshooting](#troubleshooting)\n\n- [Optional installation instructions](#optional-installation-instructions)\n\n## Installation\n\n### Requirements\n\n#### Environment\n\nThe Coral Cloud Resorts app requires licenses for the following features:\n\n- Data Cloud\n- Agents\n- Prompt Builder field generation templates\n- Einstein for Sales (for Prompt Builder sales emails)\n\n\u003cdiv\u003e\n    \u003cimg src=\"https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70,w_50/learn/projects/quick-start-explore-the-coral-cloud-sample-app/1a059541a60d078109227d8f3a83404a_badge.png\" align=\"left\" alt=\"Trailhead Badge\"/\u003e\n    Obtain an Org with these features and learn more about the app with the \u003ca href=\"https://trailhead.salesforce.com/content/learn/projects/quick-start-explore-the-coral-cloud-sample-app\"\u003eQuick Start: Explore the Coral Cloud Sample App\u003c/a\u003e Trailhead badge or by watching this \u003ca href=\"https://www.youtube.com/watch?v=m1ZxPgwOHOs\"\u003eshort presentation video\u003ca\u003e.\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n\u003c/div\u003e\n\n\u003e [!IMPORTANT]\n\u003e Start from a brand-new environment to avoid conflicts with previous work you may have done.\n\n#### Salesforce CLI\n\n[Install the Salesforce CLI](https://developer.salesforce.com/tools/salesforcecli) or check that your installed CLI version is greater than `2.56.7` by running `sf -v` in a terminal.\n\nIf you need to [update the Salesforce CLI](https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_update_cli.htm), either run `sf update` or `npm install --global @salesforce/cli` depending on how you installed the CLI.\n\n### Step 1. Feature activation\n\n1. Make sure that Data Cloud provisioning is complete before moving forward.\n\n    To check this, go to **Data Cloud Setup**. The page should look like this if provisioning is complete. If you see a **Get Started** button, click it and wait for the process to complete. This can take up to ten minutes.\n\n![Data Cloud Setup screenshot showing that povisioning is complete](docs/gfx/dc-setup-provisioning.png)\n\n1. From **Setup**, go to **Einstein Setup** and click **Turn on Einstein**.\n\n1. From **Setup**, go to **Agents** and toggle on **Agentforce**. You may need to refresh the page to see the Agents menu after turning on Einstein.\n\n1. From **Setup**, go to **Einstein for Sales** and ensure that **Turn on Sales Emails** is toggled on.\n\n### Step 2. Base metadata deployment\n\n1. Clone this repository:\n\n    ```bash\n    git clone https://github.com/trailheadapps/coral-cloud\n    cd coral-cloud\n    ```\n\n1. Authorize your org with the Salesforce CLI, set it as the default org for this project and save an alias (`coral-cloud` in the command below).\n\n    ```bash\n    sf org login web -s -a coral-cloud\n    ```\n\n1. Deploy the base app metadata.\n\n    ```bash\n    sf project deploy start -d cc-base-app\n    ```\n\n1. Assign the Coral Cloud permission set to the default user.\n\n    ```bash\n    sf org assign permset -n Coral_Cloud\n    ```\n\n1. Import some sample data.\n\n    ```bash\n    sf data tree import -p ./data/data-plan.json\n    ```\n\n1. Generate additional sample data with this anonymous Apex script.\n\n    ```bash\n    sf apex run -f apex-scripts/setup.apex\n    ```\n\n1. Deploy the employee agent metadata.\n\n    ```bash\n    sf project deploy start -d cc-employee-app\n    ```\n\n1. Install a Data Kit to add Data Cloud components to your org.\n\n    ```bash\n    sf package install -p 04tHr000000ku4k -w 10\n    ```\n\n1. If your org isn't already open, open it now:\n\n    ```bash\n    sf org open\n    ```\n\n## Troubleshooting\n\n### Salesforce CLI data plan import fails with STORAGE_LIMIT_EXCEEDED\n\nThis may happen if you already have data in the org or if a previous data plan import failed and some records were saved.\nTo fix it, clear existing record by running the following CLI command in a terminal:\n\n```bash\nsf apex run -f apex-scripts/wipe-data.apex\n```\n\n## Optional Installation Instructions\n\nThis repository contains several files that are relevant if you want to integrate modern web development tools into your Salesforce development processes or into your continuous integration/continuous deployment processes.\n\n### Code formatting\n\n[Prettier](https://prettier.io/) is a code formatter used to ensure consistent formatting across your code base. To use Prettier with Visual Studio Code, install [this extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) from the Visual Studio Code Marketplace. The [.prettierignore](/.prettierignore) and [.prettierrc](/.prettierrc) files are provided as part of this repository to control the behavior of the Prettier formatter.\n\n\u003e [!IMPORTANT]\n\u003e The current Apex Prettier plugin version requires that you install Java 11 or above.\n\n### Code linting\n\n[ESLint](https://eslint.org/) is a popular JavaScript linting tool used to identify stylistic errors and erroneous constructs. To use ESLint with Visual Studio Code, install [this extension](https://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode-lwc) from the Visual Studio Code Marketplace. The [.eslintignore](/.eslintignore) file is provided as part of this repository to exclude specific files from the linting process in the context of Lightning Web Components development.\n\n### Pre-commit hook\n\nThis repository also comes with a [package.json](./package.json) file that makes it easy to set up a pre-commit hook that enforces code formatting and linting by running Prettier and ESLint every time you `git commit` changes.\n\nTo set up the formatting and linting pre-commit hook:\n\n1. Install [Node.js](https://nodejs.org) if you haven't already done so\n1. Run `npm install` in your project's root folder to install the ESLint and Prettier modules (Note: Mac users should verify that Xcode command line tools are installed before running this command.)\n\nPrettier and ESLint will now run automatically every time you commit changes. The commit will fail if linting errors are detected. You can also run the formatting and linting from the command line using the following commands (check out [package.json](./package.json) for the full list):\n\n```bash\nnpm run lint\nnpm run prettier\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrailheadapps%2Fcoral-cloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrailheadapps%2Fcoral-cloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrailheadapps%2Fcoral-cloud/lists"}