perfectdesign.

AI and automation

WhatsApp automation

WhatsApp is where Malaysian customers already reply. Automating it well has less to do with the bot and more to do with consent, approved templates and knowing the moment to hand the thread to a person.

In short

WhatsApp automation connects one permitted event, such as an enquiry arriving or a booking being confirmed, to a bounded reply and a recorded outcome. It runs on the official WhatsApp Business API, which your business registers for and owns, and we build and connect the automation on top of it. The channel rules then decide the design: people opt in before you contact them, business-initiated messages outside a service window normally need an approved template, and every automated thread needs a working route to a human.

Written for an owner or operations lead deciding what to automate on whatsapp and what to leave to a person · 7 min read

Start with one workflow, not a bot

The version of this project that works is narrow. Pick one event that already happens, decide what the customer should receive when it happens, decide what your team should see, and record the outcome somewhere you can check later. An enquiry arriving. A booking confirmed. A payment received. A delivery on its way. One event, one bounded conversation, one record.

That is a different purchase from a chatbot. The bot is a component; the workflow is the thing being built. Before anything is written, a scope needs seven items settled: the channel boundary, the trigger, the message category, the consent state, the system action, the exception route, and the name of the person who owns what happens when it goes wrong. Those decide the cost and the risk far more than the conversation design does.

Everyone has a phone. Not everyone has a computer. A process that assumes a customer can sit at a computer, open an attachment and print a form excludes a fifth of the country. A phone number reaches practically everyone. A full text version follows.

Everyone has a phone. Not everyone has a computer

Published statistic. A process that assumes a customer can sit at a computer, open an attachment and print a form excludes a fifth of the country. A phone number reaches practically everyone.

Source: Department of Statistics Malaysia: ICT Use and Access by Individuals and Households, 2024. Reviewed .

Read the graphic as text
  • Mobile phone: 99.5%.
  • Internet: 98.0%.
  • Computer: 80.7%. One in five without

Chart scale: Malaysians aged 15 and above using each, 2024.

Download this infographic (SVG)

The account is yours, and it changes the plan

The account sits on your side of the line. Your business registers for its own access to the official WhatsApp Business API and the number belongs to you, and we build the workflow and connect it on top. That is not a technicality. The number, the message templates and their approval status, and the conversation history all sit in your account, which means registration and business verification are real items on the schedule rather than something a developer quietly handles in the background.

Plan for them. Verification asks for business details that have to match your records, the number you choose is awkward to change afterwards, and a number already in use on the consumer WhatsApp app has to be migrated rather than casually reused. We are building our own WhatsApp product to remove that setup step. It is in development and not available yet, so every project we scope today is built on your own Business API access.

What sits inside your own WhatsApp account. Registration and business verification are schedule items, not a developer detail. A full text version follows.

What sits inside your own WhatsApp account

Primary-source guidance. Registration and business verification are schedule items, not a developer detail.

Source: Meta: WhatsApp Business Platform overview. Reviewed .

Read the graphic as text

Your Business API account

  • The number. Registered by you, and awkward to change later
  • Message templates. Submitted and approved under your own account
  • Conversation history. Held in your account, not in a supplier system
  • The build. Our workflow connected on top of your access
Download this infographic (SVG)

Three kinds of message, and the rules that follow

Automated messages fall into three planning categories, and the category decides what you may send and when. Transactional updates confirm something the customer already asked for, such as a booking or a delivery. Support replies answer a person who has just written to you. Promotional messages are marketing, and they carry the tightest controls. The real classification and the exact wording need your approval, because you are the one whose number carries the consequence.

The WhatsApp business messaging policy we read on the date recorded below requires a business to have the person's mobile number and their opt-in permission before contacting them, and requires opt-out requests to be respected. Treat that as a design input rather than a compliance footnote. Consent becomes a field on the customer record with evidence of how it was given, opt-out becomes an action that suppresses future sends immediately, and both need somewhere to live before a single message is scheduled.

