AskRaian documentation

Outreach projects and campaigns

Turn connected business context into reviewed campaigns and manage the conversations they start.

Create a project

Open Dashboard → Outreach. Choose a name and timezone. Project names are unique within your personal or team workspace. Each project has a private direct URL that your workspace members can open after signing in. Renaming a project keeps its URL.

All plans can use Outreach. AI generation and files use the workspace’s existing AI and storage allowances. Personal resources move into the team when you join it; rename conflicting projects before accepting an invitation.

Create with a prompt

Choose Create with prompt in Templates, Campaigns, or the dashboard. Describe the goal, audience, timing, tone, language, and any exact offer or booking link. Example buttons fill the request; Generate draft starts the AI work. Fields marked AI instructions influence the result.

Raian uses project guidance, ready reference files, verified audience fields, approved audiences, and channel setup. It asks for clarification when the requested targeting cannot be supported; it never replaces an unavailable segment with all contacts. A campaign opens as a saved draft with generated email content in the usual five-step editor. It still requires recipient and message previews and explicit activation.

Email template results open as unsaved blocks for editing. WhatsApp results open in the shared template builder; review the copy and explicitly submit it to Meta. Generated copy is not an approved WhatsApp template. Connect a WhatsApp number before generating for that channel.

If the response is interrupted, Check draft status reads the saved result without another AI call. Retry same request reuses the request key to recover or start that same request once. Recovery receipts are kept for 24 hours. Draft creation never sends an email or WhatsApp message.

Design your email

Start with a visual style, then edit backgrounds, accent colors, typography, spacing, and corners. Choose a simple, framed-card, or accent-header layout. Select any block to change its appearance and content. Columns contain one to three editable content blocks.

Create with prompt also designs the email. Include your preferred colors and style in the request. It can choose from your existing project image library; new artwork is a separate action. Wording, personalization, links, images, and buttons remain individually editable.

Add an Image block and choose or upload an image. PNG and JPEG uploads up to 4 MiB are optimized, resized, and stripped of photo metadata. Marketing images are accessible to email recipients through a public image link; private reference files in Settings remain separate. Images use workspace storage, with up to 200 images per project.

Generate an image opens a separate AI instructions field. Generate one image uses your account's AI allowance. Review the result and choose Use image to insert it. This does not change your wording or send a message. Check image status recovers interrupted results; Retry same image request preserves the original request key. Generation requires image-model access on the workspace owner's OpenAI account.

Saved previews and campaign delivery use the same design. Changing a template requires another campaign review before activation; approved snapshots retain their original design. Recipient image URLs must be publicly reachable through deployment protection, just like unsubscribe links.

Set up your project

New projects open a guided setup on their first dashboard visit: Business → Knowledge → Audience → Channels → Review. Add business background and AI instructions, upload reference files or connect accounts, import and approve an audience, then configure your senders. Audience imports keep their usual field-mapping and permission review.

Choose Skip for now to move past any step, or Finish later to leave the guide. Saved progress belongs to the project and is shared with your workspace. Resume from the dashboard or Project setup in the sidebar. Completing the guide does not approve contacts, generate paid campaign ideas, or activate sending. The final review shows remaining setup without preventing you from exploring the dashboard.

Settings separates General, Files, and Connections. In General, update the project name and timezone separately from the background and instructions Raian uses. Save each section explicitly. Colored AI context and AI instructions badges identify fields that affect recommendations; the project name and timezone organize the project and its schedules.

Open Files to upload brand guidelines, service menus, policies, and other reference material. Choose your files and upload them directly; Outreach manages the project's knowledge storage for you. Files count toward your existing workspace allowances. Each file shows whether it is being prepared, ready, or needs attention. Ready files can support campaign ideas. If preparation fails, choose Try again when available or remove the failed file and upload it again.

Raian chooses how to read files automatically. Short documents can be supplied as complete extracted text; larger documents and collections contribute relevant passages. A supported PDF may be supplied with its text and visuals when the task needs them and its page allowance permits. The AI context allowance applies to all documents together, so a document that cannot fit in full may be searched instead. Put essential business rules in AI guidance so they are always supplied.

Files uploaded in Settings provide business context. They do not automatically create contacts or audiences. To import a contact list, use Audiences and review its fields and permissions before approval. Previously attached project files remain available. Removing a shared file from this project does not delete its original from another project or the workspace. Confirm the removal before proceeding.

