Connect
Hosted Google OAuth is in development. Other connection methods remain planned.
Build against one account, resource, command, and event model. In local development, the repository proves only its control plane, hosted Google authorization, signed webhook delivery, and one Google Calendar create method. No production or real-provider conformance is claimed; the broader channel runtime remains planned.
{
"evidence": "google_calendar",
"state": "provider_confirmed",
"release": "development"
}Every channel brings its own authentication, identifiers, payloads, limits, and failure modes. That work compounds before a customer sees one useful feature.
DewEngine turns those differences into a shared account, resource, command, and event model—without hiding the provider context your engineers still need.
Hosted Google OAuth is in development. Other connection methods remain planned.
The target contract covers chats, messages, mail, calendars, attendees, and attachments.
Durable commands and provider attempts cover the narrow Calendar proof; broader operations remain planned.
Signed webhook delivery is locally tested. Provider-originated channel events remain planned.
Start with one connector and add the next without rebuilding your product boundary. Each channel page shows its current release or decision-gate state; DewEngine is not yet a production service.
Decision-gated: target profiles, conversations, invitations, and professional context
Decision-gated: target chats, groups, media, replies, and connection state
Planned: direct messages, profiles, media, and engagement context
Planned: user-account messaging, groups, files, and events
Planned: Gmail, Outlook, and IMAP behind one mailbox model
Development: one Google create method; the broader calendar model is planned
The development control plane already uses consistent authentication, errors, identifiers, command state, and webhook envelopes. Provider-specific methods are exposed only after their evidence and release gates are explicit.
const accounts = await dew.connectedAccounts.list();
const active = accounts.filter(
(account) => account.status === "ACTIVE"
);Keep the entire contact conversation attached to the customer record.
Explore →02Move from professional context to candidate conversation and scheduling.
Explore →03Give an agent scoped communication tools with an auditable account boundary.
Explore →04Turn real replies and account events into workflow decisions.
Explore →Tell us which product you are building and which accounts must work first.