ohayo

Guides

Get new people into Ohayo automatically

Ohayo works best when new people arrive by themselves, so your queue is ready when you are. Pick the way people join you. Each product in Ohayo has its own signup link and secret, under Settings → Connect. The links below are examples.

Ask your AI

Built your app with Claude, Cursor or another AI? Give it this message and it will wire Ohayo in for you.

  1. Make a secret for your product in Ohayo and copy it. It’s only shown once, so keep it somewhere safe.

  2. Copy the message below and paste it into Claude, or whichever AI writes your code. It already knows your signup link.

  3. When it asks, add the secret to your hosting settings yourself as OHAYO_SECRET, for example in Vercel, Netlify, Railway or Firebase. Please don’t paste the secret into the chat.

  4. Sign up to your product with a test email. They should show up in your Ohayo queue within a few seconds.

The message to paste

I use Ohayo to send a personal hello video to everyone who signs up to your product. Please connect our sign-up to Ohayo.

When a new account is created, send a POST request from the server (never from code that runs in the browser) to:
https://app.ohayodesk.com/api/signup/YOUR-ACCOUNT/YOUR-PRODUCT

Headers:
- Authorization: Bearer <the value of the environment variable OHAYO_SECRET>
- Content-Type: application/json

JSON body:
- email: the new person's email (required)
- name: their full name, if we have it (or first_name and last_name)
- signedUpAt: when they signed up, as an ISO date (optional)

Rules:
- Read the secret from an environment variable called OHAYO_SECRET. Never write it into the code, commit it to git, or send it to the browser.
- Don't make sign-up wait for Ohayo, and never let it fail because of Ohayo. Send the request in the background and log any error.
- Send each person once, when their account is first created.
- Ohayo replies 200 with {"ok":true}. 401 means the secret is wrong. 400 means the email is missing or not valid.

When you're done, tell me where to add OHAYO_SECRET in our hosting settings, and how to test it with a new sign-up.

Your app or website

For developers: send each new person to your signup link from your server.

  1. Make a secret for your product in Ohayo, and add it to your server’s environment as OHAYO_SECRET.

  2. When someone signs up, send a POST to your signup link with the secret in the Authorization header. Do it from your server, never from browser code, where anyone could read the secret.

    // On your server, right after a new account is created.
    // OHAYO_SECRET is an environment variable. Never put the secret in your code or in the browser.
    fetch('https://app.ohayodesk.com/api/signup/YOUR-ACCOUNT/YOUR-PRODUCT', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.OHAYO_SECRET}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ email: user.email, name: user.name, signedUpAt: new Date().toISOString() })
    }).catch(err => console.error('Ohayo signup failed', err)); // don't let this stop the signup
  3. Send email, and name (or first_name and last_name) if you have it. signedUpAt is optional. Sending the same person twice is fine: they’re only added once.

  4. To try it from a terminal:

    curl -X POST 'https://app.ohayodesk.com/api/signup/YOUR-ACCOUNT/YOUR-PRODUCT' \
      -H "Authorization: Bearer $OHAYO_SECRET" \
      -H "Content-Type: application/json" \
      -d '{"email":"priya@example.com","name":"Priya Nair"}'
  5. Ohayo replies 200 when it worked, 401 if the secret is wrong, and 400 if the email is missing.

Zapier

Connect almost anything people join you through: forms, shops, booking tools, CRMs and spreadsheets.

  1. Make a secret for your product in Ohayo and copy it.

  2. In Zapier, make a Zap that starts where people join you: Typeform, Shopify, Calendly, HubSpot, Mailchimp, a Google Sheet, and so on.

  3. Add an action: Webhooks by Zapier → POST. (Webhooks by Zapier needs a paid Zapier plan.)

  4. URL: your signup link. Payload type: Json.

    https://app.ohayodesk.com/api/signup/YOUR-ACCOUNT/YOUR-PRODUCT
  5. Data: add email and pick the person’s email. Add name (or first_name and last_name) and pick their name.

  6. Headers: add Authorization, with the word Bearer, a space, then your secret.

  7. Test the step. The person shows up in your Ohayo queue, and “Last person received” changes within a few seconds.

Make

The same idea as Zapier, if you use Make (formerly Integromat).

  1. Make a secret for your product in Ohayo and copy it.

  2. In Make, start a scenario with the app where people join you, for example “Watch new subscribers” or “Watch form responses”.

  3. Add the HTTP module → Make a request. URL: your signup link. Method: POST.

    https://app.ohayodesk.com/api/signup/YOUR-ACCOUNT/YOUR-PRODUCT
  4. Headers: add Authorization with the value Bearer, a space, then your secret.

  5. Body type: Raw. Content type: JSON (application/json). Request content: map the person’s email and name into this:

    {"email": "{{email}}", "name": "{{name}}"}
  6. Click Run once and add a test person where people join. They show up in your Ohayo queue within a few seconds.

GoHighLevel

Say hello to every new lead or contact, straight from a GoHighLevel workflow.

  1. Make a secret for your product in Ohayo. Your private link appears below once it’s made.

  2. In GoHighLevel, go to Automation → Workflows and make a new workflow. Pick the trigger that means someone is new to you, for example Contact Created, Form Submitted or Appointment Booked.

  3. Add the action Webhook. Method: POST. URL: your private link below. It has your secret built in, because this webhook can’t add headers. GoHighLevel sends the contact’s name and email for you.

    https://app.ohayodesk.com/api/signup/YOUR-ACCOUNT/YOUR-PRODUCT?key=YOUR-SECRET
  4. Keep this link private. Anyone who has it can add people to your queue. If it ever leaks, make a new secret in Ohayo and the old link stops working.

  5. Save and publish the workflow, then add a test contact. They show up in your Ohayo queue within a few seconds.

A mailing list

Welcome new subscribers from Mailchimp, Kit, MailerLite, beehiiv and others.

  1. The easiest way for any mailing list is Zapier or Make, with a “new subscriber” trigger. Follow the Zapier or Make guide and pick your list as the starting app.

  2. Using Mailchimp? You can skip Zapier. Make a secret in Ohayo, then in Mailchimp go to Audience → Settings → Webhooks → Create new webhook. Paste your private link below as the callback URL, and tick only “Subscribes”.

    https://app.ohayodesk.com/api/signup/YOUR-ACCOUNT/YOUR-PRODUCT?key=YOUR-SECRET
  3. Only welcome people who chose to hear from you. A new subscriber is perfect. A bought list is not, and Ohayo’s terms don’t allow it.

  4. Want to greet people who are already on your list? Export them as a CSV and use Import a list. You choose a start date, so you only greet the recent ones.

Import a list

Add a batch of people from a spreadsheet or an export, any time.

  1. Export your people as a CSV from Mailchimp, Kit, Shopify, your CRM or Google Sheets (File → Download → CSV).

  2. In Ohayo, go to your queue → + Add someone → Import a list, and choose the file. You can also paste the rows in.

  3. Ohayo finds the email, name and join date columns by itself. Check them, pick the product, and choose “only people who joined on or after” a date, so you don’t greet people from years ago.

  4. Anyone already in Ohayo is skipped, so importing the same file twice is safe.

Stuck? Email me at hi@ambidextrouslabs.com and tell me what you use. I’ll help you get it working.