> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quivly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# April 2026

> Ask Quivly, workflow webhooks, and customer data improvements.

export const ChangelogNavigation = ({year = "2026", month = "latest", counts = {}}) => {
  const periods = ["2026-10", "2026-09", "2026-08", "2026-07", "2026-06", "2026-05", "2026-04", "2026-03", "2026-02", "2026-01", "2025-12", "2025-11", "2025-10", "2025-09"];
  const years = [...new Set(periods.map(period => period.slice(0, 4)))];
  const [selectedYear, setSelectedYear] = useState(year);
  const [selectedMonth, setSelectedMonth] = useState(month);
  const [selectedKind, setSelectedKind] = useState("feature");
  const destination = selectedMonth === "latest" ? "/changelog" : `/updates/${selectedYear}-${selectedMonth}`;
  const kinds = {
    feature: "Feature Releases",
    improvement: "Improvements",
    fix: "Fixes"
  };
  useEffect(() => {
    const requestedKind = new URLSearchParams(window.location.search).get("type");
    if (["feature", "improvement", "fix"].includes(requestedKind)) setSelectedKind(requestedKind);
  }, []);
  useEffect(() => {
    const groups = Array.from(document.querySelectorAll(".mdx-content .update-container"));
    const visible = groups.filter(group => group.querySelector(`[data-release-kind="${selectedKind}"]`));
    groups.forEach(group => {
      group.toggleAttribute("data-release-first", group === visible[0]);
      group.toggleAttribute("data-release-last", group === visible[visible.length - 1]);
    });
  }, [selectedKind]);
  return <>
    <nav className="release-browser" aria-label="Browse product updates" data-release-filter={selectedKind}>
      <a href={selectedKind === "feature" ? "/changelog" : `/changelog?type=${selectedKind}`} aria-current={month === "latest" ? "page" : undefined}>Latest updates</a>
      <label className="release-kind-filter">
        <span>Update type</span>
        <select value={selectedKind} onChange={event => setSelectedKind(event.target.value)}>
          {Object.entries(kinds).map(([value, label]) => <option key={value} value={value}>{label}</option>)}
        </select>
      </label>
      <form action={destination} className="release-period-form">
        <input type="hidden" name="type" value={selectedKind} />
        <label>
          <span>Year</span>
          <select value={selectedYear} onChange={event => {
    const nextYear = event.target.value;
    setSelectedYear(nextYear);
    setSelectedMonth(periods.find(period => period.startsWith(nextYear)).slice(5));
  }}>
            {years.map(value => <option key={value} value={value}>{value}</option>)}
          </select>
        </label>
        <label>
          <span>Month</span>
          <select value={selectedMonth} onChange={event => setSelectedMonth(event.target.value)}>
            {selectedYear === years[0] ? <option value="latest">Latest updates</option> : null}
            {periods.filter(period => period.startsWith(selectedYear)).map(period => <option key={period} value={period.slice(5)}>{new Date(`${period}-01T12:00:00Z`).toLocaleDateString("en-US", {
    month: "long",
    timeZone: "UTC"
  })}</option>)}
          </select>
        </label>
        <button type="submit" aria-label="View selected updates">View</button>
      </form>
    </nav>
    {counts[selectedKind] === 0 ? <p className="release-empty" role="status">No {kinds[selectedKind].toLowerCase()} in this period. Choose another update type or month.</p> : null}
    </>;
};

export const ReleaseReadButton = ({children}) => <div className="release-read-button">{children}</div>;

export const ReleaseLabels = ({tags}) => <span className="release-labels" data-release-kind={tags.includes("Feature release") ? "feature" : tags.includes("Bug fix") ? "fix" : "improvement"}>{tags.map(tag => <span key={tag} className={`release-label release-label-${tag.toLowerCase().replaceAll(" ", "-")}`}>{tag}</span>)}</span>;

<ChangelogNavigation key="2026-04" year="2026" month="04" counts={{"feature": 1, "improvement": 10, "fix": 2}} />

<div className="release-feed" hidden />

<Update label="April 27, 2026" rss={{ title: "Updates for April 27, 2026", description: "Custom fields in dashboards and My Accounts views: Build dashboards with your custom customer and project fields, including filters and table columns.\n\nFocus the customer list on your accounts: Use My Accounts to focus the customer list on accounts you own.\n\nInspect exact dashboard totals: See exact values behind abbreviated dashboard totals.\n\nKeep project dates aligned with work status: Project start and completion dates now update as work moves through its statuses.\n\nSalesforce opportunity attachments in Quivly: Open an opportunity to view and download the files attached to it in Salesforce." }}>
  ## [Custom fields in dashboards and My Accounts views](/updates/releases/2026-04-27-custom-fields-in-dashboards-and-my-accounts-views) <ReleaseLabels tags={["Improvement"]} />

  Build dashboards with your custom customer and project fields, including filters and table columns.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-27-custom-fields-in-dashboards-and-my-accounts-views)
  </ReleaseReadButton>

  ## [Focus the customer list on your accounts](/updates/releases/2026-04-27-focus-the-customer-list-on-your-accounts) <ReleaseLabels tags={["Improvement"]} />

  Use My Accounts to focus the customer list on accounts you own.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-27-focus-the-customer-list-on-your-accounts)
  </ReleaseReadButton>

  ## [Inspect exact dashboard totals](/updates/releases/2026-04-27-inspect-exact-dashboard-totals) <ReleaseLabels tags={["Improvement"]} />

  See exact values behind abbreviated dashboard totals.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-27-inspect-exact-dashboard-totals)
  </ReleaseReadButton>

  ## [Keep project dates aligned with work status](/updates/releases/2026-04-27-keep-project-dates-aligned-with-work-status) <ReleaseLabels tags={["Improvement"]} />

  Project start and completion dates now update as work moves through its statuses.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-27-keep-project-dates-aligned-with-work-status)
  </ReleaseReadButton>

  ## [Salesforce opportunity attachments in Quivly](/updates/releases/2026-04-27-salesforce-opportunity-attachments-in-quivly) <ReleaseLabels tags={["Improvement"]} />

  Open an opportunity to view and download the files attached to it in Salesforce.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-27-salesforce-opportunity-attachments-in-quivly)
  </ReleaseReadButton>
