Skip to content

Let users request onboarding calls from HCB#13447

Open
polypixeldev wants to merge 17 commits intomainfrom
polypixeldev/request-meeting
Open

Let users request onboarding calls from HCB#13447
polypixeldev wants to merge 17 commits intomainfrom
polypixeldev/request-meeting

Conversation

@polypixeldev
Copy link
Copy Markdown
Member

@polypixeldev polypixeldev commented Apr 9, 2026

Summary of the problem

With the new application flow, no one is doing an onboarding call unless they ask for it. However, these onboarding calls can still be very beneficial, especially since the HCB tour is very minimal.

Describe your changes

Signees will be able to request an onboarding call after they have been activated. There are two cases:

  • Their assigned PoC has a scheduling link in the new table in the applications Airtable
    • We redirect them straight to that link
  • Their assigned PoC does not have a scheduling link
    • We send an email to hcb@hackclub.com, and some from ops can reply to that email to schedule with the user

The option to request an onboarding call is linked in the activation email (which opens a modal first for confirmation), and is also on a card in the event homepage. This card will disappear if you have transactions or if you've already clicked on the button to schedule a call.

image image

@polypixeldev polypixeldev requested a review from a team April 9, 2026 05:59
@polypixeldev polypixeldev requested a review from garyhtou as a code owner April 9, 2026 05:59
Comment thread app/mailers/event_mailer.rb Outdated
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Comment thread app/mailers/event_mailer.rb
polypixeldev and others added 2 commits April 9, 2026 10:29
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
onboarder_record = OnboardersTable.all(filter: "{HCB ID} = #{@event.point_of_contact.id}").first

if onboarder_record.present?
@event.config.update!(hide_onboarding_message: true)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we wanna use Event.demo_mode_request_meeting_at? The column is poorly named (we no longer call it "demo mode"), but it may be nice to store the timestamp, especially since we already have the column.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree it may be nice to store the timestamp. However, we do have PaperTrail on Event::Configuration, and hide_onboarding_message allows us to manually hide the message without saying that a meeting was requested. For example, the migration in this PR adds this column with a default of true (which is immediately changed to false) so that this message doesn't show up for any orgs that may have already had an onboarding call.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes sense. I'm cool with that solution!

Should we consider dropping demo_mode_request_meeting_at then?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd be in favor of dropping demo_mode_request_meeting_at in another PR

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, makes sense to me - will do!

<p>If you have questions or would like to go over the HCB plaform with a member of our team, feel free to request a call!</p>

<%= button_to "Request", request_call_event_path(@event), class: "left bg-success btn", method: :post %>
<a href="#" class="right bg-error btn" rel="modal:close">Cancel</a>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have cancel buttons in other modals on HCB? It seems a little out of place here (based on the screenshot you added). I'd suggest either:

  • Getting rid of the cancel button (the × should be fine on its own)
  • Change the design up a little more, swap the side of the buttons, expand them to be full width, and convert it to a partial to essentially serve as a generic "confirm this action" component

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is similar to the modal we use for reversing automatically paired receipts, when someone clicks the link from an email. I agree that the cancel button isn't necessary here - just removed it, here's an updated screenshot:
image

github-merge-queue Bot pushed a commit that referenced this pull request Apr 13, 2026
…e removing (#13480)

## Summary of the problem
<!-- Why are these changes being made? What problem does it solve? Link
any related issues to provide more details. -->
See #13447 (comment)
for context. This column is no longer being used and isn't needed in the
database anymore.

## Describe your changes
<!-- Explain your thought process to the solution and provide a quick
summary of the changes. -->
Ignores the column and removes it from the v4 API event partial.

⚠️ **This is a v4 API breaking change, since this column's presence is
currently included in the event partial.** Not sure what our current
process is for this - @Mohamad-Mortada?

<!-- If there are any visual changes, please attach images, videos, or
gifs. -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants