Skip to Content
DevelopersLinking and deep links

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

URLWhat it shows
/needsEverything published. The default landing page.
/needs/<id>One opportunity. This is the link to share.
/orgsEvery approved organization.
/orgs/<id>One organization’s public profile, with everything it has published.
/campaignsActive campaigns.
/campaigns/<slug>One campaign. Slugs are readable and stable.
/malamaThe Mālama Hawaiʻi programme.
/installThe embed builder.
/signupCreate 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.

Last updated on