A site is a custom website hosted within Rippling that you can build with AI or upload from another tool, then share with a controlled audience. You manage access in Rippling.
Choose between a site, a custom app, and a dashboard
Decide which tool you need before you create anything.
Build a custom app when you create and update records over time, with forms, approvals, and audit history. Build a site when you need a custom layout, a readout, a calculator, or a microsite. Build a dashboard when you need metrics with exact filters and drill-down. Combine them when you need both: store records and enforce the process in a custom app, and then build a site that reads that data through the Platform APIs to summarize or present it. If a site is mostly charts with no narrative, build a dashboard instead.
| Feature | Sites | Custom apps | Dashboards |
|---|---|---|---|
| Built with | HTML, CSS, JavaScript | Custom objects, canvas pages, functions | Dashboard builder or Rippling AI |
| Data access | Platform APIs | Native object data | Native object data |
| Permissions | The API enforces each viewer's permissions | Native, across records, pages, fields, and roles | Native |
| Custom layout and design | Yes | Rippling components only | No |
| Exact filters and drill-down | No | Yes, with an embedded dashboard | Yes |
| Create and edit records | Limited, through the REST APIs | Yes | No |
| Backend or scheduled logic | No | Yes, through workflows and functions | No |
A project works as a site only when it can run in the browser.
| A site can | A site can't |
|---|---|
| Run in the browser from HTML, CSS, and JavaScript files | Use a backend server, database, scheduled job, webhook, or a sign-in flow outside Rippling |
| Use hard-coded data, files a viewer uploads, or calculations that run in the browser | Need a command such as npm start, python server.py, or rails server |
| Call the Rippling Platform APIs | Read files from your computer. Include those files in the site instead |
Store data in the browser with localStorage, sessionStorage, or cookies | |
| Load content or call APIs from other websites, such as map tiles |
To view sites, select Sites in the sidebar. Your recently visited sites are listed there. Click All sites to see the rest.
To create and manage sites, navigate to Tools > Site Manager.
Requirements
Before you begin, you need:
- Sites creator to create a site, including one that shows Rippling data. This permission doesn't grant access to other apps or data. Everyone has it by default.
- Sites creator with write API access to create a site that adds, updates, or deletes Rippling data. Everyone has this permission by default too.
- Rippling AI, if you want to build or edit sites with Rippling AI. Uploading a site you built with another tool works without it.
Manage all sites lets someone manage every site at the company. No one has it by default. Super admins and full admins always can.
Create a site
You can build a site with Rippling AI, or upload one you built with another tool.
Build a site with Rippling AI
Use Rippling AI in Site Manager to create the first draft.
- Navigate to Tools > Site Manager.
- In Build a site with Rippling AI, describe the site you want. You can also click Build with AI.
- Rippling AI builds a first draft. Keep chatting to make changes.
Upload a site
Prepare the files before you upload them.
- For one page, use a single
.htmlor.htmfile. - For more than one file, use a
.zipthat includes anindex.htmlfile. Link between pages and files with relative paths, such as./page2.html. - A site can be up to 25 MB and include up to 200 files.
Data saved in the files isn't protected by Rippling permissions. Load sensitive data through the Platform APIs. See Control who can see and change data.
If you build with another AI tool, tell it to use the Platform APIs for any Rippling data. Paste this prompt into that tool:
I want to deploy this app as a site in Rippling Sites.
Build it so it runs entirely in the browser from these files: index.html, CSS, JavaScript, and any local assets. Keep it free of backend servers, databases, environment variables, scheduled jobs, webhooks, and build or runtime servers. Avoid localStorage, sessionStorage, and cookies, and keep all content local instead of loading it from other websites.
If the app uses Rippling data, load it when the page runs instead of saving it in the files. Use fetch to call the Rippling Platform APIs at https://rest.ripplingapis.com, and leave out any Authorization header or API token, because Rippling adds the viewer's access automatically. Show a clear message when the viewer doesn't have permission to see something.
Use the Rippling API docs to find the endpoints for the data I need: https://developer.rippling.com/documentation/rest-api
When it's ready, give me a folder with index.html at the root and tell me which files to upload.
If the app can't run this way, tell me why, then suggest the closest version that can.
Upload the file:
- Navigate to Tools > Site Manager.
- Click Upload site.
- Enter a Name. Rippling creates the API name from it. You can't change the API name later.
- Enter a Description. This is optional.
- Drag your
.html,.htm, or.zipfile into Upload site, or click to select it. - Click Create site.
The site opens. Only you can see it until you share it.
If you see "Entry path index.html was not found," the .zip doesn't include an index.html file. Add one and upload again.
Manage a site
You can manage a site when any one of these is true:
- You created it.
- You have Collaborator access to it.
- You have a permission profile with Manage all sites.
- You are a super admin or a full admin.
Control who can create and manage sites
Super admins, full admins, and full permissions admins can change these permissions in the Permissions app.
| Permission | What it allows | Who has it by default |
|---|---|---|
| Sites creator | Create sites, including sites that show Rippling data | Everyone |
| Sites creator with write API access | Create sites that add, update, or delete Rippling data | Everyone |
| Manage all sites | Manage every site at the company | No one. Super admins and full admins always can. |
To limit who can create sites, or who can build sites that change data:
- Navigate to Company settings > Permissions.
- Select the Feature access tab.
- In the Sites creator or Sites creator with write API access row, click Edit access.
- Select Custom access.
- Replace All - Everyone with the people or groups who should keep access.
- To leave people out, add them under Except.
- Click Save.
To let someone manage all sites:
- Navigate to Company settings > Permissions.
- Select the Permission profiles tab.
- Click New permission profile.
- Click Start from scratch.
- Enter a name.
- Set the scope.
- Click Next.
- Click Select app privileges.
- Expand Tools > Site Manager.
- Select Manage all sites.
- Finish creating the profile.
- Assign the profile to the people who need it.
Open a site to update it, change its files, download it, share it, or delete it.
The site details page has View site, Manage access, Edit with AI, Manage files, and Download all. People see a site after you share it.
Open a site
Open a site to see its details.
- Navigate to Tools > Site Manager.
- In the site's row, click the pencil icon.
The details page shows API name, Created by, Owned by, Created at, and the files under All files. Click View site to open the site.
Update a site with Rippling AI
You can use Rippling AI to edit any site, including one you uploaded.
- On the site's details page, under All files, click Edit with AI.
- Describe the changes you want.
Edit the name or description
Change the name or description from the site details page.
- On the site details page, click the three dots next to Manage access.
- Select Edit site details.
- Update the name or description.
- Save your changes.
Add or change files
To add files or folders:
- On the site's details page, click Manage files.
- Select Add folder or Upload files.
To change one file:
- In the file's row, click the three dots.
- Select Rename, Download, Move, or Delete.
To replace the whole site:
- On the site's details page, click Manage files.
- Select Replace entire site.
- In the Replace site dialog, drop or select a
.zip,.html, or.htmfile. - Click Confirm.
Everyone with access sees the new version right away.
Download a site
Download every file in the site.
On the site's details page, click Download all.
Share a site
Only you can see the site until you share it. Collaborators can manage it.
- On the site's details page, click Manage access.
- Add the people who can view the site.
- Add the people who can manage it.
Delete a site
Delete the site from its details page.
- On the site details page, click the three dots next to Manage access.
- Select Delete site.
- Confirm that you want to delete the site.
Update Rippling data from a site
This is separate from the Sites API, which creates and manages the site itself from code. A site doesn't call the Sites API.
A site calls other Platform APIs directly with fetch, without an Authorization header or an API token. Rippling adds the viewer's access when someone opens the site at app.rippling.com/sites/<api_name>, so these calls only work there. If you open the files on your computer, they fail.
Customize the following code for your setup. This example updates one field on a custom object record with Update a custom object record. Replace project, recordId, and status with your object's API name, the record id, and a field API name from that object.
async function updateProjectStatus(recordId, status) {
const response = await fetch(
`https://rest.ripplingapis.com/custom-objects/project/records/${recordId}/`,
{
method: 'PATCH',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({ status }),
},
);
if (!response.ok) {
throw new Error(`Couldn't update the record: ${response.status}`);
}
return response.json();
}
A site calls the Platform APIs directly as the viewer, so there's no need to route those calls through a function. A site also can't call other websites.
Viewers see a notice before a site can change data. See Sites that change Rippling data.
Use a function for backend work
A site can't run scheduled jobs or backend logic. For that, use a function that writes the data to a custom object. The site then reads that custom object through the Platform APIs, and each viewer only sees the records their permissions allow.
For example, a function runs every night, calculates each team's open headcount, and saves the results to a headcount_summary custom object. A site reads those records with GET https://rest.ripplingapis.com/custom-objects/headcount_summary/records/ and shows them as a dashboard.
Control who can see and change data
When a site loads Rippling data through the Platform APIs, each viewer sees only the data their own permissions allow. Rippling handles authentication for you, so there's no API token to create. For example, if a manager can see compensation only for their direct reports, a compensation site shows them only their direct reports.
A site can't do anything the viewer couldn't do in Rippling themselves. If a viewer doesn't have permission to update a record, the site can't update it for them.
Rippling AI loads Rippling data live whenever it can. When it can't, it saves the data in the site, and everyone you share the site with can see it. Before you share a site, check that it doesn't show data some viewers shouldn't see.
Anyone you share the site with can see data saved in the site's files, regardless of their permissions. Load sensitive data through the Platform APIs instead.
Sites that change Rippling data
With Sites creator, you can build sites that show Rippling data. To build a site that also adds, updates, or deletes Rippling data, you need Sites creator with write API access.
If a site can add, update, or delete Rippling data, viewers see a notice before they use it. I understand sends the request. Go back closes the notice and the request isn't sent. They see the notice again each time the site is updated.
Rippling checks Sites creator with write API access for the last person who updated the site. If someone without that permission updates the site, calls that add, update, or delete Rippling data fail until someone with that permission updates the site again. The person who created the site can still update the site's files.
Check which fields your site can use
A site uses only fields that the supported Platform APIs expose. Before you rely on a sensitive field, confirm it is in the API and test the response as viewers with different roles. Endpoint details are in the REST API reference.
Some data, such as learning courses and surveys, isn't available through the APIs yet. To include it, ask Rippling AI to store that data in a custom object and say who can view it. The data in the custom object doesn't update on its own. Ask Rippling AI to update it when the source data changes.
Use cases
- Readouts. A dashboard that shows live headcount by department, or a compensation tool that shows each manager pay data for their own team. Each viewer sees only the Rippling data their permissions allow.
- Onboarding guides. A guide that walks through a policy, or a site for new hires. One site per new hire can include anything you can see about that person, such as courses or surveys, and you share it only with them. One site for every new hire shows each person only their own information, and that works only when the site loads data through the Platform APIs.
- Calculators. A return on investment (ROI) calculator, or another calculator that runs in the browser.
- Handbooks and event sites. A company handbook or an event website, shared with the people who need it.
See also
- Create and manage sites, for creating and managing sites from code
- Get started with functions
- Get started with custom apps