Skip to content

How your customers sign in, ask & vote

Your customers use your portal the same way they’d browse any public help site: they don’t need an account to read questions and answers. An account is only needed to ask a question or vote.

There are no passwords anywhere on the portal. Customers sign in with a sign-in link and a 6-digit code, use either:

  1. They enter their email address.
  2. They receive one email with a sign-in link and a 6-digit code.
  3. Clicking the link signs them in, or, if that’s easier (for example, the link opened in a new tab and they’d rather stay put), they can type the code instead. No password to create, remember, or reset either way.

If you’ve set up Google sign-in for your portal, customers also see a “Continue with Google” button above the email form, using your own Google branding rather than ours. See Enable Google sign-in for your portal to turn it on.

The first time someone signs in, they’re asked for a display name, which is what shows on their questions, replies, and votes.

An “Ask a question” button sits in the portal header on every page except the ask form and sign-in themselves, so customers can start a question no matter where they are. It shortens to “Ask” on phones. Signed-out visitors are taken to sign-in first, and land on the ask form once they’re in. Each question needs:

  • Title: a short, specific summary of the problem. This becomes part of the question’s URL, so a clear title also helps other customers find the answer later through search.
  • Details: the full description, written in markdown.
  • Attachments: up to 10 images (PNG, JPEG, or WEBP, 2 MB each before your browser compresses them further). Click “Attach images”, pick one or more files, and thumbnails appear below the composer as each one finishes uploading; click the small × on a thumbnail to drop it before posting. Attached images show as a thumbnail strip under the question once it’s posted, and clicking one opens it full-size in a lightbox on top of the page, with previous/next buttons and arrow-key navigation when a post has more than one image. The original file is still one click away from there, via an “Open original” link in the lightbox. Replies support the same attachment picker.
  • Category: exactly one, chosen from the categories your team has set up. Any private categories appear here too, marked as private; picking one means the question is private by default (only the asker and your team can see it).
  • Tags: up to 3, chosen from your team’s existing tag vocabulary through a searchable multi-select, type to filter, pick as many as apply, up to the cap.

As soon as the title reads like a real question, the portal quietly suggests existing questions that might already have the answer, right below the Title field. Each suggestion opens in a new tab, so the draft in progress is never lost while checking whether the question has already been answered.

Once posted, the question is public immediately (unless it was asked in a private category, see Organize with categories & tags).

Any signed-in customer can reply to any question they can see; there’s no separate “expert” status required. Replies, like questions, support markdown formatting. They appear in one flat, chronological list below the question, oldest first, whether they’re a full answer or a quick follow-up to someone else’s reply, there’s no separate comments thread to keep track of. If a solution has been marked, a compact summary (author, date, and the reply itself) is pinned directly below the question under a “Solution” heading, with a “View in thread” link that jumps straight to the full reply in its normal place in the list, so the solution is impossible to miss without breaking the conversation’s flow. A toggle above the list switches to top-voted order for readers who want the community’s favorite replies first.

Customers can delete their own questions and replies at any time, but they can’t edit them once posted. To fix a mistake, delete the post and write it again, or add a follow-up reply with the correction. This keeps the public thread honest: a reply can’t be quietly rewritten after people have upvoted it, quoted it, or marked it as the solution.

  • Deleting a reply that happened to be the solution un-marks it, and the question goes back to open.
  • Your team can still edit their own replies in place (support answers are authoritative and worth keeping current); editing a question’s title regenerates its URL slug automatically, see How SEO works on your portal for why old links keep working anyway.

There’s no editing or deleting other people’s posts, that’s a team moderation action (see Moderate your portal).

Once a question is closed, no new replies can be posted to it. The composer is replaced with a note saying so. Existing replies and votes are unaffected.

Any reply can point back at an earlier one in the same thread: click Reply on the reply you’re responding to, and the composer at the bottom of the page picks up a removable quote of it, who wrote it plus the first couple of lines, so you can see what you’re responding to while you type. Posting adds the same compact quote above your new reply; clicking it jumps back to the original.

This is a pointer, not nesting: the new reply still lands at the end of the flat, chronological stream like any other, it’s never indented or grouped under the reply it points to. It’s meant for clarifying or following up on someone specific (“did you mean the CLI or the dashboard?”) without breaking the single, flat conversation everyone else is reading top to bottom.

Every reply also has a Copy link action next to Reply. It copies a link that opens the question and jumps straight to that reply, so you can point someone at one specific answer instead of the whole thread. The question itself has the same thing in its header, next to its number.