Sharing moved into the chat. Private messaging nearly doubled in two years. The link somebody forwards to one friend is now almost as common as a public post, and it never appears in your analytics as a share. A full text version follows.

Sharing moved into the chat

Published statistic. Private messaging nearly doubled in two years. The link somebody forwards to one friend is now almost as common as a public post, and it never appears in your analytics as a share.

Source: MCMC: Internet Users Survey 2024, online content sharing platform. Reviewed .

Read the graphic as text
  • Social media: 71.1%.
  • Group chat: 50.1%.
  • Private message: 48.6%. Was 29.4% in 2022
  • Email: 12.1%.

Chart scale: Where Malaysian internet users share content, 2024.

Download this infographic (SVG)

Templates are a schedule item, not a formatting detail

A template is a pre-approved message structure with placeholders for the parts that vary. It is submitted under your account, reviewed, and either approved or rejected, and rejections are often about wording rather than intent. Nobody can promise you an approval or a turnaround, which is exactly why leaving templates until the week before launch is one of the more reliable ways to miss a date.

So we draft them early, in your voice, and keep the set small. Each template has a job, a category and a named owner who can edit it later without a developer. Variables stay limited to what genuinely varies, because a message stuffed with placeholders is harder to get approved and easier to break.

What WhatsApp actually charges for. Answering customers costs nothing. Interrupting them costs money and needs approval, which is the right way round for a business to think about it. A full text version follows.

What WhatsApp actually charges for

Published statistic. Answering customers costs nothing. Interrupting them costs money and needs approval, which is the right way round for a business to think about it.

Source: Meta for Developers: WhatsApp Business Platform pricing. Reviewed .

Read the graphic as text
  • Customer writes first: 24h. Opens a service window. Every reply you send inside it is free
  • From a click-to-WhatsApp ad: 72h. A longer free window, which is what makes those ads efficient
  • You write first: Paid. Marketing, utility and authentication templates are billed per message, and templates need approval before use
Download this infographic (SVG)

A worked example

The table below is a teaching example, not a client system. The roles and responses are assumed, and the acceptance evidence describes tests to run rather than results already obtained.

Illustrative example: a service enquiry from first message to recorded outcome
Workflow stepAssumed actorProposed system responseExceptionAcceptance evidence to collect
Enquiry arrives and consent is identifiedProspective customerMatch the number to a customer record, read the consent state and open a service threadNo consent record exists, or the person opted out previouslyTest that a suppressed number receives nothing and that the opt-out is visible on the record
Bounded reply and context captureAutomationAnswer within an agreed set of questions, collect the details the team needs and confirm what was understoodThe question sits outside the agreed set, or the answer is ambiguousTest that an out-of-scope question escalates instead of guessing, and compare the captured fields against the thread
Handover to a personService coordinatorAssign the thread with the request, the consent state, the workflow state, the attempted action and the reason it stoppedNobody is on duty, or the assigned person does not respond within the agreed periodTest the reassignment rule and confirm the coordinator sees the context without opening a second system
Outcome recordedService coordinatorWrite the result to the operational record, including anything promised to the customerThe message was delivered but the write to the record failedTest that the failure is queued and visible to an owner, then compare the outcome with the thread

What we would not automate

Some messages should be written by a person every time, and saying so early prevents an argument later. Money that is owed or disputed. Complaints, particularly the ones that arrive already angry. Anything medical, legal or safety related. Apologies. Prices that sit outside your normal rules. Identity documents and other sensitive details, which should not be collected in a chat thread at all. A broadcast to a purchased list belongs on the same list: it is not automation, and it is the quickest route to a reported number.

Handing the conversation over, properly

Every automated thread needs an exit, and the exit is where most of them fail. The customer should not have to repeat themselves, the reply should continue in the same thread rather than arriving from somewhere else, and the person taking over should arrive already informed.

In practice the handover carries five things: what the customer asked for, their consent state, where the workflow had reached, what the automation attempted, and why it stopped. It also assumes somebody is on duty. An escalation routed to a queue nobody watches is worse than no automation at all, because the customer has already been told that help is coming.

