Changelog

What we shipped.

Concrete user-visible changes, in reverse chronological order. Internal refactors and infra work do not show up here.

  1. Email campaigns and mixed-channel outbound

    • newConnect an email mailbox as a sender connection and use it in campaigns alongside LinkedIn accounts.
    • newCreate email-first campaigns from lead lists when you want to reach buyers directly from a connected mailbox.
    • newBuild mixed LinkedIn and email sequences. Start with a LinkedIn invite or InMail, then add email follow-ups when a work email is available.
    • newEmail steps include AI-generated subject lines and body copy, so personalized email outreach uses the same campaign context as LinkedIn messages.
    • improvedEmail replies are tracked back to the lead and campaign, stop pending follow-ups, trigger reply events, and appear in Inbox with the conversation context attached.
    • improvedSender limits now count connected LinkedIn accounts and email mailboxes as the same kind of sender connection, so teams can choose the mix that fits each campaign.
  2. Timezones, settings tabs, daily digest, discovery polish, and playbooks

    • newNew /playbooks surface on funkel.ai with eight step-by-step guides: recovering a flagged account, launching a competitor-pain campaign, switching off your agency, triaging a quiet funnel, follow-up sequences that convert, your first 30 days, building a signal mix by category, and running outbound from a single founder account.
    • newPer-user timezone in your profile. Campaign schedules, dashboard, and the scheduled-actions page all render in your local time, with a searchable timezone combobox in settings.
    • newSettings now has dedicated Account and Security tabs so profile, password, and session controls live in one place.
    • newDaily activity digest email summarizing the previous day across your apps. Plain text, opt-out from settings.
    • new"Why leads aren't reaching you" panel on the agent detail page. Shows the rejection breakdown so you can see whether your ICP is too narrow, your score floor is too high, or the signal mix is starving the funnel.
    • newBeta accounts now earn up to 20 message credits for completing onboarding milestones.
    • improvedLinkedIn warmup is anchored on the date of your first send, not the connection date. New senders that wait before sending get the full 14-day ramp from the moment they actually start.
    • improvedLead discovery now accepts LinkedIn "X Region" DACH locations and relaxes the company-size filter when company-type rules already cover headcount. Fewer good leads dropped at the filter step.
    • fixedCampaign sequences schedule and display in step_order, so follow-ups arrive in the order you defined them.
    • fixedCampaign settings polish: the trigger line shows the agent name instead of a UUID, cards stay readable at narrow widths, and the Agent dropdown matches the Lead list dropdown so the "to" label no longer squeezes.
  3. Spark, the in-app AI assistant

    • newSpark is a chat-based AI assistant that lives inside the app. Talk to it in plain language to draft messages, create a campaign draft, edit your ICP, approve leads, or pause and enable agents. Confirm-tier actions surface an inline card before anything executes, so nothing happens behind your back.
    • newConversation threads with inline rename, delete, and a collapsible rail. The Spark sidebar entry carries a BETA badge while we keep widening the toolset.
    • newMarkdown rendering for assistant messages, per-message Copy and Regenerate, code-block Copy, an inline streaming cursor, and a Stop generating button while the model is mid-response.
    • newRead tools cover the surface area Spark needs to answer questions: list_apps, list_agents, list_campaigns, get_analytics, find_leads, get_lead. Write tools require staged confirmation before they touch your data.
  4. App switcher for multi-app accounts, faster app setup

    • newSidebar now has a persistent app switcher when you run two or more apps. The selected app scopes Inbox, Leads, Contacts, and Analytics so different products no longer blur together. "All apps" stays the default for cross-app triage.
    • improvedLead approval respects the active app: the campaign dropdown only lists campaigns from the selected app, preventing a lead from one product being routed into another product's campaign by mistake.
    • newAdding an app without a URL now accepts a pasted product description. AI fills in the name, description, and ICP using the same flow as URL analysis, so apps without a public site can still be set up in one step.
  5. Help center, blog, and a clearer pitch

    • newHelp center is live with the first guides on connecting LinkedIn, signals, billing, and webhooks. More articles landing each week.
    • newStarted the blog. Five posts so far on signal-based outbound, account safety, and the craft of writing messages that get replies. RSS available at /blog/feed.xml.
    • newNew /why-funkel page laying out where we sit between lead-gen agencies and volume automation tools.
    • newNew /security page covering how we protect your data, your LinkedIn senders, and your customer conversations.
  6. Webhook delivery fixed

    • fixedOutbound webhooks were silently matching zero subscribers and exiting without firing. Lead-discovered, action-executed, and reply-received events now reach your endpoints reliably.