Every question page shows a Related questions sidebar on the right (on larger screens; on phones and narrow windows it appears below the replies instead), listing other public questions on your portal with the most title words in common, newest first when there’s a tie. Each entry shows the question’s title along with its vote count, reply count, and a solved marker when a solution has been accepted. It’s the same idea as the suggestions on the ask form (above), just looking outward from an already-posted question instead of a draft in progress, so customers browsing one question can keep finding their way to others without a search. The sidebar’s space is reserved either way on larger screens, so the question column keeps exactly the same width on every question page instead of stretching when there’s nothing related; with nothing related that area is simply blank, and the heading doesn’t appear. Private questions never appear here, and a private question never shows related questions of its own.

Both questions and replies can be upvoted:

  • It’s a toggle: click once to upvote, click again to remove your vote.
  • There’s no downvote, only upvote.
  • Each person’s vote on a given question or reply is unique, voting again doesn’t stack.
  • Questions can be upvoted right from the question list: the vote count on each card is the button. Signed-out visitors are taken to sign-in first.
  • Posting a question automatically counts as your upvote on it, so a new question starts at a score of 1. You can remove it by clicking the vote button, same as any other vote, and add it back the same way.
  • You can’t upvote your own reply, since a reply vote is meant to signal “this helped me,” and that doesn’t apply to your own post.

Vote counts don’t change the reading order by default (the stream stays chronological), but a sort dropdown above the list offers two more orders: “Most recent” for the newest replies first, and “Top voted” for the most helpful replies first, by score. See Moderate your portal for how solutions get marked.

Each question in the list shows as a card, vote count on the left (the same toggle described above), reply count on the right. The reply count turns green with a small checkmark once a solution has been marked, so solved questions stand out at a glance; open questions with no replies yet show a muted, dashed count instead, and anything in between shows a plain neutral count.

Below the title, a compact relative date shows how long ago the question was asked, for example “3h ago” or “4d ago”, switching to a full date once it’s more than a week old. Hover the date for the exact timestamp. Next to it, the question’s category shows as a small outlined chip, click it to jump straight to that category’s page. Tags don’t show on list cards (there wasn’t room to do it without crowding the row), but they’re still on the question’s own page, and still filterable from the tag control described below. Clicking anywhere else on a card opens the question.

Opening a question carries the same treatment through: the byline shows the same relative date, hover it for the exact timestamp, and the category appears again as a clickable outlined chip, this time sitting first in the row of chips just below the byline, ahead of the question’s tags. Clicking the category chip jumps to that category’s page from the question itself, not just from the list.

A searchable category filter and a searchable tag filter sit in a sidebar to the right of the question list on larger screens (the same layout the related-questions sidebar uses on question pages), and stack above the list on phones and narrow windows. That sidebar holds the filters only; asking is always the header button, or the one in the empty state when a list has nothing to show (a brand-new portal says “No questions here yet”, a search or filter that matched nothing says so instead, and both offer the ask button right there). Each filter is a combobox listing every category or tag in your vocabulary: type to narrow it down, or leave it on “All”. Picking a value takes you to that category’s or tag’s own page (/c/{category} or /t/{tag}). One filter applies at a time, so picking a tag while browsing a category switches to that tag instead of narrowing further within it, and vice versa. Picking “All” in either control returns to the full question list.

A sort dropdown sits at the right of the question list’s own header, separate from the category and tag filters. It covers both ordering and status:

  • Recent (default): newest first, with pinned questions always at the top.
  • Top voted: highest vote score first.
  • Most viewed: most page views first.
  • Oldest: oldest first.
  • Solved: only questions with a marked solution, newest first, with pinned questions always at the top.
  • Open: only questions with no marked solution yet, newest first, with pinned questions always at the top.

Solved and Open aren’t a separate filter, they’re two of the sort options, so there’s one control instead of two. Search and sort apply on top of whichever category or tag page you’re on.

Every question gets a permanent number on your portal, visible in its URL, for example /q/42. That number is a stable, speakable reference: it’s short enough to read over the phone or paste into an email (“check out question 42”), and it keeps working even if the question’s title, and therefore the rest of its URL, changes later.

Use question numbers freely in support conversations, changelogs, or anywhere you’d otherwise paste a long link.

Signed-in customers have a “My questions” page listing everything they’ve asked, including their own private questions, reachable by clicking their name in the portal header. This same page doubles as their profile editor: a customer can change their display name and upload an avatar (PNG, JPEG, or WEBP, up to 2 MB) any time, not just on their first sign-in. Remove clears the avatar again and falls back to their initials.

Every customer also gets a lightweight public profile page, linked from their name wherever it appears (a question or a reply). It shows their display name, avatar, bio, and their public questions and replies; private content is never shown there, regardless of who’s viewing. Profile pages are excluded from search indexing; the questions and replies themselves are what’s meant to be found by search engines, not the profile.