Skip to main content

Data Source

Follow the instructions below to create a new data flow that ingests data from a Monday.com source in Nexla.
monday_api.png

Monday

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

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

  3. In Nexla, Monday.com data sources can be created using pre-built endpoint templates, which expedite source setup for common Monday.com GraphQL queries. Each template is designed specifically for the corresponding Monday.com query type, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Monday.com sources can also be configured manually, allowing you to execute custom GraphQL queries not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to execute common Monday.com GraphQL queries. Each template is designed specifically for the corresponding Monday.com query type, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Query One Page of Data

    This endpoint template executes a GraphQL query that fetches a single page of data from your Monday.com account. Use this template when you need to retrieve a fixed set of data that doesn't require pagination, such as user information, board metadata, or item details for specific IDs.

    • Enter your GraphQL query in the Query field. This should be a valid Monday.com GraphQL query that retrieves the data you need. The query should follow Monday.com GraphQL syntax and reference the appropriate Monday.com schema fields. For example, to retrieve user information, use: query { me { is_guest created_at name id }}. The query is sent as a POST request to the Monday.com GraphQL endpoint (https://api.monday.com/v2) with the query in the request body.
    • Enter the JSONPath expression in the JSONPath to Data in Response field to specify which part of the API response should be treated as the relevant data by Nexla. This JSONPath expression should point to the data in the GraphQL response. For example, if your query returns user information, use $ to extract the entire response, or $.data.me to extract the user object from the response. The JSONPath expression determines which data will be extracted and processed by Nexla.

    This template is designed for queries that return a single page of results. If your query returns paginated data, use the "Query Paginated Data" template instead. The GraphQL query must be valid according to the Monday.com GraphQL schema. You can reference the Monday.com API reference for available queries and schema information.

    The JSONPath expression must correctly reference the structure of your GraphQL response. GraphQL responses typically have a data property containing the query results. Ensure your JSONPath expression matches the structure returned by your specific query.

    Query Paginated Data

    This endpoint template executes a GraphQL query that fetches multiple pages of data from your Monday.com account using cursor-based pagination. Use this template when you need to retrieve large datasets that span multiple pages, such as all items in a board, all boards, or all users. The template automatically handles pagination by using cursor-based pagination with the next_items_page query.

    • Enter your GraphQL query in the Query field. This should be a valid Monday.com GraphQL query that includes pagination using the next_items_page query. The query must include a cursor variable that will be used for pagination. For example, to retrieve paginated items from a board, use: query { boards (ids: 7764629372) { items_page(limit:1) {cursor items {id name}} } }. The query is sent as a POST request to the Monday.com GraphQL endpoint (https://api.monday.com/v2) with the query in the request body.
    • Enter the JSONPath expression in the JSONPath to Data in Response field to specify which part of the API response should be treated as the relevant data by Nexla. This JSONPath expression should point to the data in the GraphQL response. For example, if your query returns boards, use $.data.boards[*] to extract all board items from the response. The JSONPath expression determines which data will be extracted and processed by Nexla for each page.
    • Enter the variable name for the cursor in the Query Variable for Page Number field. This should match the variable name used in your GraphQL query for pagination (typically cursor). Nexla will automatically use the cursor from the previous response to fetch subsequent pages of data.
    • Enter the starting page number in the Start from Page Number field. This is the initial page number that Nexla will use when fetching data. Typically, this should be set to 1 to start from the first page. Note that Monday.com uses cursor-based pagination, so this value is used for the initial query, and subsequent pages use cursors from the API response.

    This template automatically handles pagination using cursor-based pagination with the next_items_page query. The template uses a two-step approach: the first step executes your initial query, and the second step uses the next_items_page query with the cursor from the previous response to fetch subsequent pages. Ensure your GraphQL query includes pagination support using Monday.com's cursor-based pagination mechanism.

    The GraphQL query must be valid according to the Monday.com GraphQL schema and must include cursor-based pagination. You can reference the Monday.com API reference for available queries and schema information. The JSONPath expression must correctly reference the structure of your GraphQL response, typically pointing to the data within the data property.

    Consider your API rate limits when configuring pagination. Monday.com enforces rate limits on API requests, so ensure your pagination settings align with your account's rate limit capabilities.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Monday.com data sources can be manually configured to execute custom GraphQL queries not covered by pre-built templates. Manual configuration provides maximum flexibility for accessing custom queries or when you need advanced GraphQL query configurations.

With manual configuration, you can also create more complex Monday.com sources, such as sources that use multiple GraphQL queries or sources that require custom variables or fragments.

API Method

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

  2. Select the API method that will be used for calls to the Monday.com GraphQL API from the Method pulldown menu. Monday.com GraphQL API uses POST method for all queries, as GraphQL queries are sent in the request body.

API Endpoint URL

  1. Enter the URL of the Monday.com GraphQL API endpoint in the Set API URL field. This should be the complete URL to your Monday.com GraphQL endpoint, typically https://api.monday.com/v2.

Ensure the API endpoint URL is correct and accessible with your current credentials. The Monday.com GraphQL endpoint is located at https://api.monday.com/v2. You can test the endpoint using the Test button after configuring the URL.

Request Body

  1. Configure the request body that will be sent to the Monday.com GraphQL API. The request body should contain your GraphQL query in JSON format. The request body format is: {"query": "{ your_graphql_query }"} for simple queries, or {"query": "{ your_graphql_query }", "variables": { "variable_name": "variable_value" }} for queries with variables.

The request body must be valid JSON and must include a query property containing your GraphQL query. If your query uses variables, include a variables property with the variable values. The GraphQL query must be valid according to the Monday.com GraphQL schema. You can reference the Monday.com API reference for available queries and schema information.

Response Data Path

  1. Enter the JSONPath expression in the Response Data Path field to specify which part of the API response should be treated as the relevant data by Nexla. This JSONPath expression should point to the data in the GraphQL response. For example, if your query returns boards, use $.data.boards[*] to extract all board items from the response.

The JSONPath expression must correctly reference the structure of your GraphQL response. GraphQL responses typically have a data property containing the query results. Ensure your JSONPath expression matches the structure returned by your specific query. The JSONPath expression determines which data will be extracted and processed by Nexla.

Pagination (if applicable)

  1. If your GraphQL query supports pagination, configure the pagination settings in the Pagination section. Monday.com GraphQL typically uses cursor-based pagination with the next_items_page query. Select the pagination type that matches your Monday.com GraphQL query's pagination mechanism.

  2. Configure the pagination parameters based on your selected pagination type. For cursor-based pagination, specify the cursor parameter name, and configure the response path to the cursor value from the API response.

Save the Data Source

  1. Once all of the relevant steps in the above sections have been completed, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the data source configuration for later use.