The in-app feedback widget that keeps customers in the loop.

Customers post ideas, vote, chat with your team, and see what shipped without leaving your app. It’s free and takes one snippet.

Get started free
The UserJot widget’s home inside Acme’s app: a greeting, a card to message the team, and links to feedback, the roadmap, and what’s new.
Demo of the UserJot widget home: message the team, submit a request, and explore feedback, roadmap, and updates in one widget.
UserJot

Hi there 👋

How can we help?

Online

Send us a message

Typically replies in a few minutes

Write a message...
FeedbackRequest features & vote on ideas
RoadmapSee what we're building next
What's newLatest updates & releases

Every day, the teams behind Tally, OpenPanel, Drizzle, SuperWhisper, Scite, Throne, Nuelink, Ghostbase, and hundreds of others talk with their customers in UserJot.

It speaks up, then gets out of the way.

The widget waits in your app as one small button. When there’s something for a customer, the button tells them, then goes quiet again.

“We set up UserJot and our users actually started leaving feedback.”
Carl Lindesvärd, Founder, OpenPanel

No form, just a sentence.

Customers write what they want the way they’d say it. UserJot titles the post, files it on the right board, and shows them any request that already matches.

Titled and filed for you
UserJot writes the title and picks the board, so the post arrives ready for your team.
Screenshots included
Customers attach images, paste them, or capture their screen without leaving the widget.
A vote, not a duplicate
When the request already exists, it appears under the draft with a button to vote.
The UserJot widget open on the right side of a customer's web app.
Demo of the UserJot feedback composer: as a customer types a request, a similar existing request surfaces so they can vote on it instead of filing a duplicate.
Give feedback

any chance of an iphone app? i mostly check acme on my phone

Similar request

Mobile app

The whole web app on iPhone and Android, with push notifications when something needs you.

Planned
128
Post

Fits your product, down to the corner.

Pick how it looks in the snippet, then open it from anywhere in your app with one line of code.

Either corner
Bottom left or bottom right, as far from the edges as you like.
Light, dark, or auto
Match your app, or follow each visitor’s system setting.
Your own button
Hide the default button and open the widget from yours, with a live unread count.
Opens where you point
Send customers straight to a new post, the roadmap, one update, or Messages.
Full pages, inline
Put your board, roadmap, or changelog inside a page of your app, in step with your URLs.
Updates that open themselves
Turn on full announcements and your newest post opens on a customer’s next visit.

Questions answered where they come up.

Turn on Conversations and the widget gets a Messages page. Juno answers first and brings in your team when a person should take over.

Juno replies in seconds
She answers from your docs and your site, day or night.
Your team steps in
When Juno can’t solve it, she hands the conversation to a person, in the same thread.
No “who are you?”
Signed-in customers skip the contact form, and your replies reach their account email.
The UserJot widget open on the right side of a customer's web app.
Demo of the UserJot widget Messages page: Juno hands a billing question to a human teammate, who resolves it in the same conversation.
Sara Meyer
Team support
We were charged twice this month, can you help?
4:07 PM
Sorry about that! Refunds need a teammate, so I'm bringing one in now.
4:07 PM
Juno handed this conversation to the team
Hi, Sara here. Just refunded the duplicate charge, you'll see it back in a few business days.
4:09 PM
“The UI is next-level, and the pace of improvement has been amazing!”
Nuno Tomás, Founder @ IsDown

Set up in a few minutes.

  1. 1

    Paste the snippet

    It goes before your closing body tag, in index.html for a React app. In Next.js, add both tags to your root layout with next/script. The button shows up in the bottom-right corner.
    <script>
      window.uj ||= new Proxy({}, {
        get: (_, p) => p == 'then' ? 0 : (...a) => {
          (window.$ujq ||= []).push([p, ...a]);
        }
      });
      uj.init('YOUR_PROJECT_ID');
    </script>
    <script type="module" async src="https://cdn.userjot.com/sdk/v3/uj.js"></script>

    Installation guide →

  2. 2

    Tell it who’s signed in

    Call this once your app knows the user. Their posts, votes, and messages are tied to their account.
    uj.identify({
      user: { id: user.id, email: user.email, firstName: user.firstName }
    });

    Identify users →

  3. 3

    Open it from your own buttons

    Point any button in your app at a page of the widget, like a new post, the roadmap, or Messages.
    uj.open({ to: 'feedback', compose: true });

    Controlling the widget →


Everything else, A to Z.

Automatic login
Comments
Companies and traits
Events
Mobile layout
No inline scripts
Notifications
Remove branding
Search
Signed identity
Style isolation

Questions, answered.

It's a button inside your product that opens a panel where customers post ideas, vote on requests, check your roadmap, and read your product updates, without going to another site. UserJot's widget can carry live chat too: turn on Conversations and a Messages page joins the rest.


Your customers are already talking.

Give them one place to ask, and give your team and your agents one place to answer.

Get started free
  • Free forever plan
  • No credit card
  • Set up in 30 seconds