> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Intercom: List Activity Logs

> List the admin activity logs of an Intercom workspace for a date range. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

List the admin activity logs of an Intercom workspace for a date range.

> [!NOTE]
>
> Tool ID: `intercom_list_activity_logs`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'intercom_list_activity_logs',
  {
    "created_at_after": "cursor_123"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute intercom_list_activity_logs --input '{
  "created_at_after": "cursor_123"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "type": "example",
    "pages": {
      "type": "pages",
      "page": 123,
      "next": {
        "per_page": 123,
        "starting_after": "cursor_123"
      }
    },
    "activity_logs": [
      {
        "id": "id_123",
        "performed_by": {
          "type": "example",
          "id": "id_123",
          "email": "jane.doe@example.com"
        },
        "metadata": {
          "sign_in_method": "example",
          "external_id": "external_123",
          "away_mode": false
        }
      }
    ]
  }
}
```

Use `deepline describe intercom_list_activity_logs --json` for the latest machine-readable contract.

## Input reference

You can get a log of activities by all admins in an app.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.created_at_after` | `string` | Yes | — | The start date that you request data for. It must be formatted as a UNIX timestamp. |
| `payload.created_at_before` | `string` | No | — | The end date that you request data for. It must be formatted as a UNIX timestamp. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "You can get a log of activities by all admins in an app.",
    "properties": {
      "created_at_after": {
        "type": "string",
        "description": "The start date that you request data for. It must be formatted as a UNIX timestamp."
      },
      "created_at_before": {
        "type": "string",
        "description": "The end date that you request data for. It must be formatted as a UNIX timestamp."
      }
    },
    "required": [
      "created_at_after"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | A paginated list of activity logs. |
| `result.data.type` | `string` | No | — | String representing the object's type. Always has the value `activity_log.list`. |
| `result.data.pages` | `object \| null` | No | — | Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed. |
| `result.data.pages.type` | `"pages"` | No | — | the type of object `pages`. Allowed: `pages`. |
| `result.data.pages.page` | `integer` | No | — | The current page |
| `result.data.pages.next` | `object \| null` | No | — | — |
| `result.data.pages.next.per_page` | `integer` | No | — | The number of results to fetch per page. |
| `result.data.pages.next.starting_after` | `string \| null` | No | — | The cursor to use in the next request to get the next page of results. |
| `result.data.pages.per_page` | `integer` | No | — | Number of results per page |
| `result.data.pages.total_pages` | `integer` | No | — | Total number of pages |
| `result.data.activity_logs` | `array` | No | — | An array of activity logs |
| `result.data.activity_logs[].id` | `string` | No | — | The id representing the activity. |
| `result.data.activity_logs[].performed_by` | `object` | No | — | Details about the Admin involved in the activity. |
| `result.data.activity_logs[].performed_by.type` | `string` | No | — | String representing the object's type. Always has the value `admin`. |
| `result.data.activity_logs[].performed_by.id` | `string` | No | — | The id representing the admin. |
| `result.data.activity_logs[].performed_by.email` | `string` | No | — | The email of the admin. |
| `result.data.activity_logs[].performed_by.ip` | `string` | No | — | The IP address of the admin. |
| `result.data.activity_logs[].metadata` | `object \| null` | No | — | Additional data provided about Admin activity. |
| `result.data.activity_logs[].metadata.sign_in_method` | `string \| null` | No | — | The way the admin signed in. |
| `result.data.activity_logs[].metadata.external_id` | `string \| null` | No | — | The unique identifier for the contact which is provided by the Client. |
| `result.data.activity_logs[].metadata.away_mode` | `boolean \| null` | No | — | The away mode status which is set to true when away and false when returned. |
| `result.data.activity_logs[].metadata.away_status_reason` | `string \| null` | No | — | The reason the Admin is away. |
| `result.data.activity_logs[].metadata.reassign_conversations` | `boolean \| null` | No | — | Indicates if conversations should be reassigned while an Admin is away. |
| `result.data.activity_logs[].metadata.source` | `string \| null` | No | — | The action that initiated the status change. |
| `result.data.activity_logs[].metadata.auto_changed` | `string \| null` | No | — | Indicates if the status was changed automatically or manually. |
| `result.data.activity_logs[].metadata.update_by` | `integer \| null` | No | — | The ID of the Admin who initiated the activity. |
| `result.data.activity_logs[].metadata.update_by_name` | `string \| null` | No | — | The name of the Admin who initiated the activity. |
| `result.data.activity_logs[].metadata.conversation_assignment_limit` | `integer \| null` | No | — | The conversation assignment limit value for an admin. |
| `result.data.activity_logs[].metadata.ticket_assignment_limit` | `integer \| null` | No | — | The ticket assignment limit value for an admin. |
| `result.data.activity_logs[].metadata.team` | `object \| null` | No | — | Details about the team whose assignment limit was changed. |
| `result.data.activity_logs[].metadata.team.id` | `integer` | No | — | The ID of the team. |
| `result.data.activity_logs[].metadata.team.name` | `string` | No | — | The name of the team. |
| `result.data.activity_logs[].metadata.team_assignment_limit` | `integer \| null` | No | — | The team assignment limit value (null if limit was removed). |
| `result.data.activity_logs[].metadata.enabled` | `boolean \| null` | No | — | Indicates if the setting is enabled or disabled. |
| `result.data.activity_logs[].metadata.mode` | `string \| null` | No | — | The mode of the setting (e.g., when\_away\_only, when\_away\_and\_reassign). |
| `result.data.activity_logs[].metadata.consent_id` | `integer \| null` | No | — | The ID of the impersonation consent. |
| `result.data.activity_logs[].metadata.expired_at` | `string \| null` | No | — | The timestamp when the impersonation consent expires. Format: `date-time`. |
| `result.data.activity_logs[].metadata.before` | `object \| null` | No | — | The state of settings or values before the change. Structure varies by activity type. |
| `result.data.activity_logs[].metadata.after` | `object \| null` | No | — | The state of settings or values after the change. Structure varies by activity type. |
| `result.data.activity_logs[].created_at` | `integer` | No | — | The time the activity was created. Format: `date-time`. |
| `result.data.activity_logs[].activity_type` | `"admin_conversation_assignment_limit_change" \| "admin_ticket_assignment_limit_change" \| "admin_avatar_change" \| "admin_away_mode_change" \| "admin_deletion" \| "admin_deprovisioned" \| "admin_impersonation_end" \| "admin_impersonation_start" \| "admin_impersonation_consent_approved" \| "admin_impersonation_consent_revoked" \| "admin_invite_change" \| "admin_invite_creation" \| "admin_invite_deletion" \| "admin_login_failure" \| "admin_login_success" \| "admin_logout" \| "admin_password_reset_request" \| "admin_password_reset_success" \| "admin_permission_change" \| "admin_provisioned" \| "admin_two_factor_auth_change" \| "admin_unauthorized_sign_in_method" \| "app_admin_join" \| "app_authentication_method_change" \| "app_data_deletion" \| "app_data_export" \| "app_google_sso_domain_change" \| "app_identity_verification_change" \| "app_name_change" \| "app_outbound_address_change" \| "app_package_installation" \| "app_package_token_regeneration" \| "app_package_uninstallation" \| "app_team_creation" \| "app_team_deletion" \| "app_team_membership_modification" \| "app_timezone_change" \| "app_webhook_creation" \| "app_webhook_deletion" \| "articles_in_messenger_enabled_change" \| "automatic_away_mode_setting_change" \| "bulk_delete" \| "bulk_export" \| "campaign_deletion" \| "campaign_state_change" \| "conversation_deletion_schedule_creation" \| "conversation_deletion_schedule_deletion" \| "conversation_deletion_schedule_state_change" \| "conversation_deletion_schedule_update" \| "conversation_part_deletion" \| "conversation_pdf_export" \| "conversation_topic_change" \| "conversation_topic_creation" \| "conversation_topic_deletion" \| "content_redaction_rule_creation" \| "content_redaction_rule_deletion" \| "content_redaction_rule_update" \| "csv_import_completion" \| "csv_import_creation" \| "custom_authentication_token_creation" \| "help_center_settings_change" \| "inbound_conversations_change" \| "inbox_access_change" \| "macro_creation" \| "macro_deletion" \| "macro_update" \| "macro_usage_export" \| "malicious_domains_setting_change" \| "message_deletion" \| "message_state_change" \| "messenger_api_secret_creation" \| "messenger_api_secret_deletion" \| "messenger_look_and_feel_change" \| "messenger_search_required_change" \| "messenger_spaces_change" \| "oauth_token_revocation" \| "office_hours_change" \| "role_change" \| "role_creation" \| "role_deletion" \| "ruleset_activation_title_preview" \| "ruleset_creation" \| "ruleset_deletion" \| "search_browse_enabled_change" \| "search_browse_required_change" \| "seat_change" \| "seat_revoke" \| "security_settings_change" \| "series_creation" \| "series_deletion" \| "series_settings_update" \| "series_status_change" \| "series_update" \| "strip_inbound_email_links_change" \| "temporary_expectation_change" \| "team_assignment_limit_change" \| "trusted_domains_setting_change" \| "unassign_unsnoozed_at_capacity_setting_change" \| "unassign_unsnoozed_when_away_setting_change" \| "upfront_email_collection_change" \| "allowed_attachment_filetypes_setting_change" \| "attach_uploads_inline_setting_change" \| "teammate_gifs_setting_change" \| "user_camera_attachments_setting_change" \| "user_conversation_attachments_setting_change" \| "user_file_attachments_setting_change" \| "user_gifs_setting_change" \| "user_media_attachments_setting_change" \| "user_voice_notes_setting_change" \| "welcome_message_change" \| "workspace_deletion_request" \| "hide_csat_from_agents_setting_change"` | No | — | Allowed: `admin_conversation_assignment_limit_change`, `admin_ticket_assignment_limit_change`, `admin_avatar_change`, `admin_away_mode_change`, `admin_deletion`, `admin_deprovisioned`, `admin_impersonation_end`, `admin_impersonation_start`, `admin_impersonation_consent_approved`, `admin_impersonation_consent_revoked`, `admin_invite_change`, `admin_invite_creation`, `admin_invite_deletion`, `admin_login_failure`, `admin_login_success`, `admin_logout`, `admin_password_reset_request`, See the live schema for the complete constraint. |
| `result.data.activity_logs[].activity_description` | `string` | No | — | A sentence or two describing the activity. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe intercom_list_activity_logs --json`.

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Intercom provider guide](https://deepline.com/docs/providers/intercom/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.