Skip to main content

ConfigCat Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a ConfigCat location. With this connector, you can programmatically create and manage ConfigCat configs, environments, feature flags, segments, and webhooks through the ConfigCat Public Management API.
config_cat_api.png

ConfigCat

Create a ConfigCat Destination

  1. Click the + icon on the Nexset that will be sent to the ConfigCat destination, and select the Send to Destination option from the menu.

  2. Select the ConfigCat connector from the list of available destination connectors. Then, select the credential that will be used to connect to the ConfigCat organization, and click Next; or, create a new ConfigCat credential for use in this flow.

  3. In Nexla, ConfigCat destinations can be created using pre-built endpoint templates, which expedite destination setup for common ConfigCat endpoints. Each template is designed specifically for the corresponding ConfigCat endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    ConfigCat destinations can also be configured manually, allowing you to send data to ConfigCat endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common ConfigCat endpoints. Each template is designed specifically for the corresponding ConfigCat endpoint, making destination setup easy and efficient.

Each template maps the records in your Nexset to a request body that is sent to the ConfigCat API. The path parameters described below (such as Config ID, Environment ID, and Setting ID) identify the resource to act on. These IDs are GUID-style identifiers that can be retrieved using the corresponding ConfigCat list endpoints in a data source flow or copied from the ConfigCat Dashboard.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Create Config

    This endpoint creates a new config in a product. The request body contains the details of the config to create, such as its name and description.

    • Enter the ID of the product to create the config in, in the Product ID field.

    Update Config

    This endpoint updates the name and description of a specific config. The request body contains the updated config details.

    • Enter the ID of the config to update in the Config ID field.

    Delete Config

    This endpoint deletes a specific config and all of its associated data. Use it to permanently remove a config from a product.

    • Enter the ID of the config to delete in the Config ID field.

    Deleting a config also removes all feature flags and values contained within it. This action cannot be undone, so verify the Config ID before activating the destination.

    Create Environment

    This endpoint creates a new environment in a product. The request body contains the environment details, such as its name, description, and color.

    • Enter the ID of the product to create the environment in, in the Product ID field.

    Update Environment

    This endpoint updates the name, description, or color of an existing environment. The request body contains the updated environment details.

    • Enter the ID of the environment to update in the Environment ID field.

    Delete Environment

    This endpoint deletes an environment from a product. Use it to permanently remove an environment and its associated flag values.

    • Enter the ID of the environment to delete in the Environment ID field.

    Create Flag

    This endpoint creates a new feature flag (setting) in a specific config. The request body contains the flag definition, including its name, key, type, and hint.

    • Enter the ID of the config to create the flag in, in the Config ID field.

    Update Flag

    This endpoint updates the metadata (name, hint, key, and tags) of a feature flag (setting). The request body contains the updated metadata.

    • Enter the ID of the feature flag setting to update in the Setting ID field.

    This endpoint updates flag metadata only. To change the value of a flag in a specific environment, use the Update Setting Value or Replace Setting Value endpoints.

    Delete Flag

    This endpoint deletes a feature flag (setting) by its ID. Use it to permanently remove a flag and its values from all environments in the config.

    • Enter the ID of the feature flag setting to delete in the Setting ID field.

    Update Setting Value

    This endpoint partially updates a feature flag setting value using JSON Patch operations. Use it to make targeted changes—such as updating a single targeting rule or the default value—without replacing the entire setting configuration.

    • Enter the ID of the environment containing the setting in the Environment ID field.
    • Enter the ID of the feature flag setting to update in the Setting ID field.

    The request body for this endpoint must be formatted as a JSON Patch document describing the operations to apply. For complete details, see the ConfigCat Public Management API documentation.

    Replace Setting Value

    This endpoint replaces the entire configuration of a feature flag setting in an environment, including its value, targeting rules, and rollout percentages. Use it when you want to fully overwrite a setting's configuration rather than apply incremental changes.

    • Enter the ID of the environment containing the setting in the Environment ID field.
    • Enter the ID of the feature flag setting to replace in the Setting ID field.

    Replace All Setting Values

    This endpoint bulk-replaces every feature flag value in a single config and environment in one atomic call. Use it to apply a complete set of flag values to a config/environment combination at once.

    • Enter the ID of the config containing the settings in the Config ID field.
    • Enter the ID of the environment whose values to replace in the Environment ID field.

    Create Segment

    This endpoint creates a new targeting segment in a product. Segments are reusable user groups that can be referenced by targeting rules across feature flags. The request body contains the segment definition.

    • Enter the ID of the product to create the segment in, in the Product ID field.

    Create Webhook

    This endpoint creates a webhook bound to a specific config and environment. Webhooks notify external systems when feature flag changes occur. The request body contains the webhook configuration, such as the target URL and HTTP method.

    • Enter the ID of the config the webhook is bound to in the Config ID field.
    • Enter the ID of the environment the webhook is bound to in the Environment ID field.

    Delete Webhook

    This endpoint deletes a webhook by its ID. Use it to permanently remove a registered webhook from a product.

    • Enter the ID of the webhook to delete in the Webhook ID field. Webhook IDs can be obtained from the List Webhooks endpoint in a data source flow.

Configure Manually

ConfigCat destinations can be manually configured to send data to any valid ConfigCat Public Management API endpoint.

Using manual configuration, you can also configure Nexla to automatically send the response received from the ConfigCat API after each call to a new Nexla webhook data source.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the ConfigCat API from the Method pulldown menu. ConfigCat write operations use the following methods:

    • POST: For creating new resources, such as configs, environments, flags, segments, and webhooks
    • PUT: For replacing an existing resource, such as updating a config or replacing a setting value
    • PATCH: For partial updates, such as updating flag metadata or applying JSON Patch operations to a setting value
    • DELETE: For removing resources, such as configs, environments, flags, and webhooks

Data Format

  1. Select the format in which the Nexset data will be sent to the ConfigCat API from the Content Format pulldown menu. ConfigCat expects JSON request bodies, so select JSON for most operations. Nexla will automatically convert the data to the selected format for each API call.

API Endpoint URL

  1. Enter the URL of the ConfigCat API endpoint to which you want to send the Nexset data in the URL field. For update, replace, and delete operations, include the ID of the object to be modified at the end of the URL—for example, https://api.configcat.com/v1/configs/{'{configId}'} to update a config, or https://api.configcat.com/v1/settings/{'{settingId}'} to update a flag.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this ConfigCat destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.

Response Webhook

Optional

Nexla can automatically send the response received from the ConfigCat API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the ConfigCat API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.
  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the ConfigCat API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the ConfigCat API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to ConfigCat, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to ConfigCat until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.