Waymaker Host

Ambassadors (Serverless Functions)

Learn about Ambassadors (Serverless Functions) in WaymakerOS.

WorkersServerlessCron

Ambassadors are serverless functions deployed through Waymaker Host to a global edge network — 330+ locations worldwide, sub-50ms latency. They run your business logic close to your users — webhooks, scheduled tasks, API integrations, AI-powered automations, and more.

What Are Ambassadors?

Think of ambassadors as your organization's automated agents. They:

  • Run on schedule — Check inventory, send reports, sync data
  • Respond to events — Process webhooks, handle API requests
  • Connect systems — Bridge your Waymaker data with external services
  • Think with AI — Extract data, classify content, generate summaries, and process images
  • Scale automatically — Run on a global edge network across 330+ cities worldwide

AI Capabilities

Ambassadors have two built-in ways to use AI: One AI (ctx.ai.generate()) — the full-power path routed through One for complex reasoning, premium writing, and compliance-aware processing — and Edge AI (ctx.ai.edge()) — a fast, low-cost model running on the same network as your ambassador, ideal for extraction, classification, and high-volume structured output. Both draw on your WaymakerOne Pass credits.

Full guidance, code examples, and a when-to-use-which comparison are in Using AI in Ambassadors.

Creating an Ambassador

Required Fields

  • name — Used to generate the URL slug

Optional Fields

  • repository_url — GitHub repo containing your function code
  • repository_branch — Branch to deploy from (default: main)
  • function_path — Entry file path within the repo (default: index.ts)
  • auth_moderequired (default), public, or api-key
  • schedule — Cron expression for automatic invocation (e.g., 0 */6 * * *)
  • workspace_id — Associate with a specific workspace

CLI Example

waymaker host ambassadors create \
  --name "weekly-report" \
  --repo https://github.com/acme/reports \
  --schedule "0 9 * * 1" \
  --auth-mode public

MCP Example

"Create an ambassador called weekly-report from my reports repo that runs every Monday at 9am"

Deploying

Trigger a deployment:

waymaker host ambassadors deploy <ambassador-id>

The build runner:

  1. Checks out your repo
  2. Builds the serverless function
  3. Deploys to the global edge network (330+ cities)
  4. Updates the ambassador status

Invoking Manually

Test an ambassador by invoking it directly:

waymaker host ambassadors invoke <ambassador-id>

This sends a POST request to the ambassador's deployed URL and returns the response.

Viewing Logs

See recent invocations:

waymaker host ambassadors logs <ambassador-id> --limit 20

Each entry shows the timestamp, status, duration, and the input and output data. For the full detail — including how to read failures and timeouts — see Invoking & Logs.

Authentication & Schedules

An Ambassador can require a Waymaker auth token, be public, or use an API key — and it can run on a schedule (a cron expression). Both are configured in the ambassador's settings; see Settings, Schedules & Auth for the auth modes and the cron reference.

Ambassador Lifecycle

StatusMeaning
pendingCreated, not yet deployed
buildingBuild in progress
activeDeployed and running
errorLast deployment failed
archivedSoft-deleted

Deleting an Ambassador

waymaker host ambassadors delete <ambassador-id>

This archives the ambassador and removes the serverless function. Only the creator can delete.

Environment Variables

Ambassadors have their own environment variables, separate from apps. See Environment Variables for details.