Connections manages access to business systems. Connecting an account does not import its contacts or authorize outreach. Select approved read tools for an MCP connection, or choose the cloud files this project may use. Selected cloud documents can inform recommendations; create an audience separately when you need contacts. Gmail uses a saved audience search that you review before messages are read. Merely connecting Gmail does not read unrelated mailbox conversations.

Add context and review audience sources

In Settings, add project guidance, upload reference files, and connect MCP servers, Gmail, Google Contacts, or cloud services. Google Contacts requires its own permission; connecting Gmail alone does not grant contact access.

If Google blocks sign-in with redirect_uri_mismatch, open Google sign-in blocked? in Connections and copy the displayed callback address. Ask the AskRaian administrator to add that exact address to the Google OAuth client's authorized redirect URIs. Staging and the live site need separate entries. Reconnect after the configuration is updated; this does not require changing your audience permissions.

To add an MCP server without leaving Outreach, open Settings → Connections → MCP server → Add new MCP server. Enter its name and URL, choose no authentication, saved headers, or OAuth, and save. This adds the server to your account or team's normal MCP inventory and uses the same plan allowance as servers created in Dashboard → MCP Servers.

For OAuth, review permissions and finish the provider's sign-in before choosing Connect server. Saving or signing in does not attach the server to the project automatically. After connecting it, select and save the read tools this project may use. A public tool catalog alone does not grant access to account data.

Search read tools by name or description; your selected tools stay selected when you change or clear the search. Some readers need business IDs from another tool. For example, Booklee client readers require a delegated location ID. Outreach may suggest an access-context read tool, but you must review and save that permission before retrying discovery. It never grants tools automatically or substitutes a public location for an authorized business.

If you cancel sign-in or close the chooser, the saved server remains in your workspace inventory. Select it again to reconnect or retry; you do not need to create a duplicate. Existing servers can also be reused across projects. Removing a project connection leaves the saved account server available.

A connected account still needs a usable audience. If the dashboard shows Prepare your audience, follow its action to choose read tools, discover fields, preview contacts, or confirm outreach permissions. These are setup steps, not campaign ideas. Open Audiences to discover or repair fields for the sources you select. Refresh ideas uses your approved contact sources without reading external records or discovering new sources. Preview the audience and confirm its outreach permissions before campaign activation. Discovery errors stay visible so you can correct permissions or retry before approving.

For Gmail, describe the messages to include, such as a label or date range. Outreach proposes a search for review. Save any changes, then click Preview explicitly to confirm the saved search before mailbox records are read. Changing the search requires another review. An existing source keeps its saved query when you rebuild the audience. To use the Google address book, connect Google Contacts separately.

Choose and parse a CSV before matching its actual columns, then import contacts in bounded chunks and preview the result. For connected sources, read a real sample before reviewing suggested contact fields. Empty or failed samples do not supply mapping columns. Advanced mapping remains available when you need to repair a source manually. AI can propose contact mappings and extract people from selected emails or documents, with source evidence. Review the source and confirm permission for each channel before approving it. Use consent fields where available. A contact’s presence in a document or mailbox is not itself permission to send marketing.

MCP audience sources must expose structured contact data with complete, validated pagination. Unsupported tools can still provide recommendation context. Reconnect expired accounts or review changed source schemas before resuming campaigns.

Audiences and Contacts

Contacts is the project-wide pool of records available for campaigns. Audiences are named groups, such as salon clients or newsletter subscribers. Each audience owns one or more data sources: imports from files or connected accounts. A new project starts with no contacts and no audiences.

Open Audiences and choose Add audience to go straight to setup. Enter its name in Choose sources; there is no separate naming dialog. The four steps are Choose sources, Import contacts, Map fields, and Approve. Opening setup does not create an empty saved audience.

Choose connected accounts or a contact file, then import and inspect real samples. Map fields starts with a short import summary, followed by each source's field matches directly on the page. Check the example beside each field to confirm that it contains the right information. Preview mapped contacts opens a fuller table when you need it; the full import report stays in Import contacts. There is no extra mapping button or dialog. Technical import details are available separately when needed. Empty or failed reads do not invent fields. Entering this step reads saved samples and does not start another import. If you change a connected source's mapping, Save mapping and re-import explicitly reads it again. Save changes and finish any pending import before continuing to approval.

Contact files are first read into a temporary preview in the current tab. Review the rows in Import contacts, then match actual columns in the inline Map fields controls and choose Save mapping and import. Until that action, the file has not been saved and must be chosen again if you leave. Saved draft imports stay separate from global Contacts until approval.

