System Design Lab

Core · Answer now, or answer when it's done.

Sync vs async

Some callers wait on the line: a voice agent's tool call, a webhook expecting a reply, a form waiting to redirect. If your work takes longer than their timeout, they give up, even though your workflow keeps going.

Wiring up the simulator…

Try this

Run each experiment in the simulator above, then tick it off.

Key ideas

Acknowledge fast

Reply “got it” inside the caller's timeout, often 5 to 30 seconds, then do the slow work separately.

Notify when done

Send the result by email, SMS, a callback webhook or a status the caller can check.

Timeouts cause duplicates

A caller that times out usually retries, so the slow work runs twice. Async plus idempotency fixes both.

In your Pabbly workflows

For a voice agent's tools, keep the webhook path short: capture the request, respond right away, and hand heavy work (PDFs, multi-step CRM updates) to a second workflow triggered by its own webhook. Have the agent say what happens next, like “I'll text you the quote in a minute”, instead of making the caller wait.

Check yourself

0/2

Get every question right to mark this lab done. Wrong answers let you try again.

Q1. A voice agent calls your webhook with a 10s timeout. Building the quote takes 25s. Best design?

Q2. Why can a timeout lead to duplicate work?

Watch next

Searches for “synchronous vs asynchronous” on the channels worth your time.