appsmithorg/appsmith · error · Error

Unable to create Actions

Error message

Unable to create Actions

What it means

Error thrown by the one-click-binding flow when at least one entry in createdActions is falsy. createActionsForOneClickBindingSaga is dispatched via redux-saga's all() over the SELECT/TOTAL_RECORD payloads; if any single create call returns undefined/null, the whole binding aborts before the widget can be wired up.

Source

Thrown at app/client/src/sagas/OneClickBindingSaga.ts:205

      );

    /*
     *  Select query is created and bound first so table widget can
     *  create columns
     */
    const groupedPayloadList = partition(actionRequestPayloadList, (d) =>
      [QUERY_TYPE.SELECT, QUERY_TYPE.TOTAL_RECORD].includes(d.type),
    );

    for (const payloadList of groupedPayloadList) {
      const createdActions: Action[] = yield all(
        payloadList.map((payload) =>
          call(createActionsForOneClickBindingSaga, omit(payload, "type")),
        ),
      );

      if (createdActions.some((action) => !action)) {
        throw new Error("Unable to create Actions");
      }

      yield put(fetchActions({ applicationId }, []));

      const fetchAction: ReduxAction<unknown> = yield take([
        ReduxActionTypes.FETCH_ACTIONS_SUCCESS,
        ReduxActionErrorTypes.FETCH_ACTIONS_ERROR,
      ]);

      if (fetchAction.type === ReduxActionErrorTypes.FETCH_ACTIONS_ERROR) {
        throw new Error("Unable to fetch newly created actions");
      }

      const actionsToRun = createdActions.filter(
        (action) =>
          action.name === queryNameMap[QUERY_TYPE.SELECT] ||
          action.name === queryNameMap[QUERY_TYPE.TOTAL_RECORD],
      );

View on GitHub (pinned to 8cd9021c24)

Solutions

  1. Open the debugger / network tab and find which createActions call returned an error payload.
  2. Verify the datasource connection (Test button in datasource config) and that the table is reachable.
  3. Check the user's role has create-permission on actions for the application.
  4. Retry the one-click binding after fixing the underlying cause; rename any duplicated query that may be blocking the name.
Defensive patterns

Strategy: try-catch

Validate before calling

// Before one-click binding, confirm the datasource is healthy
if (!(await isDatasourceHealthy(datasourceId))) {
  showAlert('Datasource unavailable; cannot bind', 'error');
  return;
}

Prevention

When it happens

Trigger: Backend createAction rejects one of the generated query definitions (invalid datasource, duplicate name, schema mismatch); a transient 5xx on one of the parallel creates; the user lacks create permission on the workspace.

Common situations: Datasource misconfigured for the selected table; column names contain reserved words; one-click binding attempted on a view with no writeable columns; concurrent binding attempts collide on names.

Related errors


AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12). Data as JSON: /api/errors/15fd3e5947e3bff9. Report an issue: GitHub.