Fields marked AI instructions tell Raian what to do; fields marked AI context provide background for its work. The audience import request guides approved MCP reads and document extraction when you import. For Gmail messages, it proposes a search that still needs your review before any messages are read. CSV and Google Contacts use their source setup rather than treating this request as an automatic filter. Changing it does not silently replace reviewed import rules. Use campaign filters later to choose a narrower group for a campaign.

For MCP sources, choose the allowed read tools before importing. Each tool appears once, including any tool that supplies business context. Search or view selected tools, and use Select all read tools to choose eligible tools. With a search active, bulk selection and clearing affect only matching tools; selections outside the search are kept. A connection can allow up to 200 tools; narrow the search if selecting all would exceed that limit. Account restrictions and read-only requirements still apply. During setup, no tool runs until you explicitly start an import or source review. Optional automatic updates use that reviewed setup after audience approval.

Approve the audience only after checking its sources and confirming outreach permission for each channel. Approval adds its contacts to Contacts. Records with the same normalized email and phone appear once with their audience memberships and source provenance. A different email or phone keeps the records separate. Approval does not override a recorded refusal or an unsubscribe.

Missing contact details remain distinct from populated ones. Two email-only records with the same email can match each other; a record with that email and a phone is separate. The same rule applies to phone-only records. Records without a usable email or phone are excluded.

Matching records combine their fields. If one audience has four fields and another has six, with three shared names, the merged contact has seven fields. Blank values do not erase populated values; conflicting populated values use a consistent source order. Open View fields on a contact to inspect the result. Original audience imports remain attached as provenance. An opt-out still applies to its email address or phone across all records.

To change an approved audience's source setup, return it to draft and review it again. Removing approval pauses dependent campaigns. Deleting an audience removes its memberships and owned imports, while contacts supplied by another approved audience remain. Shared account connections stay available for other audiences.

Keep an audience up to date

Automatic updates are optional and off by default. In the audience review, turn on automatic updates and choose hourly, daily, or weekly. Daily and weekly updates use the project timezone; choose the time and, for weekly updates, the day. Save the schedule explicitly. A draft waits for audience approval before automatic updates start.

Updates read the saved, reviewed setup for connected MCP, Gmail, or Google Contacts sources. They do not ask AI to discover a different audience or rewrite your mappings. New matching contacts join an approved audience under its reviewed channel permissions; recorded refusals and opt-outs still apply. Uploaded contact files are not reread automatically. For an audience with both connected sources and files, only the connected sources update.

Check the next update, last completed update, and any problem in the audience's automatic-update panel. Resolve connection, permission, or field changes before retrying a source that needs review. Earlier imports are retained, but an affected source may stay unavailable to campaigns until its review is complete. Updates do not overlap or run a backlog of missed occurrences. Turn automatic updates off to stop future scheduled reads and cancel a pending import. An update already finishing its save may complete. Turning updates off does not delete imported contacts or send messages.

A project with no approved audiences has zero global Contacts, even when a draft has imported contacts. If the Contacts summary cannot load, you can still manage audiences. Retry Contacts refreshes that summary; it does not repeat a delete action.

Example controls only fill the audience request; importing is an explicit action. Contacts supports search and bounded pages, so large audiences are not loaded into the browser at once. You can inspect audience memberships and the sources that supplied each contact.

Reading contacts can take several bounded pages. The review shows queued, running, completed, or failed progress separately from the number of contacts imported. An open review can continue a queued import one page at a time if its background job has not run. Closing the review keeps its saved progress; reopen it to continue or retry. Resolve any visible error before approving the audience. Cancel import stops the pending import; if it finished before cancellation took effect, the review shows the completed contacts instead.

Campaigns can use all approved Contacts or selected approved audiences, then narrow recipients with a plain-language request. For example, “clients who came more than twice this week” requires dated visit history for that week in the project timezone. A lifetime visit count cannot answer that question. If the available fields cannot support a request, the filter review explains what is missing and leaves the campaign scope unchanged.

Review the proposed rule and preview its recipients before applying it. Each approved campaign revision keeps its chosen audiences, source selection, and filter rules. Adding another audience does not silently expand an already approved campaign. Changes to an approved group require campaign review before it can run with that new revision.

If contact matching changes, campaigns approved under an older rule show Review required. Preview their recipients and reactivate them before starting new runs. Already prepared message snapshots retain their approved recipients and content, with normal permission and opt-out checks still applied.

Older campaigns can retain their approved source selection. To change that selection, or activate an older draft for the first time, choose Contacts or approved named audiences and review the recipients again.

Review recommendations and build campaigns

Recommendations refresh when context changes, daily, and when requested. Review the supporting sources and prerequisites, then create a draft. AI does not activate campaigns.

