Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.
Many groups keep a list of grants to apply for, with deadlines, somewhere outside Scoutworks. This recipe keeps that list on a Scoutworks task board instead, where the rest of the team can see it. A script or bot adds each grant as a task and moves it between columns as the application progresses.It takes about ten minutes.
In Scoutworks, open Tasks and create a board called Grants. Give it columns for each stage, for example To apply, Applied and Awarded. Make Awarded the done column: a task in the done column counts as complete. Add labels if they help, for example Capital and Activities.
A group admin creates a key in Settings → Integrations → API keys with the scopes tasks:read and tasks:write. Tasks the key adds show that admin as their creator. See Authentication.
Add a task with a title, a due date and, if you like, a priority, notes and labels. Leave out columnId and the task goes into the board’s first column.
curl -X POST https://api.scoutworks.app/api/v1/tasks \ -H "Authorization: Bearer $SCOUTWORKS_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: grant-community-fund-2027" \ -d '{ "boardId": "PASTE_BOARD_ID", "title": "Community fund: new tents", "dueDate": "2027-01-31T17:00:00Z", "priority": "high", "description": "£2,500 for six patrol tents. Apply online." }'
Send an Idempotency-Key that is unique to the grant, for example its name and year. If the request times out and your script sends it again, Scoutworks answers with the task it already added instead of adding a second one.
A bot that checks often can pass updatedSince to read only what changed. See Pagination.The API never returns a task’s description, because it is free text. You can read it in Scoutworks.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Scoutworks API","description":"Get your Scout group's members, events, badges and waiting list into Google Sheets, Excel, n8n, Zapier or your own code.","colors":{"primary":"#1C7BBB","light":"#2090DC","dark":"#1C7BBB"},"logo":{"light":"https://mintcdn.com/scoutworks/yD_ZcF595ssc2Cpq/logo/mark.svg?fit=max\u0026auto=format\u0026n=yD_ZcF595ssc2Cpq\u0026q=85\u0026s=900a57f22621f3b46d9fa66c763817c2","dark":"https://mintcdn.com/scoutworks/yD_ZcF595ssc2Cpq/logo/mark.svg?fit=max\u0026auto=format\u0026n=yD_ZcF595ssc2Cpq\u0026q=85\u0026s=900a57f22621f3b46d9fa66c763817c2","href":"https://developers.scoutworks.app"},"favicon":"https://mintcdn.com/scoutworks/yD_ZcF595ssc2Cpq/favicon.svg?fit=max\u0026auto=format\u0026n=yD_ZcF595ssc2Cpq\u0026q=85\u0026s=0ffe19b93ab8c52db068138333add7f9","api":{"playground":{"display":"interactive","proxy":false},"examples":{"defaults":"required","languages":["curl","python","javascript"]}},"navbar":{"links":[{"href":"https://scoutworks.app","label":"Scoutworks"}],"primary":{"type":"button","label":"Open Scoutworks","href":"https://my.scoutworks.app"}},"footer":{"links":[{"header":"Scoutworks","items":[{"label":"Home","href":"https://scoutworks.app"},{"label":"Help centre","href":"https://scoutworks.app/kb"},{"label":"Contact us","href":"https://scoutworks.app/contact"}]},{"header":"Legal","items":[{"label":"Terms","href":"https://scoutworks.app/terms"},{"label":"Privacy","href":"https://scoutworks.app/privacy"}]}]},"seo":{"indexing":"navigable"},"banner":{"content":"The Scoutworks API is in **beta**. Try it now with the [sandbox key](/guides/sandbox), or [ask to join the beta](https://scoutworks.app/contact) to use it with your own group.","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"scoutworks","hasAudioNarration":false,"actualSubdomain":"scoutworks","customDomains":["developers.scoutworks.app"],"gitSource":{"type":"github","owner":"scoutstuff","repo":"scoutworks","deployBranch":"developers-live","contentDirectory":"developers","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aec503f853e3bed8b0122dd","collectionId":"608fdf4d-6fa2-4a88-ac48-d71c02467320","liveDeploymentHistoryId":"6aec503f853e3bed8b0122dd","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aedd7a9ad97e8452b204f91","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Guides","count":32},{"language":"default","tag":"API reference","count":15},{"language":"default","tag":"Recipes for leaders","count":10},{"language":"default","tag":"Recipes by tool","count":9},{"language":"default","tag":"How the API works","count":7},{"language":"default","tag":"Tasks","count":4},{"language":"default","tag":"Start here","count":3},{"language":"default","tag":"Tools","count":3},{"language":"default","tag":"Changelog","count":2},{"language":"default","tag":"Badges","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"recipes/grants-tracker","slug":"/recipes/grants-tracker","pageMetadata":{"title":"Grants and funding tracker","description":"Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.","href":"/recipes/grants-tracker"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Many groups keep a list of grants to apply for, with deadlines, somewhere outside Scoutworks. This recipe keeps that list on a Scoutworks `,_jsx(_components.strong,{children:`task board`}),` instead, where the rest of the team can see it. A script or bot adds each grant as a task and moves it between columns as the application progresses.`]}),`\n`,_jsx(_components.p,{children:`It takes about ten minutes.`}),`\n`,_jsx(Heading,{level:`2`,id:`1-make-the-board`,children:`1. Make the board`}),`\n`,_jsxs(_components.p,{children:[`In Scoutworks, open `,_jsx(_components.strong,{children:`Tasks`}),` and create a board called `,_jsx(_components.strong,{children:`Grants`}),`. Give it columns for each stage, for example `,_jsx(_components.strong,{children:`To apply`}),`, `,_jsx(_components.strong,{children:`Applied`}),` and `,_jsx(_components.strong,{children:`Awarded`}),`. Make `,_jsx(_components.strong,{children:`Awarded`}),` the done column: a task in the done column counts as complete. Add labels if they help, for example `,_jsx(_components.strong,{children:`Capital`}),` and `,_jsx(_components.strong,{children:`Activities`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`2-create-a-key`,children:`2. Create a key`}),`\n`,_jsxs(_components.p,{children:[`A group admin creates a key in `,_jsx(_components.strong,{children:`Settings → Integrations → API keys`}),` with the scopes `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`tasks:read`})}),` and `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`tasks:write`})}),`. Tasks the key adds show that admin as their creator. See `,_jsx(_components.a,{href:`/guides/authentication`,children:`Authentication`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`3-find-the-board’s-ids`,children:`3. Find the board’s ids`}),`\n`,_jsx(_components.p,{children:`The script needs the board’s id, and the ids of its columns and labels. One request lists them:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.scoutworks.app/api/v1/task-boards`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SCOUTWORKS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Each board has `,_jsx(_components.code,{children:`columns`}),` left to right, with `,_jsx(_components.code,{children:`done: true`}),` on the done column, and `,_jsx(_components.code,{children:`labels`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`4-add-a-grant`,children:`4. Add a grant`}),`\n`,_jsxs(_components.p,{children:[`Add a task with a title, a due date and, if you like, a priority, notes and labels. Leave out `,_jsx(_components.code,{children:`columnId`}),` and the task goes into the board’s first column.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.scoutworks.app/api/v1/tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SCOUTWORKS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Idempotency-Key: grant-community-fund-2027\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"boardId\": \"PASTE_BOARD_ID\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"title\": \"Community fund: new tents\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"dueDate\": \"2027-01-31T17:00:00Z\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"priority\": \"high\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"£2,500 for six patrol tents. Apply online.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Send an `,_jsx(_components.code,{children:`Idempotency-Key`}),` that is unique to the grant, for example its name and year. If the request times out and your script sends it again, Scoutworks answers with the task it already added instead of adding a second one.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`5-move-it-along`,children:`5. Move it along`}),`\n`,_jsx(_components.p,{children:`When you apply, move the task to the next column. When the money arrives, move it to the done column and it is marked complete.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PATCH`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.scoutworks.app/api/v1/tasks/PASTE_TASK_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SCOUTWORKS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"columnId\": \"PASTE_COLUMN_ID\" }'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Send only the fields you want to change. `,_jsx(_components.code,{children:`labelIds`}),` replaces the task’s labels, and `,_jsx(_components.code,{children:`\"dueDate\": null`}),` clears the due date.`]}),`\n`,_jsx(Heading,{level:`2`,id:`6-read-it-back`,children:`6. Read it back`}),`\n`,_jsx(_components.p,{children:`List the board’s tasks to see where every grant stands:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.scoutworks.app/api/v1/tasks?boardId=PASTE_BOARD_ID\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SCOUTWORKS_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`A bot that checks often can pass `,_jsx(_components.code,{children:`updatedSince`}),` to read only what changed. See `,_jsx(_components.a,{href:`/guides/pagination`,children:`Pagination`}),`.`]}),`\n`,_jsx(_components.p,{children:`The API never returns a task’s description, because it is free text. You can read it in Scoutworks.`}),`\n`,_jsx(Heading,{level:`2`,id:`if-something-goes-wrong`,children:`If something goes wrong`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`402 subscription_required`})}),`: the group’s subscription has lapsed. The key can still read, but not change anything.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`404 not_found`})}),` for a board: no board with that id in your group, or it was deleted. A key reaches every board in the group, restricted ones included.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`400 invalid_request`})}),` on the trustee duties board: a trustee duty needs a `,_jsx(_components.code,{children:`dueDate`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`400 invalid_request`})}),` for a label: the label is not on the task’s board.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/guides/errors`,children:`Errors`}),` for every code.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Grants and funding tracker","description":"Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.","href":"/recipes/grants-tracker"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Make the board","slug":"1-make-the-board","depth":2,"children":[]},{"title":"2. Create a key","slug":"2-create-a-key","depth":2,"children":[]},{"title":"3. Find the board’s ids","slug":"3-find-the-board’s-ids","depth":2,"children":[]},{"title":"4. Add a grant","slug":"4-add-a-grant","depth":2,"children":[]},{"title":"5. Move it along","slug":"5-move-it-along","depth":2,"children":[]},{"title":"6. Read it back","slug":"6-read-it-back","depth":2,"children":[]},{"title":"If something goes wrong","slug":"if-something-goes-wrong","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"scoutworks","siteName":"Scoutworks API","title":"Grants and funding tracker - Scoutworks API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T10:23:04.351Z","originalFileLocation":"recipes/grants-tracker.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Scoutworks API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Grants and funding tracker - Scoutworks API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Scoutworks API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.scoutworks.app/recipes/grants-tracker\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://scoutworks.mintlify.site/_mintlify/api/og/v2?division=Recipes+for+leaders\u0026amp;title=Grants+and+funding+tracker\u0026amp;description=Keep+a+board+of+grant+applications+in+Scoutworks+up+to+date+from+a+script+or+a+bot%3A+add+each+new+grant+as+a+task%2C+then+move+it+along+as+it+progresses.\u0026amp;theme=49bb71f321e1b2e5e7e9129a\u0026amp;signature=8ea606ca5ca4e889efd79b565a4ee4ab17b4d3d730d552962e15d95b9b9db966\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Grants and funding tracker - Scoutworks API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://scoutworks.mintlify.site/_mintlify/api/og/v2?division=Recipes+for+leaders\u0026amp;title=Grants+and+funding+tracker\u0026amp;description=Keep+a+board+of+grant+applications+in+Scoutworks+up+to+date+from+a+script+or+a+bot%3A+add+each+new+grant+as+a+task%2C+then+move+it+along+as+it+progresses.\u0026amp;theme=49bb71f321e1b2e5e7e9129a\u0026amp;signature=8ea606ca5ca4e889efd79b565a4ee4ab17b4d3d730d552962e15d95b9b9db966\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/scoutworks/e7yvDlbdsVMr4AkD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Scoutworks API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1C7BBB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.scoutworks.app/recipes/grants-tracker\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/recipes/grants-tracker.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.scoutworks.app/#organization\",\"name\":\"Scoutworks API\",\"url\":\"https://developers.scoutworks.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/scoutworks/yD_ZcF595ssc2Cpq/logo/mark.svg?fit=max\u0026auto=format\u0026n=yD_ZcF595ssc2Cpq\u0026q=85\u0026s=900a57f22621f3b46d9fa66c763817c2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.scoutworks.app#website\",\"name\":\"Scoutworks API\",\"url\":\"https://developers.scoutworks.app\",\"publisher\":{\"@id\":\"https://developers.scoutworks.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.scoutworks.app/recipes/grants-tracker#webpage\",\"url\":\"https://developers.scoutworks.app/recipes/grants-tracker\",\"name\":\"Grants and funding tracker\",\"description\":\"Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.\",\"dateModified\":\"2026-11-06T10:23:04.351Z\",\"isPartOf\":{\"@id\":\"https://developers.scoutworks.app#website\"},\"breadcrumb\":{\"@id\":\"https://developers.scoutworks.app/recipes/grants-tracker#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.scoutworks.app/recipes/grants-tracker#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Recipes for leaders\",\"item\":\"https://developers.scoutworks.app/recipes/calendar-feed\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Grants and funding tracker\",\"item\":\"https://developers.scoutworks.app/recipes/grants-tracker\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.scoutworks.app/recipes/grants-tracker#article\",\"headline\":\"Grants and funding tracker\",\"name\":\"Grants and funding tracker\",\"description\":\"Keep a board of grant applications in Scoutworks up to date from a script or a bot: add each new grant as a task, then move it along as it progresses.\",\"url\":\"https://developers.scoutworks.app/recipes/grants-tracker\",\"mainEntityOfPage\":{\"@id\":\"https://developers.scoutworks.app/recipes/grants-tracker#webpage\"},\"dateModified\":\"2026-11-06T10:23:04.351Z\",\"publisher\":{\"@id\":\"https://developers.scoutworks.app/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.scoutworks.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Scoutworks API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Scoutworks API","nav":{"global":null,"tabs":[{"tab":"Guides","groups":[{"group":"Start here","pages":[{"title":"Your group’s data, where you need it","sidebarTitle":"Home","mode":"wide","href":""},{"title":"Getting started","href":"/guides/quickstart"},{"title":"Sandbox key","href":"/guides/sandbox"}]},{"group":"Recipes for leaders","pages":[{"title":"Events in your calendar","href":"/recipes/calendar-feed"},{"title":"A weekly numbers email","href":"/recipes/weekly-numbers"},{"title":"Badges to order","href":"/recipes/badges-to-order"},{"title":"Who is due to move on","href":"/recipes/moving-on"},{"title":"Who is going on trips and camps","href":"/recipes/trips-and-camps"},{"title":"Attendance for a term","href":"/recipes/attendance-report"},{"title":"Birthdays this month","href":"/recipes/birthdays"},{"title":"Parent contact list","description":"One list of parents and carers for each section, with brothers and sisters merged, ready to paste into the Bcc box of an email.","href":"/recipes/parent-contacts"},{"title":"Grants and funding tracker","href":"/recipes/grants-tracker"},{"title":"District totals in Google Sheets","description":"Every group in your district with its members, waiting list and growth, refreshed each morning. For district and area admins.","href":"/recipes/district-totals"}]},{"group":"Recipes by tool","pages":[{"title":"Your members in Google Sheets","href":"/recipes/google-sheets"},{"title":"Events in Excel","href":"/recipes/excel"},{"title":"n8n","href":"/recipes/n8n"},{"title":"Zapier","href":"/recipes/zapier"},{"title":"Power Automate and Teams","href":"/recipes/power-automate"},{"title":"Python","href":"/recipes/python"},{"title":"JavaScript and Node.js","href":"/recipes/javascript"},{"title":"PowerShell","href":"/recipes/powershell"},{"title":"curl","href":"/recipes/curl"}]},{"group":"How the API works","pages":[{"title":"Keys and scopes","href":"/guides/authentication"},{"title":"Keys for districts and above","href":"/guides/districts"},{"title":"Data definitions","href":"/guides/data-definitions"},{"title":"Pagination","href":"/guides/pagination"},{"title":"Errors","href":"/guides/errors"},{"title":"Rate limits","href":"/guides/rate-limits"},{"title":"Versioning and changes","href":"/guides/versioning"}]},{"group":"Tools","pages":[{"title":"Connect an AI assistant to your data","href":"/tools/mcp-server"},{"title":"Use these docs with AI","href":"/tools/ai-assistants"},{"title":"Postman, Bruno and Insomnia","href":"/tools/postman-and-bruno"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Grants and funding tracker - Scoutworks API","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["10e4515597"],"chunks":["BannerMarkdown-BcDCEkh6.js","dist-CwjSCXIK.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-eKJ4rcii.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}