Commit graph

529 commits

Author SHA1 Message Date
Eric
3aced14399
Website: update receive-from-zoom webhook (#30395)
Changes:
- Updated the receive-from-zoom webhook to properly encode Zoom
conversation IDs in API requests to Zoom.
2025-06-27 14:04:59 -05:00
Eric
961e3e339a
Website: Update supported article categories (#30304)
Changes:

- Added `articles` to the list of supported article categories in the
build-static-content script.
- Added a route for articles in the articles category.
- Updated the `view-basic-article` action to support the new `articles`
category.
2025-06-24 20:19:57 -05:00
Sam Pfluger
bc62898091
Noah covers product manager of software (#30262) 2025-06-23 17:37:49 -05:00
Eric
c5ffa6d1f1
Website: Update events handled by receive-from-zoom webhook (#30167)
Changes:
- Updated the receive-from-zoom webhook to support
`endpoint.url_validation` events.
2025-06-19 16:47:52 -05:00
Eric
0f5cc22d61
Website: add fleetPremiumTrialLicenseKey user migration script. (#30125)
Changes:
- Added a script that sets a `fleetPremiumTrialLicenseKey` and
`fleetPremiumTrialLicenseKeyExpiresAt` values on all User records.
- Added a new email template to inform users that they have a new Fleet
premium trial available.
- Added the announcement banner to the /login, /register, and /try-fleet
pages.
2025-06-19 16:09:26 -05:00
Eric
d7016b794c
Website: Update receive-from-clay webhook. (#30153)
Closes: https://github.com/fleetdm/confidential/issues/11058

Changes:
- Updated the receive from clay webhook to log a warning and return a
`couldNotCreateActivity` response if it receives information about a
contact record with no account record associated with it.
2025-06-19 12:44:57 -05:00
Eric
7b3bc166bb
Website: Add receive-from-zoom webhook (#29847)
Closes: https://github.com/fleetdm/confidential/issues/10675

Changes:
- Added a new webhook: `receive-from-zoom`. When this webhook receives
an event indicating that a call recording is done processing, this
webhook will build the transcript and send it and information about the
call to a Zapier webhook, where it will be added to a new Google doc.
2025-06-19 11:22:56 -05:00
Eric
7b764152b3
Website: add /remediate and /turn-on-mdm pages for Microsoft compliance proxy (#30094)
Related to: https://github.com/fleetdm/fleet/issues/26521


Changes:
- Added two pages that will be used for the Microsoft compliance proxy
(`/microsoft-compliance-partner/turn-on-mdm` &
`/microsoft-compliance-partner/remediate`)
2025-06-18 13:34:30 -05:00
Eric
4272df375a
Website: Add android proxy endpoints (#28267)
Related to: https://github.com/fleetdm/fleet/issues/26270

Changes:
- Added a new database model: `AndroidEnterprise`
- Added one new website dependency: `googleapis@148.0.0`
- Added `android-proxy/create-android-signup-url`: an endpoint that
returns a signup url used to grant access to Fleet's Android MDM
integration.
- Added `android-proxy/create-android-enterprise`: An endpoint that
creates an Android enterprise for a Fleet server
- Added `android-proxy/create-android-enrollment-token`: An endpoint
that returns an enrollment token for an Android enterprise
- Added `android-proxy/modify-android-policies`: An endpoint used to
update policies of an Android enterprise
- Added `android-proxy/delete-one-android-enterprise`: an endpoint that
deletes an Android enterprise

---------

Co-authored-by: Victor Lyuboslavsky <victor@fleetdm.com>
2025-06-12 13:23:49 -05:00
Eric
13eeebe548
Website: Add Microsoft compliance proxy endpoints. (#27403)
Changes:
- Created a new database model: `MicrosoftComplianceTenant`. A model
that stores information about complaince tenants
- Added `/policies/is-cloud-customer`: a policy that blocks requests to
microsoft proxy endpoints if a `MS API KEY` header is missing or does
not match a new config variable
(`sails.custom.config.cloudCustomerCompliancePartnerSharedSecret`)
- Added `microsoft-proxy/create-compliance-partner-tenant`: an action
that creates a database record for a new compliance tenant and generates
an API key that is used to authenticate future requests to microsoft
proxy endpoints for an entra tenant.
- Added `microsoft-proxy/get-compliance-partner-settings`: an action
that returns information about Fleet's complaince partner entra
application and the entra tenant's admin consent status (whether or not
a tenant's entra admin has granted permissions to Fleet's compliance
partner application)
- Added `microsoft-proxy/get-tenants-admin-consent-status`: an action
that updates the admin consent status of a compliance tenant record.
- Added `microsoft-proxy/setup-compliance-partner-tenant`: an action
that provisions a compliance tenant, creates a complaince policy for
macOS devices assigns the created policy to the built-in "All users"
user group on the tenants entra instance.
- Added `microsoft-proxy/update-one-devices-compliance-status`: an
action that receives information about a device on a compliance tenant's
Fleet instance, sends that information to their Entra instance, and
returns the messsage ID returned by the asynchronus Entra API.
- Added `microsoft-proxy/get-one-compliance-status-result`: an action
that returns the result of a compliance status update from the Entra
API.
- Added `sails.helpers.microsoft-proxy.get-access-token-and-api-urls` A
helper that gets an access token for a tenant's entra instance and the
URLs of the API endpoints the microsoft proxy actions use for a tenant.
- Added `scripts/send-entra-heartbeat-requests` A script that will run
daily to keep all microsoft compliance integrations provisioned.
-

---------

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>
2025-06-11 13:01:36 -05:00
Eric
c915c258b9
Website: Remove account requirement for /try-fleet page. (#29904)
Closes: https://github.com/fleetdm/confidential/issues/10921

Changes:
- Updated the registration form to direct users who don't have a work
email or don't want to create an account to the /try-fleet page.
- Updated the try-fleet page to have a box directing users who want to
demo Fleet Premium features to sign up for an account.
- Updated the try-fleet page's view action to generate trial licenses
for logged-in users who do not have a trial license key.
2025-06-11 09:06:38 -05:00
Andrey Kizimenko
cfe36a9cd9
Adding myself (Andrey) to receive-from-github.js during the onboarding (#29846) 2025-06-09 20:20:28 -05:00
Eric
a5d3202fd6
Website: Update number of hosts required for managed cloud (#29760)
Changes:
- Updated the number of hosts required for Fleet Premium managed cloud.
2025-06-04 19:01:10 -05:00
Ian Littman
ddd7891939
Clean up "click here" and "here" link anchors - part 1 (#29731)
Fixes part of #29720.. Includes promoting some bolded to subheadings (in
wireframe docs).

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-06-04 13:54:34 -06:00
Jake Stenger
0f1779fb5b
Adding myself to list of humans in receive-from-github.js (#29745)
per onboarding issue 10852, adding myself to list of humans with
included trailing comma for cleaner diffs

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-06-04 11:23:54 -05:00
Eric
72b5bfc634
Website: add configuration profile generator UI. (#29702)
Related to: #28489

Changes:
- Added the first version of the configuration profile builder to the
Fleet website. (currently supports four Windows and four macOS
password-related options).
2025-06-03 14:22:40 -05:00
Eric
41078d1814
Website: update device management testimonial order (#29538)
Closes: https://github.com/fleetdm/confidential/issues/10777

Changes:
- Updated the order of the testimonials on the device management page
and the testimonials page.
2025-05-28 13:17:12 -05:00
Irena Reedy
c28dac2076
add irenareedy to humans (#29171) 2025-05-27 10:49:34 -04:00
Eric
0eb3bbd3e0
Website: Deliver contact form messages via email. (#29455)
Closes: https://github.com/fleetdm/confidential/issues/10750

Changes:
- Added a new config variable: `contactFormEmailAddress`
- updated deliver-contact-form-message to send emails to users who do
not have a Fleet Premium subscription.
2025-05-27 08:06:55 -05:00
Eric
ae7dac7e2b
Website: add create-historical-event helper (#29435)
Closes: https://github.com/fleetdm/confidential/issues/10718
Related to: https://github.com/fleetdm/confidential/issues/10719

Changes:
- Created a new helper
(`sails.helpers.salesforce.createHistoricalEvent`) to create Historical
event records in our CRM.
- Updated the custom hook, receive-from-clay webhook, and
create-or-update-one-newsletter-subscription action to create historical
event records using the new helper.
2025-05-23 17:59:58 -05:00
Eric
83de20b31f
Website: update error handling in receive-from-clay webhook (#29359)
Changes:
- Added two exits to the receive-from-clay webhook that are used when a
contact or account cannot be created/updated.
- Added an exit to the receive-from-clay webhook that is used when a
historical event record cannot be created.
2025-05-21 17:00:10 -05:00
Luke Heath
d69436efa6
Update EST cert endpoint to accept marams instead of requiring environment variables (#29353) 2025-05-21 12:40:11 -05:00
Eric
ae6f3788fd
Website: add receive-from-clay webhook (#29301)
ChangeS:
- Added a new webhook (`receive-from-clay`) that creates historical
event CRM records.
- Updated the update-or-create-contact-and-account helper to accept
three new contactSource values and a jobTitle input.
2025-05-20 15:29:30 -05:00
Sam Pfluger
21091190e0
Add Raiven Williams (#28660) 2025-04-29 15:23:28 -05:00
Eric
d5bf210354
Website: Add support for new usage statistic (#28384)
Closes: #28255

Changes:
- Updated the receive-usage-analytics webhook to support a new input
`numHostsABMPending`
- Added a `numHostsABMPending` attribute to the
`HistoricalUsageSnapshot` model
2025-04-24 00:34:21 -05:00
Eric
a90e26e217
Website: Update /try-fleet redirect (#28427)
Closes: #28364

Changes:
- Updated the /try-fleet page to redirect logged-out users to the
/register page
- Updated the signup and login forms to redirect users to the try-fleet
page (if they navigated it that page before signing up/logging in)
2025-04-21 18:22:49 -05:00
Eric
cd5533ad76
Website: Update receive-from-github webhook (#28312)
Closes: #27852

Changes:
- Updated the receive-from-github webhook to automatically apply the
"~ga4-annotation" label to pull requests that change the homepage, the
pricing page, or the primary tagline partial.
- Updated the Github webhook to send details about a pull request to a
Zapier webhook if the pull request has the "~ga4-annotation" label when
it is merged.
2025-04-16 17:57:24 -05:00
Eric
3c5a2dfb3a
Website: Update testimonials page view action (#28100)
Changes:
- Added a missing comma a list of strings in `view-testimonials.js`
2025-04-10 13:22:09 -05:00
Mike McNeil
3f820f34c0
Update testimonials.yml (#27870)
Co-authored-by: Eric <eashaw@sailsjs.com>
2025-04-10 12:12:09 -05:00
Eric
6e70d44c61
Website: update save-questionnaire-progress (#28045)
Closes: https://github.com/fleetdm/confidential/issues/10240

Changes:
- Updated `save-questionnaire-progress` to only check the answer to the
`what-do-you-manage-mdm` step if the user actually answered that
question.
2025-04-09 13:57:21 -05:00
Jordan Montgomery
2808331296
Add heteronymous reddit testimonial (#27910)
# Checklist for submitter

Adds new Reddit sourced testimonial:
![Screenshot 2025-04-04 at 4 38
25 PM](https://github.com/user-attachments/assets/6c2a62ef-166e-49fe-a7b0-cbc7227cc136)
2025-04-08 10:20:06 -05:00
Eric
80a2521739
Website: update order of quotes on landing pages. (#27939)
Changes:
- Updated the order of quotes on landing pages
- Updated the order of quotes on the /testimonials page
2025-04-07 12:05:18 -05:00
Mike McNeil
b3071c832b
Update testimonials.yml (#27871)
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2025-04-04 12:50:24 -05:00
Sam Pfluger
26ada37c50
Update receive-from-github.js (#27863) 2025-04-03 18:24:43 -05:00
Eric
ceec0e4cdd
Website: Update stripe webhook (#27241)
Changes:
- updated the stripe webhook to support `invoice.paid` events when a
subscription's host count is not increased.
2025-03-18 13:09:21 -05:00
Eric
7e678509be
Website: update /releases, /announcements, and /guides article category pages (#27048)
Closes: #26203 

Changes:
- Updated the article category page for release posts, announcements,
and guides to match the latest wireframes
2025-03-13 17:52:36 -05:00
Sam Pfluger
3f39450959
Add Luis Madrigal testimonial (#26973)
Co-authored-by: Eric <eashaw@sailsjs.com>
2025-03-07 18:08:59 -06:00
Eric
5748facb0a
Website: update query generator (#26926)
Related to: https://github.com/fleetdm/confidential/issues/9884

Changes:
- Updated the prompt in the `get-llm-generated-sql` action to include a
note about using wildcard characters when generating queries that use
the LIKE operator.
- Improved error handling in the `get-llm-generated-sql` action
2025-03-07 09:49:07 -06:00
Eric
d04ae6cee1
Website: update query generator page (#26738)
Changes:
- Updated the has-query-generator-access policy to allow the policy to
be bypassed when a `sails.config.custom.enablePublicQueryGenerator`
value is set
- Updated the query generator to match the latest wireframes
- Updated `get-llm-generated-sql` to pass a system prompt to the schema
filtration prompt.
2025-02-28 20:04:00 -06:00
Eric
c4e8f83a70
Website: update Zapier webhook (#26741)
ChangeS:
- updated the `receive-from-zapier` webhook's expected inputs when
receiving a `receive-new-customer-data` event
2025-02-28 19:44:32 -06:00
Eric
044e59c7e7
Website: improve speed of query generator (#26701)
Changes:
- Updated the prompt helper to accept a new input: `systemPrompt`, if
provided and a supported baseModel is selected, the system prompt will
be included in the Open AI API request along with the prompt.
- Updated the models used by the query generator to improve the speed of
query generation.
2025-02-28 12:28:15 -06:00
Eric
40aeaf7c76
Website: Update generated campaign names in receive-from-zapier webhook (#26678)
Closes: #26637

Changes:
- Updated timestamps in names of generated campaign names.
2025-02-27 17:17:42 -06:00
Mike McNeil
e336cdebba
Website: Add Zapier webhook (#26372)
relates to https://github.com/fleetdm/confidential/pull/9650

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-02-26 11:18:20 -06:00
Sam Pfluger
1fe9b537de
Remove Onasis from contact form messages (#26480) 2025-02-20 11:39:31 -06:00
Eric
5251309302
Website: Update OS settings page (#26398)
Changes:
- Updated the content of the /os-settings page to match the latest
wireframes and commented out the profile generator experiment on that
page.
- Added the os-settings page to the "Docs" navigation menu and
navigation component
2025-02-18 07:40:27 +09:00
Eric
9fdb2d0511
Website: update contact form for Fleet premium subscribers (#26361)
Changes:
- Updated the contact page to only display the "Send a message" form for
users who have a Fleet premium subscription
- Updated the deliver-contact-form-message action to include details
about a user's subscription if the user has purchased a Fleet premium
license, and to also send an email to our support email address (in
addition to sending a message to our Slack)
2025-02-17 13:35:53 -06:00
Eric
df13a20b88
Website: add note to deliver-talk-to-us-form-submission.js (#26368)
Added a comment about future behavior
2025-02-14 17:51:15 -06:00
Eric
01c95370b0
Website: Add support for promotional codes on the self-service license dispenser (#26280)
Changes:
- Added the ability to use coupons on the Fleet premium license
dispenser
- Updated the stripe webhook to support coupons on Fleet premium
subscriptions
- Updated the customer dashboard on the website to show decimal places
in subscription/host prices.
2025-02-11 17:11:53 -06:00
Eric
360c23d75e
Website: add configuration profile generator (#26244)
Changes:
- Added /os-settings, a page where users can generate configuration
profiles
- Updated the docs navigation component to have a link to the os
settings page
- Added a new action: `get-llm-generated-configuration-profile` that
generates a configuration profile in either .mobileconfig, DDM, or CSP
formats.
- Added a new website dependency: ace editor.
2025-02-11 12:33:54 +09:00
Eric
84d222d16d
Website: add navigation and search bar to documentation pages (#25795)
Closes #25655

Changes:
- Created a new component: `<docs-nav-and-search>`, a component that
displays links to documentation pages and a search bar.
- Added the `<docs-nav-and-search>` component to documentation pages,
query pages, policy pages, vitals pages, app library pages, and osquery
schema documentation pages.
- Updated the documentation template page to match the latest
wireframes.
- Updated the osquery schema documentation pages to match the latest
wireframes.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-02-03 21:13:26 +09:00
Eric
2d5784e49d
Website: Follow up changes from website code review. (#25844)
Changes:
- Updated the website's sitemap to include pages for app-library pages,
the correct URL for the software management page, and the meetups page.
- Updated save-questionnaire-progress to not log warnings related to
duplicate CRM records if the user submitted one of the first three steps
of the get started questionnaire.
- Cleaned up comments in build-static-content.
2025-01-28 18:47:32 -06:00
Eric
7fd9d8a3e9
Website: Update policies and vitals page URLs in download-sitemap (#25719)
Related to: https://github.com/fleetdm/fleet/issues/25718

Changes:
- Updated `download-sitemap.js` to add the correct URLS of vitals and
policies pages.
2025-01-22 22:38:36 -06:00
Eric
e81f0f82f2
Website: Update query-detail page view action. (#25717)
Closes: #25716

Changes:
- updated `view-query-detail` to return a `notFound` response if the
slug of a vital is provided.
2025-01-22 22:10:43 -06:00
Eric
11d9f56b95
Website: Update query page view action, vital page styles and platform filters. (#25714)
Changes:
- Updated the modal styles on vitals/ pages
- Updated the platform filter behavior on the vitals page to take users
to a different vital query if the currently viewed vital is not
available on the platform they switch to.
2025-01-22 21:41:16 -06:00
Eric
5c0894ce0a
Website: Create queries.yml, add vitals and query pages, move policies. (#25701)
Related to: https://github.com/fleetdm/confidential/issues/9096

Changes:
- Created docs/queries.yml. A YAML file that contains the queries from
the standard query library (`kind: query`) and the host vitals queries
(`kind: built-in`).
- Added the `vitals/*` page, a page that displays details about host
vital queries used to gather information about.
- Updated the /queries page to show queries from the new
`docs/queries.yml` file, and moved policies to a new page (/policies)
- Updated the view action for the query-detail page to look for/redirect
to a policy page with a matching slug before returning a 404 response if
a matching query is not found. This behavior will make it so all of the
old URLs for policy pages will redirect users to the new URL.
- Updated the website's "Docs" navigation menu to have links to the new
vitals and policies pages.
2025-01-22 21:10:17 -06:00
Eric
cefabf9954
Website: update contact form @mentions (#25475)
Closes: https://github.com/fleetdm/confidential/issues/9361

Changes:
- Updated the Slack users who are @mentioned when users submit a contact
form message.
2025-01-15 17:01:29 -06:00
Eric
bf182bed3e
Website: update query generator to use socket requests. (#25472)
Closes: #25465 

Changes:
- Updated the query generator page to use socket requests to call the
`get-llm-generated-sql` action to bypass Heroku's 30-second request
timeout.
2025-01-15 16:31:37 -06:00
Eric
0e72c5daeb
Website: Move query generator out of Admin section (#25301)
Changes:
- Updated the User model to have a new attribute: `canUseQueryGenerator`
a boolean attribute that will grant users access to the query generator
page on the website.
- Added a new policy: `has-query-generate-access`
- Moved the query generator page from the admin section of the website.

Note: before this change can be merged, the website's database will need
to be migrated to add the new column to the User table
2025-01-14 18:09:17 -06:00
Eric
4ad16cc46f
Website: Update admin query generator to work in production. (#25363)
Changes:
- Updated the `build-static-content` script to add the merged osquery
schema JSON to the website's `builtStaticContent` configuration
- Updated view-query-generator to have a badConfig exit that is used if
the website has an invalid `builtStaticContent.schemaTables`
configuration
- Updated `get-llm-generated-sql` to use the
`builtStaticContent.schemaTables` instead of attempting to use
`sails.helpers.getExtendedOsquerySchema()` (Which does not work as
intended when run in a production environment.)
2025-01-10 17:51:03 -06:00
Eric
0620d7e580
Website: Add admin query generator (#25205)
Changes:
- Added /admin/query-generator, a page that admins can use to generate
queries from natural language questions.
- Added `/admin/get-llm-generated-sql.js` an action that uses the same
method in the `test-llm-generated-sql` script to generate queries from a
natural language question.
2025-01-08 13:47:17 -06:00
Eric
1eae4f6e1b
Website split article page routes (#25149)
Closes: #23904

Changes:
- Replaced the regex routes that handle articles and article category
pages to have a separate route for each category
- Updated the build-static-content script to transform periods in
article filenames into dashes
- Added redirects for articles that have a changed URL
2025-01-07 11:43:36 -06:00
Eric
94f85b9259
Website: Add /meetups page (#24882)
Closes: https://github.com/fleetdm/confidential/issues/8983

Changes:
- Added /meetups, a page that shows a list of upcoming meetups
2024-12-18 14:12:52 -06:00
Eric
82ec1d8e16
Website: update article links on /testimonials page (#24850)
Closes: #24746

Changes:
- Replaced the hard-coded links to articles on the /testimonials page
with server-side rendered generated links to articles. These links are
now built using the website's markdown articles configuration.
- Added support for a new meta tag on articles:
`showOnTestimonialsPageWithEmoji` If provided and set to one of the four
supported emoji (🥀, 🔌, 🚪, or 🪟), a link to the article will be added to
the /testimonials page. Example: `<meta
name="showOnTestimonialsPageWithEmoji" value="🥀">`.
- Updated the build-static-content script to throw an error if an
article has an invalid `showOnTestimonialsPageWithEmoji` meta tag value.
- Updated recent case study articles to have a
`showOnTestimonialsPageWithEmoji` meta tag.


@Drew-P-drawers When this PR is merged, you can add links to the new
case studies articles to the /testimonials page with a
`showOnTestimonialsPageWithEmoji` meta tag. The definitions for each of
the supported emoji are in this [google
doc](https://docs.google.com/document/d/1-KWQa3uMIJzeitzDRmzT3SnUoFCfcFCb6K2lyVt-Gy0/edit?tab=t.0#heading=h.oskipmb8530l)
2024-12-17 18:08:25 -05:00
Eric
02b0a97ac8
Website: add support for new usage statistics (#24511)
Changes:
- Updated the receive-usage-analytics webhook to support a new input:
`numQueries`
- Added a new attribute to the HistoricalUsageSnapshot model
`numQueries`
- Added a commented-out section to the
send-aggregated-metrics-to-datadog script.
2024-12-13 15:00:30 -06:00
Mike Thomas
82e000a758
Name change (Observability => Orchestration) (#24747)
- made the text changes to the page, page title, site navigation
---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-12-13 13:24:42 -06:00
Eric
a3e0704fc0
Website: update quotes and sort order on /testimonials page and landing pages (#24441)
Changes:
- Updated the product categories used in testimonials.yml and updated
the build-static-content script to add support for the changed values
(`Endpoint operations` » `Observability` & `Vulnerability management` »
`Software management`)
- Updated the testimonial cards on landing pages to only show the
testimonials that have an explicit sort order set for them.
- Updated the order of testimonials on landing pages and the
/testimonials page.
- Updated the styles of the `<scrollable-tweets>` component.
- Updated the layout of the CTA buttons on the /device-management page
on smaller screen sizes
2024-12-06 09:03:44 +09:00
Eric
f67ff80e4d
Website: Update stripe webhook to send confirmation emails. (#24378)
Closes: #24345

Changes:
- Updated the receive-from-stripe webhook to send confirmation emails to
users who purchase a Fleet Premium license subscription.
2024-12-04 14:22:09 -06:00
Eric
0654172fa2
Website: Add app library & app details page (#24205)
Related to: #23792

Changes:
- Added /app-library, a page that displays information about
Fleet-maintained apps
- Added the app details page (/app-library/{app identifier}), a page
that gives users detailed information about a single Fleet-maintained
app
- Updated the build-static-content script to add information about
Fleet-maintained apps to the website's configuration.
2024-11-27 13:43:23 -06:00
Eric
da13fb15fa
Website: /endpoint-ops » /observability (#24111)
Closes: #24106

Changes:
- Changed the /endpoint-ops page to be at /observability
- Added a redirect for /ednpoint-ops that redirects users to the
/observability page with original query parameters intact.
2024-11-25 14:20:19 -06:00
Eric
c53332259f
Website: Update license dispenser form (#23838)
Closes: https://github.com/fleetdm/confidential/issues/7696

Changes:
- Added `stripe` as a dependency
- Updated the license dispenser form to take users to a stripe hosted
checkout page where they can provide their billing address and Tax ID
depending on their location.
- Updated the receive-from-stripe webhook to fulfill license dispenser
purchases made via stripe checkout
- Added a new action: get-stripe-checkout-session-url. This action
creates a Stripe Checkout session and returns the URL
- Updated the customer dashboard to have a link that users can visit to
update their billing information, add more hosts to their Fleet premium
license, or cancel their subscription.
- Added a new action: redirect-to-stripe-billing-portal. An action that
redirects users to a Stripe-hosted billing portal.
2024-11-25 13:55:56 -06:00
Eric
e8a0092d9f
Website: Update endpoint-ops landing page view action (#24052)
Changes:
- Updated the endpoint ops view action to use the user's
primaryBuyingSituation for personalization if it is set, and to default
to the IT view if not (Note: this behavior is overridden with a purpose
query string. e.g., ?purpose=security.
2024-11-21 17:43:58 -06:00
Eric
948a790410
Website: update default personalization on endpoint ops page. (#24000)
Closes: #23987

Changes:
- Updated the endpoint ops page to default to the IT personalization if
no primaryBuyingSituation or `purpose` query string is provided/set
2024-11-21 17:26:57 -06:00
Eric
70d01d9a48
Website: Update testimonial sort order on /customer-stories, render testimonials server-side (#23996)
Changes:
- Updated the sort order of cards on the /customer-stories page
- Updated the cards on the /customer-stories page to be rendered
server-side.
- Updated styles for testimonial cards.
2024-11-21 08:55:47 +09:00
Zach Wasserman
31c8edbd9f
Fix JSON parsing for fleetdm.com EST certificate issuance (#23977)
Missed a JSON.parse after refactoring the HTTP request code. This was
missed because we had to comment out some of the code for testing in
order to skip authentication.
2024-11-20 09:50:18 -08:00
Eric
8658e4f1ec
Website: Software management landing page (#23961)
Closes: #23890

Changes:
- Updated the styles, layout and content of the
/vulnerability-management page to match the latest wireframes
- Renamed the /vulnerability-management page to /software-management
- Added a redirect for the /vulnerability-management page that takes
users to the /software-management page with all query parameters.
2024-11-20 18:54:36 +09:00
Eric
4f03956c72
Website: add /customer-stories (#23837)
For: #23721 

Changes:
- Added /customer-stories, a page that displays the testimonials from
testimonials.yml
- Changed the /testimonials redirect to go to the /customer-stories
page.
- Updated the "What people are saying" link on the homepage and the
header navigation.



@mike-j-thomas FYI: To make this PR quickly, I did not implement the
sort order in the wireframes or change the testimonials yaml.
2024-11-15 14:52:36 +09:00
Sam Pfluger
9bf9c263c3
Remove HOF position (#23815) 2024-11-14 14:38:23 -06:00
Zach Wasserman
667e0fc996
Add website support to issue device certificates via EST (#23637)
For https://github.com/fleetdm/confidential/issues/8785

New fleetdm.com endpoint that validates an IdP auth token and then
requests a certificate using the provided CSR.

This is a customer hackathon result.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-11-14 09:00:55 -08:00
Eric
2d8ebb4388
Website: Update CRM helper and usage (#23670)
Changes:
- Updated the update-or-create-contact-and-account helper to update
created contact records with a psychological stage
- Updated places where we were using the
update-or-create-contact-and-account helper to set a contact source on
new records.
2024-11-11 12:35:49 -06:00
Eric
c1ed73a8b4
Website: Update links in query library and syntax highlighting on policy pages. (#23591)
Closes: #23516
Closes: #23517

Changes:
- Updated the headings on the /queries page to be clickable links
- Updated the query detail page to highlight osquery tables/columns in
queries
- Updated code blocks on the query details page to prevent the copy
button from covering the content in the code block.
2024-11-07 15:49:16 -06:00
Eric
6065fa5d77
Website: Set psychologicalStageChangeReason and intentSingals on contacts created from newsletter submissions (#23544)
Closes: https://github.com/fleetdm/confidential/issues/8690
Closes: https://github.com/fleetdm/confidential/issues/8691

Changes:
- Updated the update-or-create-contact-and-account to set intentSignals
on contacts
- Updated create-or-update-one-newsletter-subscription to set
psychologicalStageChangeReason and intentSignal on contacts.
2024-11-05 16:02:34 -06:00
Eric
900298f638
Website: Update contacts created by talk to us form submissions (#23498)
Closes: #23277

Changes:
- Added the submitted number of hosts to the description of contacts
created by "talk to us" form submissions
2024-11-04 15:59:39 -06:00
Eric
16e3161dd7
Website: Enable Docsearch on query pages. (#23496)
Changes:
- enabled Algolia Docsearch on the /queries pages.
2024-11-04 13:31:36 -06:00
Eric
f623eed47b
Website: Update /queries page (#23472)
Changes:
- Standard query library:
- Added three policies to the Standard query library (tagged as premium)
- Changed the `kind` of the "Identify Apple development secrets (macOS)"
query to `policy` because it is an informational query (It returns rows
of results rather than 1 or 0) and removed its `resolution` value
- Updated the build-static-content script to remove platform names from
the end of query names (e.g., (macOS)). This is done to keep the URLs
for queries the same while hiding them in the UI
- Updated the layout of the queries page to match the latest wireframes
and updated the page to only show policies
 - Updated the styles and layout of the queries-details page.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2024-11-04 10:58:08 -06:00
Eric
89d15bb71f
Website: follow up changes from pr review (#23471)
Changes:
- Updated view-basic-documentation, view-transparency, and
view-device-management to log warnings if the Cloudflare headers we use
to determine whether or not to show the swag CTA are missing in
production
- Fixed a typo in save-questionnaire-progress
2024-11-01 16:11:00 -05:00
Eric
6348bdf63c
Website: increase ad attribution period (30m » 7 days) (#23379)
Related to: https://github.com/fleetdm/confidential/issues/8234

Changes:
- Increased the period of time that psychological stage change reason is
set by ads in save-questionnaire-progress. (30 minutes » 7 days)
2024-10-30 09:53:03 -05:00
Eric
ca73acfc3a
Website: add newsletter subscription form to homepage (#23362)
Related to: #23212

Changes:
- Added a form to the homepage for users to subscribe to the Fleet
newsletter.
- Updated the unsubscribe-from-all-newsletters action to redirect users
to the fleet homepage once they are unsubscribed from the newsletter.
- Updated the update-or-create-one-newsletter-subscription action to
create/update CRM records when users sign up for the Fleet newsletter.
2024-10-30 15:14:08 +09:00
Eric
484936144e
Website: add swag request CTA to /device-management page (#23370)
Closes: #23222


Changes:
- Added a swag request CTA to the /device-management page that is
visible to users visiting from the contiguous US




When this PR is merged, a new version of [this Zapier
automation](https://zapier.com/editor/158652809/draft/237372699) needs
to be published
2024-10-30 14:59:55 +09:00
Eric
c38e53d1c6
Website: Add organization to questionnaire responses (#23167)
Closes: https://github.com/fleetdm/confidential/issues/8238

Changes:
- Updated save-questionnaire-progress to prepend a
"org-acording-to-fleetdm.com" response to the questionnaire answers
reported to the CRM
2024-10-24 16:41:43 -05:00
Sam Pfluger
010f80d594
Add Scott MacVicar (#23111)
<img width="330" alt="image"
src="https://github.com/user-attachments/assets/454df86f-bea8-4392-a50e-df84a68703f6">

@eashaw, can I get your help with this part?  
- [ ] Then make Scott's one of the default quotes on the
device-management page, and on the contact form and wherever else eric
shaw thinks it belongs.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-10-23 12:06:03 -05:00
Eric
5309f8fe53
Website: add swag request CTA to /better (#23108)
Closes: https://github.com/fleetdm/confidential/issues/8439

Changes:
- Added a swag request CTA to the /better page that is visible to users
visiting the website from the contiguous US.
2024-10-22 18:25:34 -05:00
Eric
30885bfd33
[A/B] Website: change number of hosts required for managed cloud (#22888)
Changes:
- Updated number of hosts required for Fleet managed cloud to 300
- removed the pricing-features-table.yaml codeowner and added
noahtalerman as a DRI in the website's custom configuration

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2024-10-11 18:42:25 -05:00
Sam Pfluger
9598ea5fde
Update product-groups.md (#22887) 2024-10-11 17:54:16 -05:00
Eric
d1dde4f190
Website: update save-questionnaire-progress (#22586)
Closes: https://github.com/fleetdm/confidential/issues/8237
Closes: https://github.com/fleetdm/confidential/issues/8236

Changes:
- Updated `save-questionnaire-progress` to update CRM records whenever a
user submits a step of the get started questionnaire. (This previously
only happened when a user's psychological stage changed)
- Changed the name of the 'cross-platform-mdm' step to
'message-about-cross-platform-mdm'
2024-10-03 13:49:42 -05:00
Eric
ea62bb4c7a
Website: Update contact form validation and slack message (#22587)
Closes: #22522

Changes:
- Updated the contact form to not have a personal email address filter.
- Updated the message posted in Slack when users submit contact form
messages.
2024-10-02 17:28:38 -05:00
Kendra McKeever
7f7acf8d97
Add Kendra to list to receive from GitHub (#22416) 2024-09-26 11:57:26 -04:00
Eric
ebb62af6d9
Website: Deliver contact form messages to Slack (#22231)
Related to: https://github.com/fleetdm/confidential/issues/8098

Changes:
- Updated `deliver-contact-form-message` to send contact form
submissions to a Slack webhook.
2024-09-19 09:09:21 -05:00
Eric
721ed30903
Website: Add search and breadcrumbs to article template page (#22171)
Closes: #15857
Closes: #21850

Changes:
- Updated the article page template to include a search input and
breadcrumb links.
2024-09-19 07:37:22 +09:00
Eric
1f1bc9c949
Website: add default organization to Premium trial license keys. (#22192)
Closes: #22190

Changes:
- updated `save-questionnaire-progress` to set a default value for the
`organization` value of generated license keys (if a user does not have
an organization set)
2024-09-17 18:00:58 -05:00
Eric
867029e9c0
Website: Add Fleet Premium trial to get started questionnaire. (#21922)
Related to: #18869

Changes:
- Updated the /start questionnaire to generate a 30 day, 10 host trial
for Fleet Premium when users submit the step before the "Is it any
good?" step (Where the user is directed to try `fleetctl preview`) and
to save the details (license key and expiration timestamp) of the trial
to their user record.
- Added two new attributes to the User model:
- `fleetPremiumTrialLicenseKey`: A Fleet Premium license key that was
generated for the user when they progressed through the get started
questionnaire.
- `fleetPremiumTrialLicenseKeyExpiresAt`: A JS timestamp of when the
user's Fleet Premium trial license key expires.
- Updated the try-fleet page to have copyable terminal commands, and to
add the `--license_key` flag with the users license key to the command
to run `fleetctl preview`
2024-09-12 17:37:48 -05:00