Skip to main content

Coassemble 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 Coassemble location.
coassemble_api.png

Coassemble

Create a Coassemble Destination

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

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

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

    Coassemble destinations can also be configured manually, allowing you to send data to Coassemble 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 Coassemble endpoints. Each template is designed specifically for the corresponding Coassemble 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 Course Signed URL

    This endpoint generates a signed URL used to embed a course for a learner. This is the recommended way to launch courses programmatically in a headless integration, as it supports all current and future Coassemble features and enables rich tracking.

    • This endpoint requires no path parameters. Each Nexset record is sent as the JSON request body, which should contain the course and learner details required to generate the signed URL.
    • The Coassemble API returns the generated signed URL in its response, which can be captured using the Response Webhook option.

    For details on the fields required to generate a signed URL and how to embed the resulting course, refer to the Coassemble Developers documentation.

    Generate Course (AI)

    This endpoint programmatically creates a course using Coassemble's AI generator from a text prompt. Use it to automate course creation from structured content in your Nexsets.

    • This endpoint requires no path parameters. Each Nexset record is sent as the JSON request body and should include the generation parameters, such as the text prompt, audience, tone, familiarity, and screen count.
    • The API returns the generated course detail, which can be captured using the Response Webhook option.

    For the full list of supported generation parameters, refer to the Coassemble Courses API documentation.

    Duplicate Course

    This endpoint creates a copy of an existing course, preserving its screens and structure under a new course ID. Use it to create reusable course templates or per-client variants.

    • Enter the numeric ID of the course to duplicate in the Course ID field.
    • Each Nexset record is sent as the JSON request body for the duplicate operation.

    The duplicated course is created as a new draft course with its own ID. Use the Publish Course endpoint to make the copy live to learners.

    Publish Course

    This endpoint publishes a draft or edited course, making it live to learners. Use it to promote course changes into production as part of an automated authoring workflow.

    • Enter the numeric ID of the course to publish in the Course ID field.
    • Each Nexset record is sent as the JSON request body for the publish operation.

    Publishing makes the current version of the course visible to learners. To undo a publish, use the Revert Course endpoint.

    Revert Course

    This endpoint reverts a published course back to its last draft state, undoing the current published version. Use it to roll back a published course to its previous draft.

    • Enter the numeric ID of the course to revert in the Course ID field.
    • Each Nexset record is sent as the JSON request body for the revert operation.

    Reverting returns the course to its last draft state. Learners will no longer see the previously published version until the course is published again.

    Delete Course

    This endpoint soft-deletes a course by ID. The course is removed from active use but can be restored later. Use it to retire courses while preserving the ability to recover them.

    • Enter the numeric ID of the course to soft-delete in the Course ID field.
    • Each Nexset record is sent as the JSON request body for the delete operation.

    Because this is a soft delete, the course can be recovered using the Restore Course endpoint.

    Restore Course

    This endpoint restores a previously soft-deleted course. Use it to recover a course that was retired with the Delete Course endpoint.

    • Enter the numeric ID of the soft-deleted course to restore in the Course ID field.
    • Each Nexset record is sent as the JSON request body for the restore operation.

    Only courses that were soft-deleted (not permanently removed) can be restored with this endpoint.

    Update Client (Upsert)

    This endpoint upserts a client identifier: it creates the client if it does not exist, or updates its arbitrary metadata key-value pairs. Use it to provision and maintain tenant or organization-level learner groups from your source data.

    • Enter the client identifier whose metadata is being updated in the Client Identifier field.
    • Each Nexset record is sent as the JSON request body and should contain the metadata key-value pairs to set on the client.

    Because this operation is an upsert, the same flow can be used to both create new clients and update existing ones. For details on client metadata, refer to the Coassemble Identities API documentation.

    Delete Client

    This endpoint deletes all objects associated with a client identifier. Use it for off-boarding or GDPR-style data removal when a client should be fully removed from your workspace.

    • Enter the client identifier whose objects should be deleted in the Client Identifier field.
    • Each Nexset record is sent as the JSON request body for the delete operation.

    This operation removes all data associated with the client and cannot be undone. Confirm the client identifier before activating the destination.

    Update User (Upsert)

    This endpoint upserts a user identifier: it creates the user if it does not exist, or updates the user's client identifier and/or metadata key-value pairs. Use it to provision and maintain learner identities from your source data.

    • Enter the user identifier whose client identifier or metadata is being updated in the User Identifier field.
    • Each Nexset record is sent as the JSON request body and should contain the client identifier and/or metadata to set on the user.

    Because this operation is an upsert, the same flow can be used to both create new users and update existing ones. For details on user metadata, refer to the Coassemble Identities API documentation.

    Delete User

    This endpoint deletes all objects associated with an individual user identifier. Use it for learner de-provisioning or GDPR-style data removal.

    • Enter the user identifier whose objects should be deleted in the User Identifier field.
    • Each Nexset record is sent as the JSON request body for the delete operation.

    This operation removes all data associated with the user and cannot be undone. Confirm the user identifier before activating the destination.

    Delete Tracking

    This endpoint deletes a tracking object by course ID and learner identifier, resetting a learner's progress for a course. Use it to clear progress records when a learner should restart a course.

    • This endpoint requires no path parameters. Each Nexset record is sent as the JSON request body and should identify the course and learner whose tracking should be deleted.
    • For details on the fields required to identify a tracking object, refer to the Coassemble Tracking API documentation.

    Deleting a tracking object resets the associated learner's progress and completion data for that course and cannot be undone.

    Create Course Translation

    This endpoint creates a new translation for a course. Use it to add localized language versions of a course as part of an automated localization workflow.

    • Enter the numeric ID of the course to create a translation for in the Course ID field.
    • Each Nexset record is sent as the JSON request body and should include the translation details, such as the target language.

    For details on supported language codes and the translation model, refer to the Coassemble Translations API documentation.

    Set Default Translation

    This endpoint makes a translation the default version for a parent course and language. Use it to control which localized version learners see by default.

    • Enter the numeric ID of the parent course in the Course ID field.
    • Enter the language code of the translation to set as default in the Language Code field.
    • Each Nexset record is sent as the JSON request body for the operation.

    The language code must match an existing translation for the parent course. Use the List Course Translations source endpoint to confirm available translations.

    Sync Translation

    This endpoint syncs a translation with the latest source-course screen changes. Use it to keep localized versions up to date after the parent course is edited.

    • Enter the numeric ID of the parent course in the Course ID field.
    • Enter the language code of the translation to sync in the Language Code field.
    • Each Nexset record is sent as the JSON request body for the sync operation.

    Syncing applies the latest screen changes from the parent course to the specified translation, helping keep localized content consistent.

    Delete Translation

    This endpoint deletes a translation for a parent course and language. Use it to remove a localized version that is no longer needed.

    • Enter the numeric ID of the parent course in the Course ID field.
    • Enter the language code of the translation to delete in the Language Code field.
    • Each Nexset record is sent as the JSON request body for the delete operation.

    Deleting a translation removes that localized version of the course and cannot be undone.

