Skip to main content

Coupa Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a sync or streaming data flow that sends data to a Coupa location.
coupa_api.png

Coupa

Create a Coupa Destination

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

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

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

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

    This endpoint creates records of the selected type. Use this endpoint when you need to create new records (users, invoices, purchase orders, etc.) in your Coupa account from your data sources.

    • Select the type of Coupa API object you wish to add entries for from the Object Type dropdown menu. Available options are:

      • Addresses: For creating addresses
      • Approvals: For creating approvals
      • Charges: For creating charges
      • Contracts: For creating contracts
      • Expense Reports: For creating expense reports
      • Invoices: For creating invoices
      • Items: For creating items
      • Purchase Orders: For creating purchase orders
      • Purchase Order Changes: For creating purchase order changes
      • Requisitions: For creating requisitions
      • Suppliers: For creating suppliers
      • Supplier Items: For creating supplier items
      • Users: For creating users (default)

      The default value is users if not specified.

    • The endpoint uses POST requests to {api_url}/api/{object_name} where {object_name} is the object type you select. The endpoint URL is automatically constructed based on the Coupa API base URL and the object type.
    • The endpoint sends data from your Nexset as the request body in JSON format. Each record in your Nexset will be sent as a JSON object containing the record data to create. The request body should follow the Coupa API specification for creating records, including required fields and field names.
    • Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to create a record. If you need to create multiple records, you can send multiple records, but each will be processed as a separate request.

    Object types should match the Coupa API specification. The request body must be properly formatted JSON that matches the Coupa API specification for creating records. Check the documentation URL for more details on the record schema, including required fields, field names, and request formats. The endpoint requires API key authentication via the X-COUPA-API-KEY header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is disabled by default (batch.mode: false), so each record will be sent as a separate request. For detailed information about creating records, see the Coupa API documentation.

Configure Manually

Coupa destinations can be manually configured to send data to any valid Coupa API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Coupa 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 Coupa API from the Method pulldown menu. The Coupa API primarily uses POST requests for data writing operations. The most common methods are:

    • POST: For creating new resources or performing actions (e.g., creating records)
    • PUT: For updating existing data
    • PATCH: For partial updates to existing data
    • DELETE: For removing data

Data Format

  1. Select the format in which the Nexset data will be sent to the Coupa API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call. The Coupa API typically uses JSON format for request bodies.

API Endpoint URL

  1. Enter the URL of the Coupa API endpoint to which you want to send the Nexset data in the URL field. This should be the complete URL including the protocol (https://) and any required path parameters. Coupa API endpoints typically follow the pattern {api_url}/api/{endpoint_path}.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The endpoint requires API key authentication via the X-COUPA-API-KEY header, which is handled automatically by your credential configuration. For detailed information about Coupa API endpoints and available APIs, see the Coupa API documentation.

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). Additional headers are often required for API versioning, content type specifications, or custom authentication requirements.

    You do not need to include any headers already present in the credentials. Common headers like Authorization, Content-Type, and Accept are typically handled automatically by Nexla based on your credential configuration. The Coupa API requires API key authentication via the X-COUPA-API-KEY header, which is handled automatically by your credential configuration. The Content-Type: application/json header is typically set automatically for JSON request bodies.

Request Body

Optional
  • If the API endpoint requires a specific request body format, configure how Nexla should format the request body from your Nexset data. The request body can be sent as JSON, XML, or form data, depending on the API endpoint requirements.

    • For JSON format, select JSON from the Request Body Format dropdown, and the Nexset data will be sent as a JSON object in the request body. Coupa API endpoints typically use JSON format for request bodies.

    • For XML format, select XML from the Request Body Format dropdown, and the Nexset data will be converted to XML format in the request body.

    • For Form data format, select Form Data from the Request Body Format dropdown, and the Nexset data will be sent as form-encoded data in the request body.

Save the Destination

  1. Once all configuration steps have been completed, click the Save button to save your destination configuration.

  2. The destination will now be available in your data flow and will begin sending data to the Coupa endpoint according to the configured settings.