Always-on iMessage concierge for inbound texts

By General Input

When someone texts your Linq number, an AI assistant looks them up in HubSpot, checks your calendar, and writes back a friendly, personalized reply.

Integrations

  • Linq
  • HubSpot
  • Google Calendar

Type

Agentic Task

Categories

  • Sales
  • Personal Productivity

Build me an always-on iMessage concierge that handles inbound texts to my Linq business number. I want this to live entirely inside iMessage with no app for the other person to install, similar to how Poke and Sidekicks work.

Trigger: a webhook from Linq for incoming message events. Subscribe my Linq account to the incoming-message event via Linq's Create Webhook Subscription so this agent fires the moment a new inbound message lands on one of my numbers.

When the agent fires, it should do the following, in order:

1. Call Linq's List Phone Numbers to get every phone number assigned to my account. If the inbound sender matches any of my own numbers (me texting myself, a teammate on another seat, a test from sandbox), stop immediately without replying.

2. Take the sender's phone number from the webhook payload and look it up in HubSpot using Search Contacts with a phone-number filter. If there is a match, follow up with Get Contact to pull useful context like first and last name, company, lifecycle stage, and any notes properties on the contact. Optionally use Search Deals to find recent open or recently closed deals tied to that contact for added context.

3. Check my Google Calendar availability for the next few business days using List Events on my primary calendar. Build a short list of two or three concrete open time windows (default to 30-minute slots inside my normal working hours of 9am to 6pm in my local timezone, skipping anything that conflicts with an existing event).

4. Read the actual content of the inbound message and decide what they are asking for. If they are asking to meet, propose the concrete time slots in the reply. If they are asking a factual question about me or my company that the HubSpot context answers, answer it directly. If it is a warm hello, keep it friendly and conversational and offer to find time.

5. Draft a friendly, personalized reply in my voice (first-person, warm, concise, no emojis unless the inbound used them). Reference the HubSpot context naturally where it helps, but never quote raw CRM jargon like "lifecycle stage" or "deal stage" back at the person.

6. Send the reply back on the same chat using Linq's Send Message, posting from the same Linq number the inbound message came in on so the conversation thread stays clean in iMessage.

Guardrails the agent must respect:

- If the inbound message looks like spam, an automated marketing blast, a one-word reaction, or anything ambiguous the agent is not confident handling, quietly bail without sending anything so I can take it over manually. Do not send an "I am not sure how to help" message; just stay silent.

- Never reply to a number that appears in my Linq List Phone Numbers.

- Respect Linq's per-pair rate limit of 30 messages per 60-second window. Never send more than one outbound reply per inbound message, and if the same thread starts looping (same person texting back rapidly with the same intent), stop responding and surface the thread to me instead.

- Only propose calendar times the calendar actually says are free. Never invent a slot or propose something inside an existing event.

- If there is no matching HubSpot contact, that is fine: still reply if the message is clearly something I would want answered (a meeting request from a new prospect, a question about my company), but be a little more cautious and offer to learn more about who they are.

Make this an agent-style workflow with natural-language instructions, not a rigid code path: I want the model to reason about each inbound message and decide whether and how to reply, not blindly follow a script.

Related prompts

Explore more prompts
Turn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInFront desk appointment confirmation board for the next 3 daysCandidate texting desk for your open Greenhouse rolesAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe revealsWhich companies your LinkedIn ads reach, matched to your CRM