Workflow automation
Business Automation Development: Connect the Tools You Already Use
I am Shahid Malla, a workflow automation developer. I build rule-based automation that connects the tools your business already uses, through webhooks, APIs, scheduled jobs and queues, in n8n or in custom code. It suits teams that copy data between systems by hand, and every workflow ships with logging, retries and alerts.
Free scoping call of about 30 minutes · written quote within one business day · two weeks of support after delivery
By Shahid Malla, Freelance WHMCS developer and web developer · Updated
What does business automation development cover?
It covers building rule-based workflows that move data between the tools your business already uses, so that nobody copies it by hand. Each workflow has a trigger (an event, a schedule or a new record), a fixed list of steps and a defined behavior for when a step fails. The same input gives the same result every time.
If a task needs a language model to read text and decide what to do next, you need AI agent development instead. If the system in the middle is WHMCS, its hooks and API commands are covered under WHMCS API integration and automation.
Which processes are worth automating, and which are not?
A process is worth automating when it happens often, follows rules you can write down and starts from data that is already digital. It is not worth it when it is rare, still changing or needs a judgment call each time.
| Process | Automate? | Reason |
|---|---|---|
| Copying paid orders or invoices into accounting | Yes | Frequent, rule-based, and a typing mistake costs money. |
| Web form or ad lead into the CRM, with an owner assigned | Yes | Response speed matters and the rules are simple. |
| Payment received: mark the booking paid, send the receipt, tell the team | Yes | A signed gateway webhook is a dependable trigger. |
| Nightly comparison of two systems | Yes, as a report | The job lists mismatches. A person decides each fix. |
| Refunds and supplier payouts | Prepare only | The workflow drafts the payment. A person approves it. |
| A task done twice a year | No | Upkeep costs more than the time saved. Keep a checklist. |
| A process that changes every few weeks | Not yet | Let it settle first, or you pay to rebuild it. |
| Replies to complaints | No | They need judgment and tone. |
Automating a broken process only produces the wrong result faster, so the manual steps get fixed first.
Should I use a workflow tool such as n8n, or custom code?
Use a workflow tool when the apps involved have ready connectors and the volume is modest, and custom code when the workflow needs database transactions, high volume, complex branching or automated tests. Many projects mix the two.
| Criterion | Workflow tool (n8n, Zapier, Make) | Custom code (Laravel or Node.js) |
|---|---|---|
| First working version | Fast, where connectors exist. | Slower. Each connection is written. |
| Who can change it | A trained staff member, for simple edits. | A developer. |
| Error handling | Has to be added to each workflow, and is easy to skip. | Designed in: queues, retries and a failed-jobs table. |
| Running cost | Hosted plans are usually priced by usage, so busy workflows cost more. | A fixed server cost. |
| History and tests | Limited. Where the tool exports workflows as files, I keep them in Git. | Full Git history, automated tests and review. |
| Where data passes | Through the vendor's cloud, unless the tool is self-hosted. | Only through your server. |
Self-hosting n8n keeps data on your server but makes patching and backups your job. In n8n I attach an error workflow to every workflow, so a failed run is reported, not left unnoticed.
How are failures handled so nothing is lost or sent twice?
Every workflow I build assumes that any step can fail, run twice or arrive late, and it handles all three. Four mechanisms do the work.
- Idempotency. A repeated event must do no harm. Every event gets a unique key, stored under a unique index. A repeated key is acknowledged and skipped, so a webhook delivered twice does not create two invoices. Where the receiving API accepts an
Idempotency-Keyheader, I send one. - Retries with backoff. A timeout, a
429or a503is retried after a growing delay, and aRetry-Afterheader is respected. A400or422is not retried, because the same bad data fails again. - A dead-letter list. After the last attempt the item moves to a list of failed items, with its payload and the error. Once the cause is fixed it is replayed, in Laravel with
php artisan queue:retry. - Alerts. A failure, a growing backlog or a scheduled job that did not run sends a message by email, Slack or Telegram. A nightly job checks in when it finishes, and a missed check-in raises the alert.
The webhook receiver itself does little: it verifies the signature, stores the event, answers with a 2xx status and passes the work to a queue.
How are API keys and access kept secure?
Each connection gets its own credential with the narrowest permissions the workflow needs, kept outside the code. This is least privilege: a workflow that only reads orders cannot delete them.
- A separate key per workflow, so one can be revoked without stopping the others.
- Read-only scopes wherever the workflow only reads. No owner or admin tokens.
- Secrets in environment variables or the tool's encrypted credential store, never in a workflow export, a spreadsheet or a repository.
- Inbound webhooks checked by HMAC signature, with stale timestamps rejected to block replays.
- Logs that keep IDs and statuses, not full payloads of personal data, and expire after a period you choose.
What automation work have I delivered?
Three projects in my portfolio show the range, from a messaging platform to billing and payments.
- ElyWa. A WhatsApp marketing automation platform I built on the official WhatsApp Cloud API: a drag-and-drop flow builder for automated conversations, campaigns to audience segments, and a REST API with webhooks for other systems.
- CloudByteHost. WHMCS automation for a US hosting company with several cPanel servers: a custom provisioning module, automated plan changes and billing reconciliation between WHMCS and the servers.
- JK Tour CRM. Payments through Stripe, PayPal or Razorpay and a supplier ledger, so one booking runs from lead to payment to supplier settlement without retyping. When the missing piece is the system of record itself, see CRM development.
Who monitors and owns the automation after handover?
You own it, and I write the runbook so that someone other than me can operate it. The workflow tool, the server and every API app are registered in your company's name.
- A searchable run log shows each run, its result and its duration.
- Alerts go to a named person on your team, not only to me.
- The runbook explains how to pause a workflow, replay a failed item, rotate a key and add a step.
APIs change, and providers retire old versions. After the two weeks of support, someone has to watch for that and check the dead-letter list: your team, or me under a separate agreement.
What will I not automate?
I will not automate anything that breaks another party's terms, messages people who did not ask, or moves money without a person's approval.
- No scraping of a site whose terms forbid automated access, and no bots that get around a login or CAPTCHA.
- No bulk unsolicited messages by WhatsApp, SMS or email. Messaging goes to people who opted in, through official APIs.
- No workflow that pays, refunds or transfers money on its own. It prepares the payment, and a person approves it.
- No promise that nothing ever fails. Other companies' APIs go down. What I build makes each failure visible and recoverable.
How much does it cost to hire a workflow automation developer?
I quote a fixed price for a written scope, or bill $55 to $65 per hour. One workflow between two systems with clean APIs is the small end, and each extra system, two-way sync or approval screen adds to it. We start with a free scoping call of about 30 minutes, the written quote follows within one business day, and I build in a staging copy against sandbox accounts. The terms are on how I work. If the workflows are turning into a product with its own users and billing, that is SaaS development.
Who this is for
- Teams that retype orders, leads or payments from one system into another every day
- Owners whose operations hang on a chain of spreadsheets, form tools and email rules that nobody fully understands
- Companies with Zapier, Make or n8n workflows that fail without anyone noticing
- Businesses that want WhatsApp, email or chat notifications driven by real events in their own systems
What is included
- A written map of each workflow: trigger, steps, data fields and failure behavior
- Webhook receivers with signature checks and duplicate protection
- Scheduled and queued jobs with timeouts, retries and backoff
- A dead-letter list of failed items that can be inspected and replayed
- One credential per connection, limited to the permissions it needs
- A searchable run log, plus alerts by email, Slack or Telegram
- A runbook covering how to pause, replay, rotate a key and add a step
- Two weeks of support after delivery
How the work runs
-
1
List the manual work
On a free call of about 30 minutes we list the copying and checking your team does, how often it happens and what a mistake costs. A written quote follows within one business day.
-
2
Map each workflow
For every workflow I write down the trigger, the steps, the field mapping and what happens when a step fails. You confirm the map before I build anything.
-
3
Build against sandboxes
I build in a staging copy with test accounts and sandbox keys, so no real customer is messaged and no live record changes. You get a daily progress update.
-
4
Run the failure drills
I send duplicate events, cut a connection mid-run and feed in bad data, then confirm that nothing is doubled and each failure lands in the dead-letter list.
-
5
Run beside the manual process
For an agreed period the workflow runs while your team still does the task by hand. We compare both results before the manual step is retired.
-
6
Hand over
You receive the code or workflow exports, the runbook and the credentials list. Two weeks of support cover defects in the delivered scope.
Frequently asked questions
What is the difference between workflow automation and an AI agent?
Workflow automation follows fixed rules: when this event happens, run these steps, the same way every time. An AI agent uses a language model to decide which step comes next, which suits work that needs reading and judgment, such as answering a support ticket. Most copying between systems needs rules, not a model. Where a single step needs judgment, such as sorting an incoming email, I can put a model in that step only and keep the rest rule-based.
Should I use n8n, Zapier or Make, or have custom code written?
A workflow tool such as n8n, Zapier or Make fits when the apps involved have ready connectors, the volume is modest and someone on your team wants to adjust simple steps. Custom code fits when the workflow touches money-related records, needs database transactions, runs at high volume or must be covered by automated tests. I often combine them: the tool receives the event and a small service does the part that must not go wrong.
What happens when an automation fails?
The failed item is retried after a growing delay if the error looks temporary, such as a timeout. If it still fails, it moves to a dead-letter list together with its data and the error message, and an alert goes to a named person by email, Slack or Telegram. Nothing is dropped silently. Once the cause is fixed the item is replayed, and duplicate protection stops it from being applied twice.
Can you take over automations that someone else built?
Yes, as a defined piece of work. I first read every workflow and write down what it does, which credentials it uses and where it can fail without anyone noticing. You then get a short list: keep as it is, add error handling, or rebuild. I work on a copy wherever the tool allows it. I do not continue workflows that scrape sites against their terms or send unsolicited bulk messages.
Can you automate WhatsApp messages for my business?
Yes, on the official WhatsApp Cloud API and to people who have opted in. Order confirmations, payment receipts, reminders and keyword-triggered replies are typical. Messages your business starts must use templates approved by Meta, and free-text replies are allowed inside the 24-hour window after the customer's last message. I do not use unofficial libraries that drive a personal WhatsApp account, and I do not build unsolicited bulk sending.
Is it safe to give an automation access to my accounts?
Yes, provided the access is kept narrow. Each connection gets its own API key or token, limited to the permissions that one workflow needs and read-only wherever it only reads. Keys live in environment variables or the workflow tool's encrypted credential store, never in a spreadsheet or a repository. You receive a list of every credential, what it can do and how to rotate it, so any of them can be withdrawn without stopping the rest.
What does business automation development cost?
I quote a fixed price for a written scope, or bill $55 to $65 per hour. One workflow between two systems with clean APIs is the small end. Each extra system, two-way sync or approval screen adds to it. Workflow tool subscriptions, server costs and API usage are charged to you directly by those companies. The scoping call takes about 30 minutes and is free, and the written quote follows within one business day.
Related services
-
AI Agent Development: Hire an AI Agent Developer
AI agent development for hosting and SaaS teams: agents that answer tickets from your knowledge base, update W...
-
WHMCS API Integration and Automation
I connect WHMCS to your CRM, Slack or Telegram, SMS, accounting and control panels with the API, localAPI() an...
-
Custom CRM Development: Hire a CRM Developer
Custom CRM development in Laravel for businesses that HubSpot or Zoho does not fit: pipeline, quotes, payments...
-
SaaS Developer: Build a SaaS Website or Product
Freelance SaaS developer for SaaS websites, MVPs and customer portals on Laravel and Filament, with Stripe, Pa...
Ready to talk about your project?
Send the details and I reply within one business day with questions, an estimate and a plan.