# Grain
URL: /reference/blocks/grain
Type: reference
Description: Grain integration operations.
Keywords: grain, integrations, block, workflow builder
`grain` — Grain integration operations.

Where it appears [#where-it-appears]

The **Grain** block lives in the **Integrations** group of the Workflow Builder. Connect the Grain integration before adding it.

Fields [#fields]

| Field                  | Type                       | Required | Default | Description                                                                                            |
| ---------------------- | -------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------ |
| `resource`             | select                     | Yes      | `grain` | Which Grain resource to work with. Options: `grain`.                                                   |
| `operation`            | select                     | Yes      | —       | Which action to perform on the selected resource.                                                      |
| `hookUrl`              | text (supports references) | Yes      | —       | Hook Url. Use a literal value or \<StepName.field> to reference a value from a previous step.          |
| `viewId`               | text (supports references) | Yes      | —       | View Id. Use a literal value or \<StepName.field> to reference a value from a previous step.           |
| `actions`              | text (supports references) | No       | —       | Actions. Use a literal value or \<StepName.field> to reference a value from a previous step.           |
| `hookId`               | text (supports references) | Yes      | —       | Hook Id. Use a literal value or \<StepName.field> to reference a value from a previous step.           |
| `recordingId`          | text (supports references) | Yes      | —       | Recording Id. Use a literal value or \<StepName.field> to reference a value from a previous step.      |
| `includeHighlights`    | toggle                     | No       | `false` | When on, enables include highlights. Defaults to off.                                                  |
| `includeParticipants`  | toggle                     | No       | `false` | When on, enables include participants. Defaults to off.                                                |
| `includeAiSummary`     | toggle                     | No       | `false` | When on, enables include ai summary. Defaults to off.                                                  |
| `includeCalendarEvent` | toggle                     | No       | `false` | When on, enables include calendar event. Defaults to off.                                              |
| `includeHubspot`       | toggle                     | No       | `false` | When on, enables include hubspot. Defaults to off.                                                     |
| `cursor`               | text (supports references) | No       | —       | Cursor. Use a literal value or \<StepName.field> to reference a value from a previous step.            |
| `beforeDatetime`       | text (supports references) | No       | —       | Before Datetime. Use a literal value or \<StepName.field> to reference a value from a previous step.   |
| `afterDatetime`        | text (supports references) | No       | —       | After Datetime. Use a literal value or \<StepName.field> to reference a value from a previous step.    |
| `participantScope`     | text (supports references) | No       | —       | Participant Scope. Use a literal value or \<StepName.field> to reference a value from a previous step. |
| `titleSearch`          | text (supports references) | No       | —       | Title Search. Use a literal value or \<StepName.field> to reference a value from a previous step.      |
| `teamId`               | text (supports references) | No       | —       | Team Id. Use a literal value or \<StepName.field> to reference a value from a previous step.           |
| `meetingTypeId`        | text (supports references) | No       | —       | Meeting Type Id. Use a literal value or \<StepName.field> to reference a value from a previous step.   |
| `typeFilter`           | text (supports references) | No       | —       | Type Filter. Use a literal value or \<StepName.field> to reference a value from a previous step.       |

Inputs and outputs [#inputs-and-outputs]

Inputs are the configurable fields above. The block produces these outputs:

**Outputs**

Reference an output downstream with `<Grain.field>`.

| Name             | Type    | Description                               |
| ---------------- | ------- | ----------------------------------------- |
| `id`             | string  | Id returned by the operation.             |
| `enabled`        | boolean | Enabled returned by the operation.        |
| `hook_url`       | string  | Hook Url returned by the operation.       |
| `view_id`        | string  | View Id returned by the operation.        |
| `actions`        | array   | Actions returned by the operation.        |
| `inserted_at`    | string  | Inserted At returned by the operation.    |
| `success`        | boolean | Success returned by the operation.        |
| `title`          | string  | Title returned by the operation.          |
| `start_datetime` | string  | Start Datetime returned by the operation. |
| `end_datetime`   | string  | End Datetime returned by the operation.   |
| `duration_ms`    | number  | Duration Ms returned by the operation.    |
| `media_type`     | string  | Media Type returned by the operation.     |
| `source`         | string  | Source returned by the operation.         |
| `url`            | string  | Url returned by the operation.            |
| `thumbnail_url`  | string  | Thumbnail Url returned by the operation.  |
| `tags`           | array   | Tags returned by the operation.           |
| `teams`          | array   | Teams returned by the operation.          |
| `meeting_type`   | json    | Meeting Type returned by the operation.   |
| `highlights`     | array   | Highlights returned by the operation.     |
| `participants`   | array   | Participants returned by the operation.   |
| `ai_summary`     | json    | Ai Summary returned by the operation.     |
| `calendar_event` | json    | Calendar Event returned by the operation. |
| `hubspot`        | json    | Hubspot returned by the operation.        |
| `transcript`     | array   | Transcript returned by the operation.     |
| `hooks`          | array   | Hooks returned by the operation.          |
| `meeting_types`  | array   | Meeting Types returned by the operation.  |
| `recordings`     | array   | Recordings returned by the operation.     |
| `cursor`         | string  | Cursor returned by the operation.         |
| `views`          | array   | Views returned by the operation.          |

Example [#example]

A minimal configuration for this block:

```json
{
  "type": "grain",
  "config": {
    "resource": "grain",
    "operation": "...",
    "hookUrl": "<PreviousStep.field>",
    "viewId": "<PreviousStep.field>",
    "hookId": "<PreviousStep.field>",
    "recordingId": "<PreviousStep.field>",
    "includeHighlights": false,
    "includeParticipants": false,
    "includeAiSummary": false,
    "includeCalendarEvent": false,
    "includeHubspot": false
  }
}
```

Limits and failure modes [#limits-and-failure-modes]

* Requires a connected Grain integration. Calls fail if that integration is disconnected or its authorization has expired.
* Required fields (`resource`, `operation`, `hookUrl`, `viewId`, `hookId`, `recordingId`) must be set, or the block fails validation before it runs.

Related [#related]

* [All workflow blocks](/reference/blocks)
* [Workflow Builder overview](/workflow-builder-overview)
* [Integrations](/integrations)