Refresh ideas reviews your business instructions and ready reference files, approved audiences, available contact fields, existing campaigns, templates, connections, and channel setup. Contact quality is measured from the approved pool: missing details, field coverage, permissions, opt-outs, and source freshness. The strategy review uses aggregate statistics rather than individual contact examples. A connection summary does not authorize new tool calls, imports, or unrelated Gmail reads.

Raian also checks public industry guidance using broad industry terms. Project names, private instructions, documents, and contact details are not put into public search queries. Verified public research can be reused for seven days. If fresh search is unavailable, the dashboard says so and uses the dated reference library instead. Public guidance is shown separately from facts about your project, with links to its sources. Examples include appointment follow-up and rebooking guidance from Simple Salon, lifecycle campaigns from Klaviyo, and behavioral onboarding from Customer.io.

A completed refresh can return no new ideas. If your Contacts are ready, the dashboard shows the campaign review result and the reasons ideas were excluded, such as an existing campaign, a previously used or dismissed idea, missing customer information, or no matching recipients. Review those reasons before changing your audience setup. Research notes explain when live search failed, timed out, or returned incomplete or unverifiable material and the dated reference library was used instead.

Make it yours saves an editable campaign draft. If you leave setup, return to Continue your drafts on the dashboard to finish it later. Refreshing ideas keeps these saved drafts available and avoids recommending the same campaign again. Discarding unsaved editor changes leaves the saved draft intact; manage it in Campaigns if you no longer want it. Nothing sends until you explicitly activate it.

Each idea explains its purpose, why it fits now, matching Contacts, channel eligibility, field coverage, related campaigns, reusable templates, and remaining setup. Priority reflects evidence and readiness, not a predicted revenue increase. Counts are a snapshot of the selected approved audiences and filter; they can change before a run. Field availability shows its own audience denominator before the campaign filter. Sending still deduplicates destinations, reserves email allowance, and checks permissions and suppression again.

Campaign ideas shows the audience, schedule, channels, and setup needs at a glance. Open View campaign plan to read the suggested message, supporting evidence, and full planning details together. The compact review summary expands through Review details to show eligibility, research dates, and context notes. If a refresh returns no new ideas, open Review outcome details for its saved result. Refreshing does not guarantee another idea; your saved drafts remain available above.

Missing data limits the campaigns that need it. For example, a missing birthday prevents birthday automation; appointment counts or spending can still support a relevant one-time campaign. Raian considers those options using the fields in your approved Contacts. It does not treat lifetime appointment totals as completed visits or visits this week. Sender and template setup can appear as prerequisites while an idea remains a draft. Previous ideas are compared by their purpose and audience rules, so a different title alone does not make an idea new.

Two campaigns can share contacts while serving different purposes. Raian reviews their associated messages as well as their targeting. It also checks the purpose of existing drafts and uses available activity-date summaries to avoid suggesting empty date windows. Saved and archived drafts are separate from approved campaigns, and approval alone does not mean a message was delivered. Previous decisions still prevent the same idea from returning under a different name; they do not rule out every other purpose for those contacts.

When the planner returns no proposals, Review outcome details may include a short planner assessment. This is the AI's assessment, separate from the verified audience counts and server validation reasons. No extra generation attempt runs automatically to fill the dashboard.

Existing approved campaign revisions are reviewed separately from their next drafts to avoid competing messages. Renaming an idea does not bypass a dismissal or create another copy of the same plan. Suggested copy stays editable. A suitable project template can be reused; new WhatsApp copy still needs a template and Meta approval. Changes to audiences, project guidance, channels, or templates may require refreshing ideas before creating a draft. Refreshing ideas never edits an approved campaign.

Open Suggested message to review new draft copy before creating a campaign. You can copy its text. For WhatsApp, copy the draft into the template builder, review its numbered variables, and request Meta approval. Then select that approved template in the campaign's Message step. Existing selected templates keep their own content.

Recommendations use actual delivery statuses and recent project replies where available. Replies in shared conversations are not attributed to individual campaigns. Outreach does not imply that it tracks email opens, clicks, bookings, purchases, or conversion lift; business outcomes need separate measurement.

Open Used these files on an idea to see the file context supplied when it was generated: Read in full means complete extracted text, Relevant passages means selected excerpts, and PDF text and visuals means the PDF was supplied for visual reading. The record also explains when a file was unavailable, not included, or its visuals were not inspected. It does not promise that all uploaded files were read. Older ideas may have no file-context record. Refresh ideas to use later file changes; existing approved campaign copy stays fixed.