Configure Manually

Coassemble destinations can be manually configured to send data to any valid Coassemble API endpoint.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Coassemble API after each call to a new Nexla webhook data source—useful, for example, to capture the signed URL returned when launching a course or the new course ID returned by the AI generator.

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 Coassemble API from the Method pulldown menu. Coassemble headless write endpoints use:

    • POST: For creating, generating, duplicating, publishing, restoring, and reverting courses, generating signed URLs, and creating, syncing, or setting default translations
    • PUT: For upserting clients and users
    • DELETE: For deleting courses, clients, users, tracking objects, and translations

Data Format

  1. Select the format in which the Nexset data will be sent to the Coassemble API from the Content Format pulldown menu. Coassemble headless endpoints accept JSON, so select the JSON format. Nexla will automatically convert the data to the selected format for each API call.

API Endpoint URL

  1. Enter the URL of the Coassemble API endpoint to which you want to send the Nexset data in the URL field. Coassemble headless endpoints share the base URL https://api.coassemble.com/api/v1/headless/. For operations that target a specific object, include the ID at the appropriate position in the URL—for example, https://api.coassemble.com/api/v1/headless/course/12345/publish publishes the course with ID 12345.

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. The COASSEMBLE-V1-SHA256 Authorization header is constructed automatically by Nexla based on your credential configuration.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Coassemble 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 Coassemble 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, such as a generated signed URL or a newly created course ID.

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

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