SaveTimecardsAction
Creates or updates weekly Timecards for a resource. Provide the Timecard ID to update an existing weekly Timecard, or leave it blank to create a new one. When updating, only the fields you provide are changed; any field you leave blank keeps its existing value (to clear a day, set its hours to 0). Each request represents one resource's hours and notes for a single week, from Monday to Sunday. Returns one result per request indicating whether the Timecard saved, the saved Timecard ID, and any general or per-day errors. Logging time against individual project tasks is not supported by this action.
| Property | Value |
| Label | Save Timecards |
| Category | — |
| Since | Summer 2026 |
| Read-only | No |
| Supports Agents | Yes |
| Supports Flows | No |
| Async Action | No |
| Keywords | timesheet, log time, enter hours |
Request Parameters
| Field | Type | Label | Description | Required |
timecardId | Id | Timecard ID | The ID of the Timecard Header to update. Leave blank to create a new Timecard. Provide an existing Timecard Header ID to update that Timecard instead. | No |
resourceId | Id | Resource ID | The ID of the Contact (resource) the Timecard is recorded for. Required when creating a new Timecard (Timecard ID is blank); leave blank when updating to keep the existing resource. | No |
projectId | Id | Project ID | The ID of the Project the time is logged against. Required when creating a new Timecard (Timecard ID is blank). | No |
assignmentId | Id | Assignment ID | The ID of the Assignment the time is logged against. When creating a new Timecard, provide this to log time against a specific assignment. Leave blank to log time directly against the project. | No |
startDate | Date | Week Start Date | The start date of the week the Timecard covers. Must match the start day of the week configured in the resource's work calendar. Required when creating a new Timecard (Timecard ID is blank); leave blank when updating to keep the existing week. | No |
mondayHours | Decimal | Monday Hours | The number of hours logged on Monday. | No |
tuesdayHours | Decimal | Tuesday Hours | The number of hours logged on Tuesday. | No |
wednesdayHours | Decimal | Wednesday Hours | The number of hours logged on Wednesday. | No |
thursdayHours | Decimal | Thursday Hours | The number of hours logged on Thursday. | No |
fridayHours | Decimal | Friday Hours | The number of hours logged on Friday. | No |
saturdayHours | Decimal | Saturday Hours | The number of hours logged on Saturday. | No |
sundayHours | Decimal | Sunday Hours | The number of hours logged on Sunday. | No |
mondayNotes | String | Monday Notes | The notes entered for Monday. | No |
tuesdayNotes | String | Tuesday Notes | The notes entered for Tuesday. | No |
wednesdayNotes | String | Wednesday Notes | The notes entered for Wednesday. | No |
thursdayNotes | String | Thursday Notes | The notes entered for Thursday. | No |
fridayNotes | String | Friday Notes | The notes entered for Friday. | No |
saturdayNotes | String | Saturday Notes | The notes entered for Saturday. | No |
sundayNotes | String | Sunday Notes | The notes entered for Sunday. | No |
timecardNotes | String | Timecard Notes | The notes entered for the whole Timecard. | No |
additionalFieldsJson | String | Additional Fields | A JSON object of additional field API names and their values to save on the Timecard. For example: {"pse__Additional_Notes__c": "some note", "pse__Custom_Field__c": "value"}. Only fields included in the JSON are updated — omitted fields are left unchanged. To clear a field, include its name with a null value. | No |
Response Parameters
| Field | Type | Label | Description | Required |
timecardId | Id | Timecard ID | The ID of the saved Timecard. Populated in all cases except when creating a new Timecard failed. | No |
successful | Boolean | Successful | True if the Timecard saved successfully; false if it failed. | No |
errors | List<String> | Errors | General validation or DML errors that prevented the save and are not specific to a single day. | No |
mondayErrors | List<String> | Monday Errors | Validation errors specific to the hours or notes logged on Monday. | No |
tuesdayErrors | List<String> | Tuesday Errors | Validation errors specific to the hours or notes logged on Tuesday. | No |
wednesdayErrors | List<String> | Wednesday Errors | Validation errors specific to the hours or notes logged on Wednesday. | No |
thursdayErrors | List<String> | Thursday Errors | Validation errors specific to the hours or notes logged on Thursday. | No |
fridayErrors | List<String> | Friday Errors | Validation errors specific to the hours or notes logged on Friday. | No |
saturdayErrors | List<String> | Saturday Errors | Validation errors specific to the hours or notes logged on Saturday. | No |
sundayErrors | List<String> | Sunday Errors | Validation errors specific to the hours or notes logged on Sunday. | No |
|