Create campaign opens a full-page editor. Each step explains the next decision, and the footer keeps Back, the next step, and Save draft and close within reach. Drafts do not send messages. Unsaved edits need a decision before you leave the editor.

  1. Channels: name the campaign, choose email, WhatsApp, or both, and check that each selected channel is connected. WhatsApp becomes selectable after a business number is attached in Channels.
  2. Schedule: choose now, a date, daily, hourly, or an authenticated webhook. Check the timezone and upcoming send times. The webhook option keeps its integration setup separate from ordinary schedules.
  3. Audience: choose all approved Contacts or specific approved audiences. Describe a campaign filter or add rules, then preview matching contacts and exclusions. Changing channels, audience membership, or filters requires another preview.
  4. Message: select a template for each channel, match personalization fields, and preview the message with a contact example. Unavailable templates and missing matches explain what to fix before review.
  5. Review: check the recipient preview, message previews, sender, timezone, schedule, and email allowance. Explicitly confirm approval before activating. A changed draft, template, sender, or audience approval requires a fresh review.

If the draft saves but activation fails, the saved draft remains available. Resolve the displayed issue and review again; you do not need to create the campaign a second time. Email tests are explicit sends and count toward the project's daily email allowance.

In Review, enter your own address under Optional: send yourself a test. Accepted means the email provider has accepted the message; Delivered appears only after delivery confirmation. Check test status refreshes the same receipt. If a response is missing or the result is uncertain, check its status before trying another test. A test does not activate the campaign.

Approval applies to future recurring runs. Each run refreshes its audience and freezes its content. Editing saves a new draft; activate it to replace the approved revision. A birthday filter matches the recipient’s month and day in the project timezone; unsent birthday messages expire at midnight.

Channels and templates

Platform email allows 100 outgoing emails per project per calendar day in the project timezone, including tests and inbox replies. When exhausted, email pauses. Resume explicitly after reset or connect your own Resend account. WhatsApp continues independently; paused recurring sends do not build an automatic catch-up backlog.

Own Resend accounts need a verified sender and a signed delivery webhook. The visual email editor provides reusable blocks, merge fields, mobile previews, and automatic unsubscribe links. A missing required personalization value prevents that message from sending.

In Channels, choose an existing WhatsApp number from your account or team and connect it to this project. You can switch to another available number explicitly, or use signup to add a new one. Templates are shared with the WhatsApp business account: editing one can affect other bots, workflows, and projects. Campaigns require approved templates and recipient opt-in.

Create WhatsApp templates from Templates or directly from the campaign Message step. Both open the same WhatsApp form. Saving from Message returns you to the campaign with that template selected; it must still receive Meta approval before the campaign can send.

Inbox, handoff, and delivery

The inbox contains campaign messages and replies, individual follow-ups, team assignments, internal notes, and open/closed conversations. Email replies use tracked addresses; connected Gmail remains context rather than a synchronized mailbox.

WhatsApp campaign replies default to human handling. Return the conversation to automation explicitly to allow the connected bot or workflow to respond. Freeform replies require an open 24-hour customer service window; otherwise choose an approved template.

Run details distinguish accepted, delivered, read where available, failed, paused, skipped, and uncertain messages. Provider timeouts can leave a send uncertain. Review uncertain WhatsApp sends before retrying because the provider may already have delivered them.

Webhooks and operations

Activate a webhook campaign to reveal its endpoint and bearer secret. Include a unique Idempotency-Key for every business event and reuse it when retrying that event. New campaigns use the approved Contacts or audiences selected in their saved revision. Existing campaigns with approved webhook-recipient mappings retain that behavior; event-only sources are not imported into the new Contacts pool. Keep secrets server-side and rotate disconnected credentials.

Operators configure OUTREACH_REPLY_DOMAIN for inbound email, OUTREACH_PLATFORM_FROM for the platform sender, RESEND_WEBHOOK_SECRET for platform events, and the existing encryption key. Verify receiving-domain DNS in Resend, register the provider webhook routes, and add the Outreach OAuth callback to each enabled provider. For the Google web OAuth client identified by GOOGLE_CLIENT_ID, add https://staging.askraian.com/api/outreach/oauth/callback for staging and https://askraian.com/api/outreach/oauth/callback for the live site. Retain existing bot and sign-in callback entries. Deploy and infrastructure changes are separate operator tasks.

Deleting a project immediately stops queued and future sends. Cleanup removes project-owned data while retaining workspace opt-outs and leaving shared connections and file stores intact.

Open Outreach