Skip to content

Create Form Tool & Get Form Tool#65

Merged
GuyHadas merged 15 commits into
masterfrom
guyhad/feat/create-form-tool
Aug 31, 2025
Merged

Create Form Tool & Get Form Tool#65
GuyHadas merged 15 commits into
masterfrom
guyhad/feat/create-form-tool

Conversation

@GuyHadas
Copy link
Copy Markdown
Collaborator

@GuyHadas GuyHadas commented Aug 27, 2025

Implements 2 out of the 4 planned tools for forms:

Create Form Tool ✅
Get Form Tool ✅
Form Questions Editor ⚪
Update Form Tool ⚪

This also introduces the use of the @mondaydotcomorg/workforms-contracts package which we need because that's where we store all of our types such as the Form type as well as all of our graphql description strings so we don't have to duplicate the description strings here and on the graphql itself. But this is causing a failure presumably because this is an open-sourced repo. Would appreciate helping us figure out how we can achieve this.

https://monday.monday.com/boards/3709356818/pulses/9909975261
https://monday.monday.com/boards/3709356818/pulses/9909975945

- Introduced CreateFormTool to facilitate form creation.
- Added createForm GraphQL mutation to handle form creation requests.
- Updated package.json to include @mondaydotcomorg/workforms-contracts dependency.
- Enhanced GraphQL types to support the new mutation.
- Added comments to clarify the purpose of the WorkForms operations section.
- Introduced createForm mutation for creating new monday forms (API version 2025-10).
- Introduced GetFormTool for fetching forms by token.
- Added getForm GraphQL query to retrieve detailed form information.
- Updated GraphQL types to include GetFormQuery and its variables.
@GuyHadas GuyHadas added the enhancement New feature or request label Aug 27, 2025
@GuyHadas GuyHadas requested review from RomKadria and budziam August 27, 2025 18:14
…ndencies

- Deleted CreateFormTool and GetFormTool as part of the refactor.
- Removed @mondaydotcomorg/workforms-contracts dependency from package.json.
- Updated import paths for GraphQL types to reflect new structure.
- Moved CreateFormTool and GetFormTool imports to the workforms-tools directory.
- Cleaned up import statements to reflect the new structure.
- Updated import paths for CreateFormTool and GetFormTool to reflect their new location in the workforms-tools directory.
- Ensured all relevant tools are correctly exported from the updated structure.
Comment thread packages/agent-toolkit/src/monday-graphql/queries.graphql.ts Outdated
- Added documentation for CreateFormTool and GetFormTool under WorkForms Operations section.
- Enhanced clarity on the toolkit's capabilities for managing forms in monday.com.
- Changed import paths for CreateFormTool and GetFormTool to use the new workforms.graphql file.
- Removed the old queries.graphql file references to streamline the codebase.
@GuyHadas GuyHadas requested a review from budziam August 28, 2025 07:53
Comment thread packages/agent-toolkit/README.md
GuyHadas and others added 5 commits August 28, 2025 16:34
- Updated the description of GetFormTool to provide detailed information on extracting form tokens from URLs.
- Clarified the format of the form URL and the location of the token within it.
- Updated the description of CreateFormTool to provide detailed information on the creation of a new form and associated board.
- Clarified the significance of the returned board_id and formToken for future queries and mutations.
- Included create_form and get_form operations under the WorkForms Operations section in the README.
- Enhanced documentation to reflect the toolkit's capabilities for managing forms in monday.com.
…option

- Added support for fetching a minimal version of the form with core properties through the new getMinimalForm GraphQL query.
- Introduced an optional parameter `includeFullFormDetails` in the GetFormTool schema to toggle between full and minimal form details.
- Updated GraphQL descriptions to clarify the new functionality and its usage.
@GuyHadas GuyHadas requested a review from shaneer August 28, 2025 14:36
- Eliminated the `includeFullFormDetails` parameter from the GetFormTool schema.
- Updated the executeInternal method to always fetch the full form using the getForm query.
- Removed the getMinimalForm query from the workforms.graphql file to streamline the codebase.
import { GraphQLDescriptions } from './workforms.consts';

export const createFormToolSchema = {
destination_workspace_id: z.number().describe(GraphQLDescriptions.form.args.destinationWorkspaceId),
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be of type string, if in the gql its number this should change. I know someone from your team plans to change it to type ID (for all the IDS)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is dependent on the use_template mutation so we copy the exact types they use as well. When they switch to IDs we will too

@GuyHadas GuyHadas merged commit 9d41f20 into master Aug 31, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants