Skip to main content

Appcues 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 an Appcues location.
appcues_api.png

Appcues

Create an Appcues Destination

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

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

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

    Appcues destinations can also be configured manually, allowing you to send data to Appcues 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 Appcues endpoints. Each template is designed specifically for the corresponding Appcues endpoint, making destination setup easy and efficient.

  • 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 Segment

    This endpoint creates a new segment in the Appcues account. Use it to programmatically seed segments from upstream audience definitions — for example, when a CRM defines a new customer cohort that should also exist in Appcues for experience targeting.

    • The full upstream record is sent as the JSON body of the POST /v2/accounts/{'{account_id}'}/segments call. At a minimum, each record must include a name for the new segment and a conditions object (for rule-based segments) or a list-based configuration.
    • Use the Nexla transform layer to shape the upstream record into the body schema expected by Appcues.

    Newly created segments are immediately available for targeting flows, checklists, banners, and other Appcues experiences. For the complete request body schema, see the Create segment using the Public API guide.

    Update Segment Details

    This endpoint updates the configuration of an existing segment using PATCH semantics — only the fields included in the payload are modified, and omitted fields are left untouched.

    • Enter the segment ID in the Segment ID field. This field is required and is interpolated into the URL of every call.
    • The body of each PATCH call is the upstream record. Include only the fields that should be changed — for example, an updated name or a revised conditions block.

    Segment IDs can be obtained from the List Segments source endpoint. Use the Nexla transform layer to drop attributes that should not be sent to Appcues.

    Add User IDs to Segment

    This endpoint adds one or more user IDs to a list-based segment. Use it to push membership changes from an external system of record into Appcues — for example, when a new cohort qualifies for a guided onboarding experience.

    • Enter the target segment ID in the Segment ID field. This field is required and must reference a list-based segment (rule-based segments derive membership automatically from their conditions).
    • Each upstream record's JSON body is sent to POST /v2/accounts/{'{account_id}'}/segments/{'{segment_id}'}/add_user_ids. The body must include a user_ids array of strings — these values must match the user IDs Appcues sees from your Appcues.identify() calls in your SDK.

    Ensure the user IDs you send exactly match the identifiers Appcues knows for those users — segment membership is keyed off the same userId you supply via the Appcues SDK. For complete details, see the Appcues API V2 reference.

    Publish Flow

    This endpoint publishes a flow, activating it for end users that match its segment targeting. Use it to automate the rollout of experiences from your CI/CD or content-management pipeline.

    • Enter the flow ID in the Flow ID field. This field is required and is interpolated into the URL of every call.
    • No request body is required for this endpoint — the upstream record drives only the URL substitution.

    Flow IDs can be obtained from the List Flows source endpoint. Publishing a flow makes it immediately eligible to display to qualifying users. For details, see the Publish flow reference.

    Unpublish Flow

    This endpoint unpublishes a flow, hiding it from end users without deleting its configuration. Use it to temporarily disable experiences during incidents, maintenance windows, or A/B test rotations.

    • Enter the flow ID in the Flow ID field. This field is required and is interpolated into the URL of every call.
    • No request body is required for this endpoint — the upstream record drives only the URL substitution.

    Unpublishing preserves the flow configuration in Appcues, so it can be republished later with Publish Flow. For details, see the Unpublish flow reference.

    Track a User Event

    This endpoint records a user-level event in Appcues from a backend system. Use it to feed server-side events (purchases, account upgrades, support interactions) into Appcues so they can be referenced in segment conditions or as flow triggers.

    • Enter the user ID in the User ID field. This value should match the userId Appcues knows for the user via your Appcues.identify() SDK call. The field is optional in the template but is required by Appcues at runtime — provide it for every record.
    • Each upstream record's JSON body is sent to POST /v2/accounts/{'{account_id}'}/users/{'{user_id}'}/events. The body must include the event payload (event name, timestamp, and any custom event properties).

    Use this endpoint for server-side events that cannot be captured by the client-side Appcues SDK. Events tracked here are eligible for use in segment conditions and as flow triggers after a short ingestion delay.

Configure Manually

Appcues destinations can be manually configured to send data to any valid Appcues Public API (V2) endpoint. Manual configuration provides maximum flexibility for endpoints not covered by pre-built templates, including custom URL patterns, region-specific hosts (such as api.eu.appcues.com), and any new endpoints added to the Appcues API.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Appcues API after each call to a new Nexla webhook data source — useful for capturing the new segment ID returned by Create Segment, or the publish-state payload returned by Publish Flow.

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 Appcues API from the Method pulldown menu. Common methods for Appcues write endpoints include:

    • POST: For creating resources or triggering actions (for example, POST /segments, POST /flows/{'{id}'}/publish, POST /users/{'{user_id}'}/events)
    • PATCH: For partial updates to existing resources (for example, PATCH /segments/{'{id}'})

Data Format

  1. Select the format in which the Nexset data will be sent to the Appcues API from the Content Format pulldown menu. The Appcues V2 API expects application/json for all write endpoints, so JSON is the appropriate choice for every Appcues destination.

API Endpoint URL

  1. Enter the URL of the Appcues API endpoint to which you want to send the Nexset data in the URL field. All Appcues V2 API URLs follow the pattern https://api.appcues.com/v2/accounts/{'{account_id}'}/{'{resource}'} (for example, https://api.appcues.com/v2/accounts/12345/segments). For update or state-change operations, include the resource ID at the end of the URL — Nexla macros can substitute the ID from each upstream record (for example, {'https://api.appcues.com/v2/accounts/12345/segments/{id}'}).

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 (for example, header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The HTTP Basic Authorization header is added automatically based on your Appcues credential, and Content-Type: application/json is added based on the selected Content Format.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Appcues destination, select the attributes from the Exclude Attributes pulldown menu. This is useful for stripping internal Nexla bookkeeping fields, or for omitting upstream IDs that Appcues would reject as unknown.

  • 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

The Appcues V2 API does not natively support batched create or update calls — each segment, event, or publish action is processed with its own request. Record batching in Nexla is therefore best left disabled for Appcues destinations. One useful exception is the Add User IDs to Segment endpoint, which accepts a user_ids array per call; you can build that array from multiple upstream records using a transform rather than relying on Nexla's batching layer.

  1. To override the default and group records into a single batched payload anyway, check the box next to Would you like to batch your records together?.

  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 Appcues 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 downstream-process the returned segment IDs, publish-state payloads, or event acknowledgements.

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

    Enabling the response webhook is particularly useful for Create Segment (to capture the new segment ID), Publish Flow (to record the publish timestamp returned by Appcues), and Track a User Event (to verify event acceptance).

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Appcues 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 Appcues 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 Appcues API using the current settings.

Important

Test payloads sent to write endpoints (such as Create Segment, Publish Flow, Unpublish Flow, or Track a User Event) will make real changes in your Appcues account. Use a non-production Appcues account or a clearly-labeled test segment before sending test data against a production Appcues account.

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 Appcues, open the destination resource menu, and select Activate.

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