What a handover has to carry with it. An escalation routed to a queue nobody watches is worse than no automation at all. A full text version follows.

What a handover has to carry with it

Editorial framework. An escalation routed to a queue nobody watches is worse than no automation at all.

Basis: Perfect Design: AI and automation explained. Reviewed .

Read the graphic as text
  • The request. What the customer actually asked for
  • Consent state. Whether you may message this person at all
  • Workflow state. How far the thread had already reached
  • What was tried. The action the automation attempted
  • Why it stopped. The reason a person is needed now
Download this infographic (SVG)

Where the workflow connects

A WhatsApp workflow needs an operational destination, and that is a decision rather than a default. Which system holds the record, which fields map to which, who has permission to write to it, and where an exception goes when a write fails. Whether that destination is a CRM, a helpdesk or your own admin screens is agreed during scoping. Connecting it is covered on CRM and integrations, and the screen your team watches while the workflow runs is covered on admin dashboards.

What to verify before a scope is agreed

Policy and permitted messaging. The current policy version on the day you build, the message categories you intend to use, the evidence that consent was given, how an opt-out is actioned, the template conditions and the escalation requirement.

Account eligibility. The business portfolio, the phone number and how it is used today, who holds access, which permission each person needs, and the approval status of every template. These are values to confirm on your account, not capabilities to assume from documentation.

Technical integration. Authentication, where incoming events are routed, the connected system, the field mapping, how duplicates are handled and what happens to a request that fails.

Operational ownership. Who maintains the consent records, who edits message content, who holds account access, who actions an opt-out, who decides an escalation, and who rereads the policy next year. Anything still open is written down as to agree rather than being absorbed by whoever builds it.

What to bring

Bring the workflow you have in mind, the people it affects, the systems you already run, the change you want and the constraints that cannot move. Leave credentials out of a first message; there is a safe way to share access once there is something to build. Tell us the workflow and we will say what we would automate first, what we would leave to a person, and what has to be confirmed on your own account before anything is promised.

What you get

What is actually delivered

01

One mapped workflow

The trigger, the message category, the consent state, the system action, the exception route and the owner, written down before anything is built.

02

Business API connection

The automation built and connected on the official WhatsApp Business API account your business registers and owns.

03

Message templates drafted early

A small, deliberate set written in your voice, submitted under your account, each with a category and a named owner who can edit it later.

04

Consent and opt-out handling

Consent as a field with evidence of how it was given, and an opt-out that suppresses future sends immediately rather than on the next review.

05

Escalation to a person

A handover that carries the request, the consent state, the workflow state, the attempted action and the reason it stopped, into the same thread.

06

The connected record

Field mapping into the CRM, helpdesk or admin screens you agreed, with duplicate handling and a queue for writes that fail.

07

A tested exception path

Out-of-scope questions, nobody on duty, failed writes and repeat messages exercised as checks before launch rather than discovered afterwards.

08

Handover and ownership

Your account, your templates, your data, plus a written note of who owns consent, content, access and the next policy review.

How it runs

Settle the channel rules, then build the conversation

WhatsApp projects are decided by consent, templates and the handover. We agree those before designing a single message.

  1. 01

    Pick one workflow

    We choose a single event worth automating and write down its trigger, message category, consent state, system action and exception route.

  2. 02

    Check the account

    Business API access, the number, permissions and template status are confirmed on your account, because documentation does not tell us what is enabled for you.

  3. 03

    Draft templates and the escalation rule

    Templates are written and submitted early, and we agree in advance what is never automated and who receives the handover.

  4. 04

    Build and connect

    The automation is built and connected to the system that holds the record, with field mapping, duplicate handling and a queue for failures.

  5. 05

    Test the exceptions, then start narrow

    Opt-outs, out-of-scope questions and failed writes are exercised deliberately, then the workflow goes live on a small volume before it is widened.

Proof

Work you can click through

