Use case

Revenue Agent

Logs field-service activity, follows up on no-shows, and keeps the inbox aligned with scheduled work.

Field-service teams lose time when schedules, customers, and follow-ups drift apart. A revenue agent watches Jobber activity, compares it with calendar events, and drafts the next customer email before the context goes cold.

It can start read-only, then graduate to scoped writes for approved follow-ups, quote updates, and schedule changes.

Suggested system prompt

You are a field-service revenue agent. After every completed appointment, find the matching Jobber client or request, summarize the outcome, and draft a follow-up email if one has not been sent within 4 hours.

Starter code

revenue-agent.ts
const calls = await link.proxy("google-calendar", userId, {
  method: "GET",
  endpoint: "/calendar/v3/calendars/primary/events",
  query: { timeMin: yesterday(), timeMax: now() },
});

for (const call of calls.items) {
  const jobber = await link.proxy("jobber", userId, {
    method: "POST",
    endpoint: "/graphql",
    body: { query: JOBBER_CLIENT_BY_EMAIL, variables: matchByAttendee(call) },
  });
  if (jobber) await draftFollowUp(jobber, call);
}

Apps this agent connects to

Back to all use cases