Introducing feature flags for B2B

We’ve launched feature flags on Bucket. They're built for B2B and tightly integrated with Releases, which enables product teams to quickly collect customer engagement metrics and feedback on feature releases. And everyone has access with unlimited seats on all plans.

Bucket feature flags come with everything you’d expect. We handle gradual feature roll outs, allow for roll backs directly from our UI, and give you powerful targeting rules. 

Bucket targeting rules are set at the company level, not the user level. You don’t need to group users into company-based segments, it’s done for you automatically. 

Working natively at company level lets you set targeting rules for new feature flags based on existing powerful Bucket filters like past flag access, company ID, satisfaction score, and STARS stage, right out of the box.

Targeting rules

Automated evaluation on release customer satisfaction 

Modern product teams aren’t just rolling features out and forgetting about them. They’re checking in with customers to make sure the feature meets their needs. Whenever there’s an issue, the team acts fast to address it. 

Bucket feature flags are deeply integrated within Releases to give you an automated evaluation workflow for weeks 0-12 of any new release. 

Releases lets you define feature goals for a feature release and then automatically collects feature engagement metrics and qualitative feedback, and sends you goal progress updates via Slack. 

This ensures product teams stay focused on the features that customers care about and save time on feature evaluation.

Goal setting in Releases

How to get started

It’s easy to get started with both client-side and server-side evaluation options.

React SDK

import BucketProvider from "@bucketco/react-sdk"

<BucketProvider
    publishableKey="{YOUR_PUBLISHABLE_KEY}"
    context={{
        // The context should take the form of { user: { id }, company: { id } }
        // plus anything additional you want to be able to evaluate flags against.
        user: { id: "john_doe" },
        company: { id: "acme_inc" },
    }}
>
    <YourApp />
</BucketProvider>

When the context provider is installed, use the useFeatureFlag hook to determine if a flag is enabled for a specific user or company:

import { useFeatureFlag } from "@bucketco/react-sdk";

const joinHuddleFlag = useFeatureFlag("join-huddle");
//{
//    "isLoading": false,
//    "value": true,
//}

Browser SDK

bucket.init({YOUR_PUBLISHABLE_KEY})

const flags = await bucket.getFeatureFlags({
  context: {
    user: { id: "john_doe" },
    company: { id: "acme_inc" },
  },
});
// {
//   "join-huddle": {
//     "key": "join-huddle",
//     "value": true
//   },
//   "post-message": {
//     "key": "post-message",
//     "value": true
//   }
// }

Node.js SDK

const bucket = new BucketClient('{YOUR_SECRET_KEY}')
const flags = await bucket.getFeatureFlags({
  context: {
    user: { id: "john_doe" },
    company: { id: "acme_inc" },
  },
});

HTTP API

GET https://front.bucket.co/{YOUR_PUBLISHABLE_KEY}/flags/evaluate?context.company.id=acme_iinc&context.user.id=john_doe

200 OK

{
  "success": true,
  "flags": {
    "join-huddle": {
      "key": "join-huddle",
      "value": true
    },
    "post-message": {
      "key": "post-message",
      "value": true
    }
  }
}

Our globally distributed network ensures that evaluation round-trip time stays low while flag lookups are cached in local storage to ensure subsequent lookups are instant. 

Our feature flags are also integrated with environments. Each app in Bucket comes pre-configured with two default environments: Production and Staging.

You can add as many additional environments as you want.

Try it today

Sign up for private beta to try it for yourself. With unlimited seats on every plan, your whole team can have access.

Happy rollouts!