</Update>

<Update label="April 22, 2026" rss={{ title: "Clearer Slack sync progress and recovery", description: "Clearer Slack sync progress and recovery: See whether a Slack channel is waiting to sync or actively importing messages." }}>
  ## [Clearer Slack sync progress and recovery](/updates/releases/2026-04-22-clearer-slack-sync-progress-and-recovery) <ReleaseLabels tags={["Bug fix"]} />

  See whether a Slack channel is waiting to sync or actively importing messages.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-22-clearer-slack-sync-progress-and-recovery)
  </ReleaseReadButton>
</Update>

<Update label="April 2026" rss={{ title: "Updates for April 2026", description: "Track product adoption with your warehouse data: Connect warehouse usage data to the right customers and products, preview the mapped records, and choose when to sync.\n\nCreate notebooks from workflow events: Add notebook creation to an agent so a customer event can produce the document your team needs.\n\nAsk Quivly about your customers: Ask questions about your customers using connected account data, calls, support activity, notebooks, and Slack conversations.\n\nWeb research and custom fields in Ask Quivly: Turn on web search to bring current external information into a conversation and follow the cited sources.\n\nSend workflow results to other tools: Send results from an agent to tools such as Zapier or Make with a webhook action.\n\nAssign customer ownership in bulk: Select several customers and assign, change, or clear their account owner together, instead of updating each account separately.\n\nSlack channel mappings that stay in place: Your saved links between Slack channels and customers are still there when you return to settings." }}>
  ## [Track product adoption with your warehouse data](/updates/releases/2026-04-track-product-adoption-with-your-warehouse-data) <ReleaseLabels tags={["Improvement"]} />

  Connect warehouse usage data to the right customers and products, preview the mapped records, and choose when to sync.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-track-product-adoption-with-your-warehouse-data)
  </ReleaseReadButton>

  ## [Create notebooks from workflow events](/updates/releases/2026-04-create-notebooks-from-workflow-events) <ReleaseLabels tags={["Improvement"]} />

  Add notebook creation to an agent so a customer event can produce the document your team needs.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-create-notebooks-from-workflow-events)
  </ReleaseReadButton>

  ## [Ask Quivly about your customers](/updates/releases/2026-04-ask-quivly-about-your-customers) <ReleaseLabels tags={["Feature release"]} />

  Ask questions about your customers using connected account data, calls, support activity, notebooks, and Slack conversations.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-ask-quivly-about-your-customers)
  </ReleaseReadButton>

  ## [Web research and custom fields in Ask Quivly](/updates/releases/2026-04-web-research-and-custom-fields-in-ask-quivly) <ReleaseLabels tags={["Improvement"]} />

  Turn on web search to bring current external information into a conversation and follow the cited sources.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-web-research-and-custom-fields-in-ask-quivly)
  </ReleaseReadButton>

  ## [Send workflow results to other tools](/updates/releases/2026-04-send-workflow-results-to-other-tools) <ReleaseLabels tags={["Improvement"]} />

  Send results from an agent to tools such as Zapier or Make with a webhook action.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-send-workflow-results-to-other-tools)
  </ReleaseReadButton>

  ## [Assign customer ownership in bulk](/updates/releases/2026-04-assign-customer-ownership-in-bulk) <ReleaseLabels tags={["Improvement"]} />

  Select several customers and assign, change, or clear their account owner together, instead of updating each account separately.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-assign-customer-ownership-in-bulk)
  </ReleaseReadButton>

  ## [Slack channel mappings that stay in place](/updates/releases/2026-04-slack-channel-mappings-that-stay-in-place) <ReleaseLabels tags={["Bug fix"]} />

  Your saved links between Slack channels and customers are still there when you return to settings.

  <ReleaseReadButton>
    [Read update](/updates/releases/2026-04-slack-channel-mappings-that-stay-in-place)
  </ReleaseReadButton>
</Update>

<div className="release-pager" role="navigation" aria-label="More product updates">
  <a href="/updates/2026-05"><span>Newer updates</span><strong>May 2026</strong></a>
  <a href="/updates/2026-03"><span>Older updates</span><strong>March 2026</strong></a>
</div>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.