Commit graph

649 commits

Author SHA1 Message Date
Eric
4bffa64e14
Website: Update gitops-workshop view action (#41950)
Changes:
- Updated the GitOps workshop page's view action to omit events without
a venue set. (Note: this is a quick fix to resolve 500 errors on that
page, and I will create a follow up PR to display events without a venue
set)
2026-03-18 10:21:21 -05:00
kilo-code-bot[bot]
05f2daad4b
Add 'Registered for a conference' intent signal (#41919)
## Summary

- Adds `'Registered for a conference'` to the `intentSignal` `isIn`
array in three files:
- `website/api/helpers/salesforce/create-historical-event.js` — between
`'Signed up for Fleet event'` and `'Engaged with Fleetie at event'`
- `website/api/controllers/webhooks/receive-from-clay.js` — between
`'Signed up for Fleet event'` and `'Engaged with Fleetie at event'`
-
`website/api/helpers/salesforce/update-or-create-contact-and-account.js`
— added to the `isIn` array
- This replaces the incorrect approach in PR #41918, which added the
signal to the handbook markdown table instead of the code where intent
signals are validated.

---

Built for [Sam
Pfluger](https://fleetdm.slack.com/archives/D0AF8QFBVHB/p1773789580384389?thread_ts=1773788922.891409&cid=D0AF8QFBVHB)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2026-03-18 08:21:50 -05:00
Eric
38d89d6637
Website: Remove release section in GitHub webhook (#41898)
Changes:
- Commented out the section of the GitHub webhook that handles "release"
webhook events. The Zapier automation triggered by the webhook has been
turned off.
2026-03-17 16:19:27 -05:00
Eric
5a266bfaca
Website: Update Microsoft proxy endpoint to support windows devices (#41780)
For: https://github.com/fleetdm/fleet/issues/39489

Changes:
- Updated the `update-one-devices-compliance-status` Microsoft proxy
endpoint to support compliance status updates for Windows devices
enrolled in Entra.

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-03-17 13:03:32 -05:00
kilo-code-bot[bot]
f7c20c4731
Switch query generator to use Anthropic Sonnet on the backend (#41521)
## Summary

Closes #41466

- Adds Anthropic Claude API support to the `prompt.js` AI helper,
detecting `claude-*` model names and routing to the Anthropic Messages
API (`https://api.anthropic.com/v1/messages`) with proper authentication
headers
- Switches both LLM calls in the query generator
(`get-llm-generated-sql.js`) from OpenAI models
(`gpt-4o-mini-2024-07-18` for schema filtration, `o3-mini-2025-01-31`
for SQL generation) to `claude-sonnet-4-6-20260218`
- Adds `anthropicSecret` config placeholder in `custom.js` (set via
`sails_custom__anthropicSecret` env var in production)
- Updates the query generator UI to reference "Anthropic" instead of
"OpenAI"

### Changes

| File | What changed |
|------|-------------|
| `website/api/helpers/ai/prompt.js` | Added Anthropic API branch
alongside existing OpenAI logic; system prompts use Anthropic's
top-level `system` parameter |
| `website/api/controllers/query-generator/get-llm-generated-sql.js` |
Both model references changed to `claude-sonnet-4-6-20260218` |
| `website/config/custom.js` | Added `anthropicSecret` config
placeholder |
| `website/views/pages/admin/query-generator.ejs` | Updated copy from
"OpenAI" to "Anthropic" |

### Deployment notes

The `sails_custom__anthropicSecret` environment variable must be set
with an Anthropic API key before deploying this change.

---

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1773278374183489?thread_ts=1773271495.702919&cid=D0AFASLRHNU)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2026-03-16 11:48:33 -05:00
Mike Thomas
63e6375c10
Renamed fleet-gitops => infrastructure-as-code (#41520)
- Renamed fleet-gitops => infrastructure-as-code
- Changed the URL (maintaining backwards compatibility)

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-03-12 12:54:17 +09:00
Eric
bd9867c7b6
Website: update error handling in create-vanta-authorization-request (#41483)
Changes:
- Updated the create-vanta-authorization-request action to return a
`fleetInstanceNotResponding` response if requests fail with a 404 status
code.
2026-03-11 13:53:49 -05:00
Eric
46bc7dc880
Website: add whitepaper article template page (#41405)
Changes:
- Updated `build-static-content` to support a new article category:
`whitepaper`
- Added a new article template page: `basic-whitepaper.ejs`.
- Added `deliver-whitepaper-download-request`, an action that
creates/updates a contact and account in the CRM and creates a
historical event when a user submits a form to download a whitepaper.
- Updated the "News" link in the website's header navigation to be
"Resources / Blog", and changed the link to /articles
- Added a link to the whitepapers category page (/whitepapers) to the
side bar navigation on article category pages
- Added a whitepaper article: "Modern endpoint management: Managing
devices as code"
2026-03-11 12:37:23 -05:00
Eric
4101aa4b36
Website: Add note about using req.body in android proxy endpoints (#41186)
Closes: https://github.com/fleetdm/fleet/issues/39688

Changes:
- Added a note to android proxy endpoints that forward `req.body` to the
Android management API.
2026-03-06 18:06:25 -06:00
Isabell Reedy
ddf7796229
Update receive-from-github.js (#41170) 2026-03-06 18:47:46 -05:00
Eric
bafbc05f6d
Website: Add support for new usage statistics (#40879)
Closes: https://github.com/fleetdm/fleet/issues/39836

Changes:
- Added `fleetMaintainedAppsWindows` and `fleetMaintainedAppsMacOS`
attributes to the HistoricalUsageSnapshot model
- Added `fleetMaintainedAppsWindows` and `fleetMaintainedAppsMacOS` as
inputs to the receive-usage-analytics webhook


Note: This pull request requires database migrations and should only be
merged after the website's database is updated while it is in
maintenance mode.
2026-03-06 07:41:50 -06:00
Eric
26e6331528
Website: update testimonials on customers page (#40872)
Closes https://github.com/fleetdm/fleet/issues/39906

Changes:
- Updated the testimonials shown on the /customers page
2026-03-03 13:10:52 -06:00
Eric
c6468b598d
Website: add Linux management page (#40869)
Closes: https://github.com/fleetdm/confidential/issues/13312

Changes:
- Added /linux-management
- Updated the "Solutions" dropdown in the website's header navigation to
link to the new page.

---------

Co-authored-by: Ashish Kuthiala <53918208+akuthiala@users.noreply.github.com>
2026-03-03 12:17:37 -06:00
Martin Angers
53c48dea51
Website: implement android proxy endpoint for create webapp (#40059) 2026-03-03 08:23:19 -05:00
Eric
48029fa29f
Website: Update redirects in basic article view action. (#40833)
Changes:
- Updated the behavior of the view-basic-article action to fix redirects
for article URLs with upper case letters.
2026-03-02 17:31:33 -05:00
Eric
84b9027148
Website: update case study articles (#40567)
Closes: https://github.com/fleetdm/fleet/issues/40161
Closes: https://github.com/fleetdm/confidential/issues/14508

Changes:
- Added support for a new meta tag (`<meta
name="useBasicArticleTemplate" value="true">`) that will be used to
determine which template case study articles use.
- Updated the build-static-content script to not require
`summaryChallenge`, `summarySolution`, `summaryKeyResults`, and
`companyLogoFilename` meta tags for case study articles with a
`useBasicArticleTemplate` meta tag.
- Updated the view-case-study action to display case study articles with
a `useBasicArticleTemplate` meta tag on the basic-article template page

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-02-27 14:33:42 -06:00
Mike McNeil
6cd23c0ef1
Set to aware instead of intrigued (precursor for retiring "intrigued") (#40703) 2026-02-27 12:29:41 -06:00
Eric
08d3e57759
Website: add /deployment page (#40455)
Closes: https://github.com/fleetdm/confidential/issues/14327

Changes:
- Added a /deployment page
- Added a link to the page in the "Solutions" navigation dropdown.
2026-02-25 13:34:18 +09:00
Eric
274abc6cb0
Website: update android proxy error handling (#40140)
Related to: https://github.com/fleetdm/fleet/issues/40127

Changes:
- Updated errors logged by Android proxy endpoints to include more
information about the error.
- Added a `deviceNoLongerManaged` exit to the `delete-android-device`
endpoint that is used when the Google API returns a "Device is no longer
being managed" error.
- Added a `policyNotFound` exit to the `modify-android-policies` and
`modify-enterprise-app-policy` endpoints that is used when the Google
API returns a 404 response
- Added a `invalidPolicyName` exit to the `modify-android-device`
endpoint that is used when the Google API returns an error related to
the policy name sent in the request body.
2026-02-19 17:46:41 -06:00
Eric
b83aed2537
Website: Create admin page for resetting Fleet Premium trials (#39980)
Changes:
- Added /admin/reset-trial, a page where website admins can reset local
Fleet Premium trials.
- Added a link to the reset trial page to the navigation on admin pages.
2026-02-17 11:59:30 -06:00
Eric
baada0741f
Website: Update GitHub webhook exits (#39940)
Changes:
- Added a new exit to the receive-from-github webhook that is used when
a provided `botSignature` does not match the `githubBotWebhookSecret`
config variable
2026-02-16 15:07:30 -06:00
Martin Angers
81b5d7b04e
Website: return 404 if Android enterprise application is not found (#39935) 2026-02-16 15:14:29 -05:00
Martin Angers
c2a2b0d62a
Website: add remove enterprise apps Android proxy endpoint (#39633) 2026-02-16 13:17:31 -05:00
Eric
75ffd8b12f
Website: Update login/register flow, add Fleet UI background to /try and /login (#39290)
Closes: https://github.com/fleetdm/fleet/issues/36465
Closes: https://github.com/fleetdm/fleet/issues/36467
Related to: https://github.com/fleetdm/confidential/issues/14254

Changes:
- Updated "Try it yourself" links to go to the `/try` page (Which
redirects users who aren't logged in to the /login page)
- Removed the `<signup-modal>` and `<signup-button>` components
- Removed the route for the /register page, and added a redirect to go
to /login
- Updated the /login page to have the signup form, and to match the
latest wireframes
- Updated the /try page to have a fake Fleet UI as a background
(previously an image)
2026-02-10 12:32:49 -06:00
Eric
9dd7419e12
Website: Update android proxy get-enterprise-applications endpoint (#38972)
Changes:
- Updated the `get-enterprise-applications` Android proxy endpoint to
use the `enterprises.applications.get` method (It is currently using the
enterprises.devices.get` method)
- Updated errors returned by the `get-enterprise-applications` endpoint
to include more information from the error returned by Google.
2026-02-09 17:25:56 -06:00
Isabell Reedy
3b62d76272
Update receive-from-github.js (#39504) 2026-02-07 00:04:17 -06:00
Eric
55f7c1a963
Website: Reduce noise from vpp proxy endpoint (#39490)
Changes:
- Updated the get-vpp-app-metadata endpoint to only log errors returned
from the Apple API related to authentication
2026-02-06 12:05:43 -06:00
Eric
358d61192b
Website: Create historical events for signups (#39429)
Closes: https://github.com/fleetdm/fleet/issues/38375

Changes:
- Added a new intent signal value to the create-historical-event helper
- Updated the signup action to create a historical event when new users
sign up.
2026-02-05 15:26:31 -06:00
Eric
2726843403
Website: Update deliver-gitops-workshop-request (#39333)
Closes: https://github.com/fleetdm/confidential/issues/13968

Changes:
- Updated the `deliver-gitops-workshop-request` action to create a
historical event record
- Added a new intent signal to the create historical event helper
2026-02-05 15:08:50 -06:00
Eric
fbc1866c3f
Website: Update exits and logged errors in create-vanta-authorization-request (#39405)
Closes: https://github.com/fleetdm/fleet/issues/39401

Changes:
- Added a new exit to the create-vanta-authorization-request action that
is used when a request to a Fleet instance fails with a `403 Forbidden`
response.
- Updated logged errors in create-vanta-authroization-request to include
more information about the request.
2026-02-05 12:18:07 -06:00
Eric
b52b067ea2
Website: follow-up changes from website review session (#39200)
Changes:
- Updated the category for comparison articles (`compare` »
`comparison`)
- Updated article meta tag validation and how URLS of comparison
articles are built
- Updated the view action for comparison articles to set a meta title
and description
2026-02-02 17:46:35 -06:00
Eric
ee8c122c4e
Website: Update GitOps workshop request form (#39174)
Closes: https://github.com/fleetdm/confidential/issues/13993

Changes:
- Updated the GitOps workshop request form to request the user's work
email address, and updated the denylist of domains used by the
`deliver-gitops-workshop-request` action.
2026-02-02 17:29:05 -06:00
Eric
5acc897f8d
Website: Update testimonials page layout and URL (#39114)
Closes: https://github.com/fleetdm/fleet/issues/38472

Changes:
- Updated the URL of the testimonials page to be /customers
- Added a redirect for /testimonials
- Updated the layout and content of the /customers page to match the
latest wireframes
- Updated links to the /testimonials page to go to /customers
- Changed the "Customers" dropdown in the website nav to be a link to
the /customers page.
2026-02-02 20:52:17 +09:00
Eric
b3fcb2c7db
Website: update clay webhook (#39068)
Changes:
- Updated the clay webhook to only trim LinkedIn URLs if one is
provided.
2026-01-30 10:33:45 -06:00
Eric
43cbf8d7ff
Website: fix event times on GitOps workshops page (#39067)
Changes:
- Updated the view action for the /gitops-workshop page to use UTC
timestamps when building the event details for that page.
2026-01-30 10:15:06 -06:00
Sam Pfluger
54ba38716c
Change linkedinUrl requirement to optional (#39033)
@eashaw trying to fire this when I don't have a LinkedIn. Any
objections?

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-01-29 18:01:24 -06:00
Eric
cc865b2bcd
Website: update sitemap and new pages (#39009)
Changes:
- Added new(/missing) pages to the website's sitemap
- Added the signup modal to comparison pages and the GitOps workshop
page.
2026-01-29 10:29:55 -06:00
Eric
5160095f78
Website: Add Fleet GitOps page (#38974)
Changes:
- Added a Fleet GitOps page (/fleet-gitops)
- Added a link to the new page in the "Solutions" dropdown to the
website's header navigation

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-29 10:08:42 +09:00
Eric
cf2411e40a
Website: update article category name (#38900)
Changes:
- updated the name of the catch all article category on the website
(blogs » blog)
2026-01-28 10:01:57 -06:00
Jahziel Villasana-Espinoza
670f7dbdb5
fail gracefully when profile is invalid (#38899)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35211 

# Checklist for submitter

- [x] QA'd all new/changed functionality manually
2026-01-28 10:57:27 -05:00
Eric
e65035a5d9
Website: add comparison article template and comparison article (#38893)
Closes: https://github.com/fleetdm/confidential/issues/13291

Changes:
- Updated the `build-static-content` script to add support for a new
article category: `compare`
- Added a new template page for comparison articles
- Added a Fleet vs. Jamf comparison article

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-28 22:04:09 +09:00
Eric
cf8b461e5d
Website: add GitOps workshop landing page. (#38812)
Changes:
- Added a landing page that has links to upcoming citops workshops, and
a link to a form where users can request a GitOps workshop.
- Updated the contact page to display a GitOps workshop request form for
users who are linked to it from the GitOps workshop landing page.
- Added `deliver-gitops-workshop-request`, an action that sends details
of GitOps workshop request submissions to Salesforce.
- Added a new helper that creates campaign member objects in Salesforce.
- Added two new config variables used to get event details from the
Eventbrite API.
2026-01-27 22:18:46 +09:00
Eric
8f1f42a5c9
Website: Update GitHub webhook reviews (#38780)
Closes: https://github.com/fleetdm/fleet/issues/38750

Changes:
- Updated the website's GitHub webhook to not attempt to approve pull
requests opened by fleet-release
2026-01-26 12:16:48 -06:00
Eric
4cae77302a
Website: update article category page (#38707)
Related to: https://github.com/fleetdm/confidential/issues/13527

Changes:
- Changed the name of the /articles page to "Blogs"
- Updated the blogs category to exclude guides
- Added a link to /guides to the sidebar on article category pages
2026-01-23 16:48:43 -06:00
Eric
c4f8ded657
Website: Update values to match CRM picklist values (#38734)
Changes:
- Updated the accepted `intentSingal` values in the receive-from-clay
webhook and the createHistoricalEvent helper to match the picklist
values in Salesforce
- updated a "most recent/source channel details" value set in the
updateOrCreateContactAndAccount helper to match the picklist value in
Salesforce.
2026-01-23 15:35:33 -06:00
Eric
40107d247c
Website: Update deliver-contact-form-message (#38721)
Changes:
- Updated the `deliver-contact-form-message` action to run CRM helpers
and send the contact form email message in the background.
2026-01-23 15:31:30 -06:00
Eric
16e8d48396
Website: update deliver-contact-form-message (#38640)
Changes:
- Updated the deliver-contact-form-message action to attempt to
create/update CRM records before it sends a contact form email.
2026-01-22 11:48:48 -06:00
Eric
65f313d153
Website: update clay webhook inputs and historical event helper (#38601)
Closes: https://github.com/fleetdm/fleet/issues/38500

Changes:
- Added support for a `relatedCampaign` input to the receive-from-clay
webhook.
- Updated the `create-historical-event` helper to set `relatedCampaign`
on new historical event records (if provided)
2026-01-21 16:11:57 -06:00
Sam Pfluger
b32681937c
Consolidate event types in Salesforce integration (#38466) 2026-01-17 21:44:11 -06:00
Eric
8ca9abc5a0
Website: add attribution cookie and update CRM helper (#38324)
https://github.com/fleetdm/confidential/issues/13605

Changes:
- Updated the website's custom hook to set a `marketingAttribution`
cookie.
- Updated places where we use the update-or-create-contact-and-account
helper to pass in a requesting user's marketingAttribution cookie.
- Updated the update-or-create-contact-and-account helper to process
values from the marketingAttribution cookie.
2026-01-14 18:14:55 -06:00