<!-- https://missblue.dev/blog/hihello-imessage-api -->

[All articles](https://missblue.dev/blog) Miss Blue field notes

# HiHello and iMessage: from contact manager to conversation

HiHello is a contact manager first and a card platform second, and that shapes everything about this integration. Its Zapier trigger fires on new contacts — including ones you added yourself, which is exactly the boundary you have to police before any of them get texted.

Published August 27, 2026 11 minute read

In this guide [The short answer](#section-1) [What HiHello actually is](#section-2) [The personal-versus-team trap](#section-3) [Why people expect a messaging product](#section-4) [Getting contacts out](#section-5) [A worked example in Node](#section-6) [Consent, given the contact-manager shape](#section-7) [What about RCS?](#section-8) [A build order](#section-9) [The messaging half](#section-10)

Build with Miss Blue **Turn the next message into a real reply.**

Get a blue line for your product, agent, or team. Use the Message Center today and connect the API anytime.

[Create your account](https://missblue.dev/signup)  [Explore the API](https://missblue.dev/imessage-api)

Build with Miss Blue **Turn the next message into a real reply.**

Get a blue line for your product, agent, or team. Use the Message Center today and connect the API anytime.

[Create your account](https://missblue.dev/signup)  [Explore the API](https://missblue.dev/imessage-api)

01

## The short answer

HiHello does not have an iMessage API. It holds no phone number, sends no messages, receives no replies, and reports no delivery outcomes. As of August 27, 2026 its published documentation describes contact management, card profiles, and Zapier integration — not a messaging channel.

Its export path is Zapier-centered rather than webhook-and-API-centered, which makes this the simplest integration in the category to set up and the easiest one to get wrong.

02

## What HiHello actually is

HiHello describes itself as an end-to-end contact manager for curating and growing professional relationships, with digital business cards as the capture mechanism. That framing is not marketing decoration — it changes what lands in your export.

Practically, HiHello leans toward the individual professional: multiple card profiles per person, a free tier more generous than most competitors on profile count, and a corporate directory for organizations. Contacts accumulate from many sources, not only from someone scanning your card.

-   Digital business cards with multiple profiles per person
-   An end-to-end contact manager, not only a capture tool
-   A corporate directory for organizations
-   Zapier integration with a new-contact trigger
-   Contact export to CRMs including Salesforce and HubSpot via Zapier
-   No line, no send endpoint, no inbound message events

03

## The personal-versus-team trap

This is the failure specific to HiHello, and it is worth stating before anything else. Because HiHello is a contact manager, its new-contact trigger fires for contacts however they arrived — scanned from a card at an event, typed in manually, imported from a phone, added after a meeting.

If you wire that trigger straight into an automated text, you will eventually message someone who never gave you a card and never expected to hear from your company. Filter on the capture source before anything reaches the messaging path, and if the source field is not reliably present, treat the trigger as a CRM sync rather than as a messaging trigger.

-   Filter on capture source, not on “new contact exists”
-   Exclude manually added and imported contacts from messaging
-   Confirm which fields identify the capture method on your plan
-   If the source cannot be determined, do not auto-send
-   Keep a personal-contact escape hatch that never enters the workflow

04

## Why people expect a messaging product

A contact manager that already holds phone numbers feels one step from texting them. It is not: holding a number and being able to message it are separated by Apple accounts, hardware, deliverability, throttling, and an operations team on call.

The other reason is Linq, a digital business card company in the same category that launched Linq Blue, a separate messaging product with an iMessage API. One vendor crossed over, which makes the question reasonable for the rest of the category. HiHello has not.

05

## Getting contacts out

HiHello’s documented path is Zapier. Its help documentation describes leveraging the Zapier integration to export contacts to CRMs, with Zapier supporting a range of destinations including Salesforce and HubSpot, and its Zapier app exposes a trigger when a new contact is added to your account.

Zapier can also call an HTTP endpoint directly, which is the cleanest option here: send the contact to your own service, apply the source filter and consent check there, and let your code decide whether a message is warranted. Putting that logic in Zapier steps is possible and much harder to audit later.

-   Zapier new-contact trigger as the source of truth
-   CRM as an intermediate join, if you already sync there
-   Zapier webhook action into your own endpoint — the auditable option
-   Manual export for low-volume or one-off use

06

## A worked example in Node

Point the Zapier step at your own handler and do the filtering in code. The source check comes first, because it is the one that prevents messaging someone who never opted into anything.

Derive the idempotency key from the HiHello contact identifier so a replayed Zap does not produce a second text.

```
// Endpoint called by a Zapier "new contact" step.
const BASE = "https://api.missblue.dev";
const MESSAGEABLE_SOURCES = new Set(["card_scan", "shared_card", "capture_form"]);

export async function handleContact(contact) {
  // HiHello is a contact manager: not every new contact was captured by you.
  if (!MESSAGEABLE_SOURCES.has(contact.source)) return { skipped: "source" };

  const recipient = toE164(contact.phone);
  if (!recipient) return { skipped: "no-number" };
  if (await isSuppressed(recipient)) return { skipped: "suppressed" };
  if (!(await hasMessagingConsent(contact.id))) return { skipped: "no-consent" };

  const response = await fetch(`${BASE}/v1/messages`, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.MISS_BLUE_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": `hihello:${contact.id}`,
    },
    body: JSON.stringify({
      number_id: process.env.MISS_BLUE_NUMBER_ID,
      recipient,
      text: `Hi ${contact.firstName}, ${process.env.REP_NAME} here — good to meet you today. Reply here whenever suits.`,
    }),
    signal: AbortSignal.timeout(15_000),
  });

  if (!response.ok) throw new Error(await response.text());
  return response.json();
}
```

07

## Consent, given the contact-manager shape

The general rule applies: accepting a card means accepting contact details, not agreeing to business texts. CTIA’s Messaging Principles set the industry expectation of consent before messaging and a working opt-out, and applicable law may be stricter for promotional content.

HiHello adds a wrinkle. Because contacts arrive from several directions, consent has to be attached at capture rather than inferred from presence in the address book. If a contact record cannot tell you where it came from and whether the person opted in, it is not eligible for the messaging path — no exceptions, because there is no way to reconstruct that later.

-   Attach consent at capture, never infer it from the contact existing
-   Store source, timestamp, and exact wording
-   Treat unknown-source contacts as ineligible
-   Keep transactional and promotional consent separate
-   Suppress across every workflow at once

08

## What about RCS?

HiHello publishes no RCS API either. Which channel a given contact receives is a decision for the messaging provider, made per recipient based on what the destination supports.

Pass the contact through and let the messaging side choose, rather than attempting to segment Apple and Android contacts inside a contact manager.

09

## A build order

The filtering work is the whole project here. Get it right on a small sample before connecting the full account, and verify by inspecting what actually gets skipped rather than what gets sent.

A useful test: run the workflow in dry-run mode for a week, log every decision and its reason, and read the skip log. If manually added personal contacts are not appearing in the skip list, the source filter is not working.

-   Add a messaging consent field wherever you capture contacts
-   Point the Zapier trigger at your own endpoint, not at a send step
-   Implement the source filter and run it in dry-run for a week
-   Read the skip log before enabling real sends
-   Send from a dedicated line with an idempotency key
-   Route replies into a shared inbox and staff it
-   Measure replies, qualified conversations, and opt-outs

10

## The messaging half

Miss Blue supplies what HiHello does not: a dedicated business iMessage line, an HTTP API with signed webhooks and durable conversation events, and a shared Message Center where teammates read the same thread and take over from an automation.

Published pricing is $39 per month for a shared testing number and $99 per month per dedicated number, with unlimited commercial usage, contacts, team access, the Message Center, and API access included on the dedicated plan. Those are current 50%-off sale rates against regular prices of $78 and $198, locked in while the plan remains active.

Frequently asked questions

## Quick answers

Does HiHello have an iMessage API?+

No. HiHello is a contact manager with digital business cards. Its documented integration path is Zapier, which exports contacts to CRMs. It holds no phone number and has no send endpoint or inbound message events.

How do I export contacts from HiHello?+

Through its Zapier integration, which triggers when a new contact is added and supports destinations including Salesforce and HubSpot. Zapier can also call your own HTTP endpoint, which is the better option if messaging is the goal.

Why shouldn’t I text every new HiHello contact?+

Because HiHello is a contact manager, its new-contact trigger fires for contacts added manually or imported from a phone, not only for people who scanned your card. Filter on capture source, and treat unknown-source contacts as ineligible.

How do I text contacts collected with HiHello?+

Send the Zapier trigger to your own endpoint, filter by capture source, check consent and suppression, normalize the number, and send from a business messaging line with an idempotency key derived from the HiHello contact id.

Primary sources

## Read the documentation.

-   [HiHello Help Center: connecting to Zapier](https://support.hihello.com/hc/en-us/articles/12144925906331-Connecting-to-Zapier)
-   [CTIA: Messaging Principles and Best Practices (May 2023)](https://api.ctia.org/wp-content/uploads/2023/05/230523-CTIA-Messaging-Principles-and-Best-Practices-FINAL.pdf)
-   [Miss Blue: iMessage API and conversation events](https://missblue.dev/imessage-api)

Explore the platform

## Turn the research into a working conversation.

[For developers

### iMessage API

Build two-way blue-bubble conversations into your product or agent.

Explore](https://missblue.dev/imessage-api) [For teams

### Message Center

Use a complete shared conversation platform without writing code.

Explore](https://missblue.dev/features/message-center) [For industry teams

### iMessage use cases

See practical playbooks for real estate, plumbing, HVAC, roofing, and home services.

Explore](https://missblue.dev/use-cases) [Miss Blue Research

### iMessage vs SMS study

Read the beta observations, reported benchmarks, methodology, caveats, and pilot framework.

Explore](https://missblue.dev/imessage-response-rate-study)

Ready to build?

## Send your first blue bubble with Miss Blue.

[Explore the iMessage API](https://missblue.dev/imessage-api)
