User Guide

How to use MoyaLinked

A practical walkthrough of every feature — from first-time setup to advanced automations. Each section includes real-world examples so you can start using it immediately.

1. WhatsApp Setup

Start here

Do this once before anything else. Takes 15–30 minutes.

MoyaLinked sends and receives WhatsApp messages through the official Meta WhatsApp Business API. You need a Meta Business account and a verified phone number before starting.

Step-by-step setup

  1. 1Go to developers.facebook.com → click 'My Apps' → 'Create App' → choose Business type.
  2. 2Inside your app, click 'Add Product' and add WhatsApp. This gives you access to the WhatsApp API section.
  3. 3Go to WhatsApp → API Setup. You'll see your Phone Number ID and a temporary access token. Copy the Phone Number ID — you'll need it.
  4. 4For a permanent access token: go to Business Settings → Users → System Users → Create a system user → Generate Token → select your WhatsApp app with whatsapp_business_messaging permission.
  5. 5In MoyaLinked: open Settings → WhatsApp Config → paste your Phone Number ID and Access Token → click Save.
  6. 6Copy the Webhook URL shown in MoyaLinked settings (e.g. https://yourdomain.com/api/whatsapp/webhook).
  7. 7Back in Meta: WhatsApp → Configuration → paste the Webhook URL → set Verify Token to any string you choose → Subscribe to: messages, message_status_updates, message_reactions.
  8. 8In MoyaLinked Settings → Templates → click 'Sync Templates' to pull your approved message templates from Meta.
Practical example

You run a property agency. You register your office WhatsApp number (+27 21 000 1234) on Meta Business. You create a system user called MoyaLinked Bot, generate a permanent token, and paste it into MoyaLinked Settings. You paste the MoyaLinked webhook URL into Meta and subscribe to all three events. Within seconds, a test message you send to the number appears live in your MoyaLinked Inbox.

Note: Your phone number must be approved by Meta for the WhatsApp Business API. Personal WhatsApp numbers cannot be used. If you are still in the Meta developer sandbox, you can only message numbers explicitly added to your allowed list in the Meta dashboard.

2. Shared Inbox

Manage every WhatsApp conversation in one place.

Every incoming WhatsApp message lands here automatically. The left panel shows your conversation list. Click any conversation to open the full thread. On desktop you also see a contact sidebar on the right.

Reply to a message

Click the conversation → type in the composer at the bottom → press Enter or click Send.

Reply to a specific message

Hover over any message bubble → click the reply arrow → your composer will quote it.

Use a message template

Click the template icon in the composer → search for your template → click to insert → send.

Assign to an agent

Click the agent dropdown in the conversation header → select a team member. They'll be notified.

Change conversation status

Use the status button in the header: Open (active), Pending (waiting on customer), Closed (resolved).

React to a message

Hover a message → click the emoji icon → choose your reaction. The customer sees it on WhatsApp.

Practical example

A customer messages: Hi, is the 3-bedroom in Sandton still available?. It appears in your inbox instantly. You click the conversation, see their history, type your reply and send. You then assign the conversation to your sales agent Sarah and change the status to Pending while waiting for her reply.

3. Contacts

Your full customer database, built from WhatsApp conversations.

Contacts are created automatically when someone messages you for the first time. You can also add them manually or import a CSV. Each contact has a full profile with notes, tags, custom fields, and linked deals.

How to add contacts

Auto-created from messages

When anyone messages your WhatsApp number, their profile is created automatically — no action needed.

Add manually

Contacts → Add Contact → enter phone number (e.g. 0821234567 — MoyaLinked converts it to +27821234567 automatically) → fill name, email, company → Save.

Import from CSV

Contacts → Import → upload a .csv file with column headers: phone (required), name, email, company. MoyaLinked normalises all phone numbers and skips duplicates.

Contact profile tabs

Details

Edit name, phone, email, company. Copy phone with one click.

Tags

Apply one or more tags (e.g. Hot Lead, VIP, After Hours). Used to segment broadcast audiences.

Notes

Write internal notes visible to your whole team. E.g. 'Prefers mornings. Budget R2M.'

Custom Fields

Extra fields you define in Settings (e.g. Property Type, Budget Range, Referral Source).

Deals

All pipeline deals linked to this contact, with current stage and value.

Practical example

You attended a property expo and collected 300 business cards. You create a CSV with columns phone, name, email and import it. All 300 contacts appear instantly. You then add the tag Expo Lead June 2025 to each using an automation. Later, you run a broadcast targeting only that tag with a follow-up message.

4. Sales Pipelines

Turn WhatsApp conversations into trackable deals on a Kanban board.

A pipeline is a board with columns (stages). Each card on the board is a deal linked to a contact. Drag cards between columns as the sale progresses. MoyaLinked creates a default Sales Pipeline on first use — you can customise stages or create multiple pipelines for different products or teams.

Setting up your pipeline

  1. 1Open Pipelines. A default board with 5 stages is already there: New Lead → Qualified → Proposal Sent → Negotiation → Won.
  2. 2To customise: click the gear icon → 'Manage Pipelines' → edit stage names, add stages, or reorder them.
  3. 3To create a second pipeline (e.g. for rentals vs sales): click 'New Pipeline' → name it → it opens with default stages you can edit.
  4. 4To add a deal: click '+ New Deal' in any stage column (or the header button) → fill in title, contact, value, expected close date → Save.
  5. 5Move deals by dragging cards from one column to another. The change is saved automatically.
  6. 6Click any deal card to open it and update fields, assign an agent, add notes, or mark it as Won/Lost.
Practical example

You rename the default pipeline to Property Sales and set stages: Enquiry → Viewing Booked → Offer Made → Under Contract → Transferred. When a customer messages asking about a property, you create a deal: John Smith – 3 Bed Sandton, R2.1M, assign it to agent Sarah, and link it to John's contact. At a glance you see: 12 in Enquiry, 4 in Viewing Booked, 1 in Offer Made. Total pipeline value: R24.8M.

5. Broadcasts

Send personalised bulk messages to hundreds or thousands of contacts.

WhatsApp only allows bulk messaging using pre-approved message templates. You must create a template in Settings and wait for Meta to approve it (usually within 24 hours) before you can broadcast.

Step 1 — Create and get a template approved

  1. 1Go to Settings → Templates → New Template.
  2. 2Choose a category: Marketing (promotions, offers) or Utility (order updates, reminders).
  3. 3Write your message body. Use {{1}}, {{2}} etc. for variable parts. Example: 'Hi {{1}}, your viewing for {{2}} is confirmed for {{3}}. Reply YES to confirm.'
  4. 4Add an optional header (image or text) and footer. Add quick-reply buttons if needed (e.g. 'YES', 'NO').
  5. 5Save and submit. Meta reviews within minutes to 24 hours. Once Approved, it appears ready in the broadcast wizard.

Step 2 — Send a broadcast (4-step wizard)

① Choose Template

Select from your approved templates. Preview shows exactly what the recipient will see.

② Select Audience

All contacts, contacts with specific tags, contacts matching a custom field filter, or a CSV upload of phone numbers.

③ Personalise

Map each {{variable}} to a contact field (name, phone, email, company) or enter a static value. A live preview updates as you configure.

④ Schedule & Send

Give the broadcast a name, choose to send now or at a specific date/time, then launch. Progress updates live on the broadcasts list.

Practical example

You have a new luxury development launching Saturday. You create a template, Meta approves it overnight. You open Broadcasts → New Broadcast → audience: tag Property Investor (437 contacts) → schedule for Thursday 9 AM. By Friday morning: 401 delivered, 389 read, 62 replied YES. You follow up manually with those 62 in the Inbox.

6. Automations

Build no-code workflows that run 24/7 without lifting a finger.

An automation has one trigger (what starts it) and a sequence of steps (what happens). Steps run in order and can include conditions (if/else branches), delays, messages, tags, deal creation, and more.

Available triggers

New Message Received

Fires on every inbound message.

First Inbound Message

Fires only the very first time a contact messages you.

Keyword Match

Fires when a message contains specific words (e.g. 'price', 'info', 'cancel').

New Contact Created

Fires when a contact is auto-created from a first message.

Conversation Assigned

Fires when a conversation is assigned to an agent.

Tag Added

Fires when a specific tag is applied to a contact.

Time-Based (Schedule)

Fires at a set time daily or on a cron schedule.

Available step types

Send Message
Send Template
Add Tag
Remove Tag
Assign Conversation
Update Contact Field
Create Deal
Wait (delay)
Condition (if/else)
Send Webhook
Close Conversation

3 ready-to-use examples

A — Welcome message for new contacts

Trigger: First Inbound Message→ Send Message: 'Hi {{name}}, thanks for reaching out! We'll reply within 1 hour.'→ Add Tag: New Lead→ Create Deal: New Lead in Sales Pipeline

B — After-hours auto-reply

Trigger: New Message Received→ Condition: Time of day is NOT between 09:00–17:00Yes → Send Message: 'We're currently closed. Office hours Mon–Fri 9–5.'→ Add Tag: After Hours

C — Pricing enquiry with follow-up

Trigger: Keyword Match — 'price' OR 'pricing' OR 'cost'→ Send Template: Pricing Overview→ Wait: 2 hours→ Send Message: 'Did our pricing answer your question?'→ Assign Conversation: round-robin to sales team
How to build one

Go to Automations → New Automation → give it a name → choose your trigger → click + Add Step and pick an action → configure it → add more steps as needed → toggle the Active switch → Save. Check View Logsin the automation's menu to see every execution with step-by-step results.

7. Tags & Custom Fields

Organise your contacts and power your broadcast segmentation.

Tags

Tags are coloured labels you apply to contacts. Use them to group contacts by interest, status, source, or any category you choose. Tags power broadcast audience filtering and automation triggers.

  1. 1Settings → Tags → New Tag → enter name → pick a colour → Save.
  2. 2Apply to a contact: open the contact → Tags tab → check the tag → Save.
  3. 3Apply via automation: 'Add Tag' step fires automatically on trigger.
  4. 4Use in broadcasts: Step 2 audience → 'Specific tags' → choose tags → only those contacts receive the message.

Custom Fields

Custom fields let you capture extra data specific to your business — Budget Range, Property Type, Referral Source, or any other field. Values are editable per contact and can be used as broadcast variables.

  1. 1Settings → Tags tab → New Custom Field → name it (e.g. 'Budget Range') → Save.
  2. 2Set value per contact: open contact → Custom Fields tab → enter value → Save.
  3. 3Use in broadcasts: in Step 3 (Personalise), map a template variable to your custom field.
  4. 4Use in automations: 'Update Contact Field' step can write values automatically.
Practical example

You create tags: Hot Lead, Warm Lead, VIP, Investor, First-Time Buyer. You create custom fields: Budget Range, Property Type, Preferred Area, Referral Source. When a lead messages, your agent sets Budget Range = "R1.5M–R2M", Property Type = "Apartment", and adds tag Hot Lead. Next week you broadcast a new listing targeted only to Hot Lead contacts with Property Type = "Apartment" — reaching exactly the right people.