PITC Training is real client work, live on the client's own domain. It is shown here for the part that matters most in a messaging workflow: enquiries captured from a live platform, stored, and synced into the client's Zoho CRM so a person picks them up with the context attached. It is not a WhatsApp deployment, and no performance or business outcome is claimed for it.

Concept prototypes are labelled as prototypes everywhere they appear. They demonstrate what we can build, not work delivered for that named client. More client work is going live and will be added as it does.

How we work

The parts people ask about before they commit

How we build

React first, other languages when a project needs them

We build in React by preference, on both web and mobile, and we work in other languages when a project genuinely calls for it.

WhatsApp access

Your own Business API account

WhatsApp automation runs on the official WhatsApp Business API. Your business registers for its own API access and owns the number, and we build and connect the automation on top of it.

  • Your WhatsApp Business API account and phone number
  • Your message templates and their approval status
  • The conversation history and customer data

Timeline

Project dependent, and often quicker than expected

Timelines are project dependent. A focused build can go live in about a week, while a larger platform takes longer once scope is agreed.

Ongoing care

Quoted with the project, not bolted on

For a more complex website or a system with a real backend, ongoing care starts from RM 250 a month, with the plan confirmed against what was actually launched. Care is quoted with the project, not bolted on afterwards.

Getting hold of us

Normally under one working day

We normally respond to a support request in under one working day, and we work to solve problems as fast as we can. That is how we normally work rather than a contractual guarantee, and responding is not the same as resolving. If your operation needs a formal response or resolution commitment, we can write one into your scope.

Ownership

Everything belongs to your business

You own everything we build for you: the code, the content, the domain, the hosting account and every third-party account opened for the project. There is no lock-in. If you move to another provider, everything goes with you and we help with the handover.

  • Source code, handed over in your own repository
  • Domain and DNS, registered to your business
  • Hosting and every service account, in your name
  • Analytics, search and ad accounts, with us as a manager you can remove
  • All content, media and data in the system

Questions

Asked about whatsapp automation

Straight answers to what people ask before they commit. Anything else, message us.

Do we need our own WhatsApp Business API account?

Yes. WhatsApp automation runs on the official WhatsApp Business API, and your business registers for its own access and owns the number. The templates and their approval status, and the conversation history, sit in your account. We build and connect the automation on top of it, and we help with the setup steps rather than holding the account for you.

Can we message our whole customer list?

Only the people who opted in, and only in a way the policy allows. The policy we read requires the mobile number and their permission before you contact them, and requires opt-outs to be respected. A purchased list is not a use case we would build, because the cost of getting it wrong is the number your customers already have saved.

What does WhatsApp automation cost?

Our published website packages are on the pricing page, and a WhatsApp workflow is quoted against the scope we agree rather than sold as a package. What moves the number is how many message journeys there are, what has to be connected behind them, and how much of the work is the staff side. Meta also bills your own account for messaging at its current rates, which is separate from anything we charge, so check those rates for the categories you intend to use.

How long does template approval take?

Nobody outside the platform can tell you honestly, and the answer varies by category and by account. That is why we draft templates at the start of a project rather than at the end, keep the set small, and design the launch so a template still in review does not hold the whole workflow.

Can the same assistant answer on our website and on WhatsApp?

It can, and the knowledge behind it is the part worth getting right. How an assistant is grounded on your own prices and rules, and how it captures a lead mid-conversation, is covered on AI assistants and chat. This page is about the channel underneath: consent, templates, the service window and the handover.

What happens when nobody is available to take over?

Whatever you decide, as long as you decide it. The usual options are an honest out-of-hours message with a time the customer will hear back, a reassignment rule to a second person, or a queue that is reviewed first thing. What we would not do is leave the thread open with a promise nobody is watching.

Who owns the conversations and the customer data?

You do. The account, the number, the templates and the conversation history are yours, along with everything we build on top of them. If you move to another provider it all goes with you, and we help with the handover rather than making it awkward.

Where to go next

Sources

Tell us what you need built

We will show you the closest thing we have already built, then scope the real version against your requirements.