Linking and deep links
If you are linking to the volunteer platform from your own site, these are the URLs that are stable and safe to hardcode.
Pages
| URL | What it shows |
|---|---|
/needs | Everything published. The default landing page. |
/needs/<id> | One opportunity. This is the link to share. |
/orgs | Every approved organization. |
/orgs/<id> | One organization’s public profile, with everything it has published. |
/campaigns | Active campaigns. |
/campaigns/<slug> | One campaign. Slugs are readable and stable. |
/malama | The Mālama Hawaiʻi programme. |
/install | The embed builder. |
/signup | Create an account. |
Parameters
/needs accepts ?view=map and ?view=calendar, which open the browse page in the map or
calendar view rather than the default grid. The view is written back to the URL as a visitor
switches, so a copied URL keeps it.
Filters are not in the URL. A link cannot currently pre-apply an island, a cause, or a search term: those live in component state and reset on load. If you need a page showing one island or one cause, use the embeddable widget, which filters server-side and is built for exactly that.
Linking versus embedding
Link when you want someone to end up on the platform, with everything it offers: the map, the calendar, saved opportunities, their own hours.
Embed when you want people to stay on your page. The widget takes filters, so a page about one island or one campaign shows only that, which is the thing a link cannot do.
Opportunity pages are meant to be shared
Every opportunity page carries its own title, description, and image for link previews, so pasting
one into Slack or a Facebook post produces something that looks like the opportunity rather than
like a bare URL. Share the /needs/<id> URL rather than a link to a filtered list.