Integration · Field service
Connect Claude & ChatGPT to Fulcrum
Ask your AI how many inspections were completed this week, who changed a record, or to make a PDF report in Fulcrum. It can read forms, records, photos, attachments, projects and members, run read-only SQL queries across your data, create and update records and projects, and see every saved version of a record.
Free plan, no credit card. Takes about a minute.
Try asking
“How many records in the Hydrant Inspection form are complete?”
The AI runs a read-only SQL query against the form's table and returns the count.
“Show records updated in the last 7 days in the Main Street project.”
It lists records filtered by project and updated date, with status and location.
“Who changed this record, and when?”
It lists every saved version of the record, so you can see who changed what and when.
What your AI can do
Forms and records
List forms with their fields, find records by form, project, date or map area, and create, update or delete records.
SQL queries
Run read-only SQL against your data, where each form is a table, to count, filter and summarize records.
Photos, reports and projects
List photos and attachments, generate PDF reports from templates, and list or create projects.
“Make a PDF report of this record with our standard template.”
It finds the form's report templates and generates a PDF report for the record.
“Set this record's status to complete.”
It updates the record with the new status and leaves the other values as they are.
“Which photos were taken for this record?”
It lists the record's photos with their metadata, including location and size.
134 tools for Fulcrum
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
create_authorizations_jsonChanges dataCreate a new authorizations json. Required: authorization. API summary: Create an authorization.create_batch_jsonVisible to othersCreate a new batch json. Required: batch. Has effects visible outside this system. API summary: Create a batch.create_batch_operations_jsonVisible to othersCreate a new operations json for a batch. Required: operations. Has effects visible outside this system. API summary: Add batch operations.create_batch_start_jsonVisible to othersCreate a new start json for a batch. Has effects visible outside this system. API summary: Start Batch.create_change_permissions_jsonDeletesCreate a new change permissions json. Required: change. Destructive action; may require approval.create_changesets_jsonChanges dataCreate a new changesets json. Required: changeset. API summary: Create a changeset.create_choice_lists_jsonChanges dataCreate a new choice lists json. Required: choice list. API summary: Create a choice list.create_classification_sets_jsonChanges dataCreate a new classification sets json. Required: classification set. API summary: Create a classification set.create_documentChanges dataCreate a new document. Required: owners. API summary: Create an attachment.create_forms_jsonChanges dataCreate a new forms json. Required: form. API summary: Create a form.create_groups_jsonChanges dataCreate a new groups json. Required: group. API summary: Create a group.create_layers_jsonChanges dataCreate a new layers json. Required: layer. API summary: Create a layer.create_memberships_jsonChanges dataCreate a new memberships json. Required: membership. API summary: Create a membership.create_photos_jsonChanges dataCreate a new photos json. API summary: Upload a photo.create_projectChanges dataCreate a project with a `name` and optional description.create_queryChanges dataCreate a new query. Required: q. Search queries first to avoid duplicates. API summary: Make a Query POST request.create_recordChanges dataCreate a record in a form: `record` needs `form_id` and can include `form_values` (keyed by field key), status, latitude/longitude, project and assignee.create_reportChanges dataGenerate a PDF report for one record: `report` needs `record_id` and optionally a `template_id`.create_report_templates_jsonChanges dataCreate a new report templates json. Required: report template. API summary: Create a report template.create_signatures_jsonChanges dataCreate a new signatures json. API summary: Upload a signature.create_sketches_jsonChanges dataCreate a new sketches json. API summary: Upload a sketch.create_webhooks_jsonDeletesCreate a new webhooks json. Required: webhook. Destructive action; may require approval. API summary: Create a webhook.create_workflows_jsonChanges dataCreate a new workflows json. Required: workflow. API summary: Create a workflow.delete_a_choice_listMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a choice list.delete_a_classification_setMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a classification set.delete_a_formMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a form.delete_a_groupMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a group.delete_a_layerMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a layer.delete_a_membershipMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a membership.delete_a_projectMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval.delete_a_report_templateMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a report template.delete_a_webhookMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a webhook.delete_a_workflowMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete a workflow.delete_documentDeletesPermanently delete a document by document id. Destructive action; may require approval. API summary: Delete an attachment.delete_projectsMoves moneyPermanently delete a project by project id. Financial or irreversible action; may require approval. API summary: Delete an authorization.delete_recordMoves moneyPermanently delete a record. Pass the record ID in `project_id`. This cannot be undone.download_report_pdfDownload the pdf document for a report. API summary: Get a report file.get_a_batchList projects. Results are paginated. API summary: Get a batch.get_a_changesetList projects. API summary: Get a changeset.get_a_classification_setList projects. API summary: Get a classification set.get_a_groupList projects. Optional filters: associations. API summary: Get a group.get_a_layerList projects. API summary: Get a layer.get_a_membershipList projects. API summary: Get a membership.get_a_report_templateList projects. API summary: Get a report template.get_a_sketch_original_fileList jpgs. API summary: Get a sketch original file.get_a_webhookList projects. API summary: Get a webhook.get_a_workflowList projects. API summary: Get a workflow.get_an_audio_original_fileList mp4s. API summary: Get an audio original file.get_an_audit_logList projects. API summary: Get an audit log.get_audio_metadataList projects. API summary: Get audio metadata.get_audio_status_geojsonGet the current status of a audio by audio id. API summary: Get GeoJSON Audio Track.get_audio_status_gpxGet the current status of a audio by audio id. API summary: Get GPX Audio Track.get_audio_status_jsonGet the current status of a audio by audio id. API summary: Get JSON Audio Track.get_audio_status_kmlGet the current status of a audio by audio id. API summary: Get KML Audio Track.get_choice_listGet one choice list with all its choices. Pass the choice list ID in `project_id`.get_documentGet one document by document id. API summary: Get an attachment.get_formGet one form, including its fields when `schema` is true. Pass the form ID in `project_id`.get_geojson_tracks_for_all_audioList tracks geojsons. Optional filters: type. API summary: Get GeoJSON Tracks for All Audio.get_gpx_tracks_for_all_audioList tracks gpxes. API summary: Get GPX Tracks for All Audio.get_kml_tracks_for_all_audioList tracks kmls. API summary: Get KML Tracks for All Audio.get_photoGet one photo's metadata (location, size, record). Pass the photo ID in `project_id`.get_projectGet one project by `project_id`.get_recordGet one record with all its field values, location and status. Pass the record ID in `project_id`.get_signature_metadataList projects. API summary: Get signature metadata.get_sketch_metadataList projects. API summary: Get sketch metadata.get_video_metadataList projects. API summary: Get video metadata.get_video_status_geojsonGet the current status of a video by video id. API summary: Get GeoJSON Video Track.get_video_status_gpxGet the current status of a video by video id. API summary: Get GPX Video Track.get_video_status_jsonGet the current status of a video by video id. API summary: Get JSON Video Track.get_video_status_kmlGet the current status of a video by video id. API summary: Get KML Video Track.list_attachmentsList file attachments, filtered by `form_id` or `record_id`.list_audio_jsonsList audio jsons. Optional filters: record id, form id, newest first, processed, stored or uploaded. Results are paginated. API summary: Get a list of audio metadata.list_audit_logs_jsonsList audit logs jsons. Optional filters: source, activity, ip, user, updated since or updated before. Results are paginated. API summary: Get a list of audit logs.list_authorizations_jsonsList authorizations jsons. Results are paginated. API summary: Get a list of authorizations.list_batch_jsonsList batch jsons. Optional filters: sort or sort direction. Results are paginated. API summary: Get a list of batches.list_changesets_jsonsList changesets jsons. Results are paginated. API summary: Get a list of changesets.list_choice_listsList choice lists (reusable pick lists used by form fields).list_classification_setsList classification sets (hierarchical pick lists used by form fields).list_form_history_jsonsList history jsons for a form. Optional filters: version. Results are paginated. API summary: Get Form History.list_formsList the organization's forms (apps), optionally filtered by `status`. Use it to find a form ID before working with records.list_group_jsonsList jsons for a group. Results are paginated. API summary: Get Group Resource.list_groups_jsonsList groups jsons. Optional filters: associations. Results are paginated. API summary: Get a list of groups.list_history_jsonsList history jsons. Optional filters: changeset id or deleted form id. API summary: Get the history of a collection of records.list_jpgsList jpgs. API summary: Get a photo original file.list_layers_jsonsList layers jsons. Results are paginated. API summary: Get a list of layers.list_membershipsList organization members, optionally filtered by `form_id` or `project_id`, with their roles.list_mp4sList mp4s. API summary: Get a video original file.list_permissions_jsonsList permissions jsons. Optional filters: type or object id. Results are paginated. API summary: Get Membership Permissions.list_photo_large_jpgsList large jpgs for a photo. API summary: Get a photo large file.list_photo_large_jsonsList large jsons for a photo. API summary: Photo Large Metadata.list_photo_thumbnail_jpgsList thumbnail jpgs for a photo. API summary: Get a photo thumbnail file.list_photo_thumbnail_jsonsList thumbnail jsons for a photo. API summary: Photo Thumbnail Metadata.list_photosList photos, filtered by `form_id` or `record_id`, with their metadata and IDs.list_pngsList pngs. API summary: Get a signature original file.list_projectsList projects with their IDs and names. Paginated.list_projects_2List projects. API summary: Get an authorization.list_record_historyList every saved version of a record by `record_id`, to see who changed what and when.list_recordsList records, filtered by `form_id`, `project_id`, created or updated date ranges, or a map `bounding_box`. Paginated.list_report_templatesList PDF report templates, optionally filtered by `form_id`.list_roles_jsonsList roles jsons. Optional filters: sort or sort direction. Results are paginated. API summary: Get a list of roles.list_signature_thumbnail_jsonsList thumbnail jsons for a signature. API summary: Signature Thumbnail Metadata.list_signature_thumbnail_pngsList thumbnail pngs for a signature. API summary: Get a signature thumbnail file.list_signatures_jsonsList signatures jsons. Optional filters: record id, form id, newest first, processed, stored or uploaded. Results are paginated. API summary: Get a list of signature metadata.list_sketch_large_jpgsList large jpgs for a sketch. API summary: Get a sketch large file.list_sketch_large_jsonsList large jsons for a sketch. API summary: Sketch Large Metadata.list_sketch_thumbnail_jpgsList thumbnail jpgs for a sketch. API summary: Get a sketch thumbnail file.list_sketch_thumbnail_jsonsList thumbnail jsons for a sketch. API summary: Sketch Thumbnail Metadata.list_sketches_jsonsList sketches jsons. Optional filters: record id, form id, newest first, processed, stored or uploaded. Results are paginated. API summary: Get a list of sketch metadata.list_tracks_geojsonsList tracks geojsons. Optional filters: type. API summary: Get GeoJSON Tracks for All Videos.list_tracks_gpxesList tracks gpxes. API summary: Get GPX Tracks for All Videos.list_tracks_jsonsList tracks jsons. API summary: Get JSON Tracks for All Audio.list_tracks_kmlsList tracks kmls. API summary: Get KML Tracks for All Videos.list_usersList the users you have access to.list_video_medium_mp4sList medium mp4s for a video. API summary: Get a video medium file.list_video_small_mp4sList small mp4s for a video. API summary: Get a video small file.list_video_thumbnail_huge_jpgsList thumbnail huge jpgs for a video. API summary: Get Huge Video Thumbnail.list_video_thumbnail_huge_square_jpgsList thumbnail huge square jpgs for a video. API summary: Get Huge Square Video Thumbnail.list_video_thumbnail_large_jpgsList thumbnail large jpgs for a video. API summary: Get Large Video Thumbnail.list_video_thumbnail_large_square_jpgsList thumbnail large square jpgs for a video. API summary: Get Large Square Video Thumbnail.list_video_thumbnail_medium_jpgsList thumbnail medium jpgs for a video. API summary: Get Medium Video Thumbnail.list_video_thumbnail_medium_square_jpgsList thumbnail medium square jpgs for a video. API summary: Get Medium Square Video Thumbnail.list_video_thumbnail_small_jpgsList thumbnail small jpgs for a video. API summary: Get Small Video Thumbnail.list_video_thumbnail_small_square_jpgsList thumbnail small square jpgs for a video. API summary: Get Small Square Video Thumbnail.list_videos_jsonsList videos jsons. Optional filters: record id, form id, newest first, processed, stored or uploaded. Results are paginated. API summary: Get a list of video metadata.list_webhooks_jsonsList webhooks jsons. Results are paginated. API summary: Get a list of webhooks.list_workflows_jsonsList workflows jsons. Results are paginated. API summary: Get a list of workflows.run_queryRun a read-only SQL query `q` against your Fulcrum data (each form is a table), e.g. SELECT * FROM "My Form" WHERE _status = 'complete'. Returns rows as JSON.submit_changeset_jsonVisible to othersClose a changeset (changeset id). Has effects visible outside this system. API summary: Close Changeset.submit_documentVisible to othersFinalize a document. Has effects visible outside this system. API summary: Finalize Attachment.submit_document_allVisible to othersCopy a document. Has effects visible outside this system. API summary: Copy all reference files.update_group_permissionsDeletesCreate a new change permissions json. Required: permission change. Destructive action; may require approval. API summary: Update Group Permissions.update_recordVisible to othersUpdate a record: pass the record ID in `project_id` and the changed `form_values`, status, location or assignee in `record`.upload_audio_jsonChanges dataUpload a audio. API summary: Upload audio.upload_video_jsonChanges dataUpload a video.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose Fulcrum from the app list.
- 2
Paste your key
Paste your Fulcrum API address and an API token. Create the API token for your organisation in Fulcrum's settings. Pick the address for your data region: https://api.fulcrumapp.com/api (US), https://api.fulcrumapp-eu.com/api (EU), https://api.fulcrumapp-ca.com/api (Canada) or https://api.fulcrumapp-au.com/api (Australia).
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in Fulcrum?
The AI can read forms, records, record history, photos, attachments, projects, choice lists, classification sets, report templates, members and users, and run read-only SQL queries. It can create and update records, create projects, generate PDF reports and delete records.
Does the AI see my Fulcrum credentials?
No. Your Fulcrum API token is encrypted at rest and never shown to the AI. After you save it, it is not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start read-only with lists and SQL queries. Updating a record changes field data, and deleting a record is permanent, so those can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own Fulcrum account.
Do I need the Fulcrum Developer Pack?
HeyMyApps uses Fulcrum's API, which is part of Fulcrum's Developer Pack. The Developer Pack is an add-on that is included on some Fulcrum plans. Check with Fulcrum whether your plan includes it before you create the API token.
Let your AI work in Fulcrum today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Fulcrum freeHeyMyApps is not affiliated with Fulcrum. Product names are trademarks of their owners.






