Skip to content

Commit 38fe16e

Browse files
committed
updated the Airtable app doc
1 parent 4288a96 commit 38fe16e

File tree

5 files changed

+108
-63
lines changed

5 files changed

+108
-63
lines changed

docs/integrations/saas-cloud/airtable.md

Lines changed: 82 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -21,57 +21,86 @@ The Airtable app allows you to:
2121

2222
The Airtable app also offers a pre-built dashboard that enables you to start monitoring your Airtable audit logs right away. The Airtable App for Sumo Logic is especially useful for organizations that must comply with regulatory requirements or maintain a high level of security. With the ability to monitor user activity and track changes in real time, you can quickly identify potential issues and respond to security incidents as they occur.
2323

24-
## Log type
24+
:::info
25+
This app includes [built-in monitors](#airtable-monitors). For details on creating custom monitors, refer to the [Create monitors for Airtable app](#create-monitors-for-airtable-app).
26+
:::
2527

26-
The Sumo Logic app for Airtable consumes Audit logs from your Airtable Enterprise account. Audit Logs track user activity and record changes made to the data in the system.
28+
## Log type
2729

28-
To understand how to access detailed records of changes made to the Airtable Enterprise account, refer to the [Airtable Audit logs](https://support.airtable.com/docs/how-to-access-enterprise-audit-logs#interpreting-audit-logs) documentation. This documentation provides information on the different types of logs that are available, how to access them, and what information they contain.
30+
This app uses Sumo Logic’s [Airtable Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/airtable-source/) to collect audit logs from the Airtable platform.
2931

3032
### Sample log messages
3133

3234
<details>
33-
<summary>Click to view the sample log message</summary>
35+
<summary>Audit Log</summary>
3436

3537
```json
3638
{
37-
"enterpriseaccountid": "entdfgc0BXGp",
38-
"originatinguserid": "usrcdagdfQ1B",
39-
"apiname": "PUBLIC_API",
40-
"apiversion": "0.1",
41-
"actionid": "acfdgdfCht9zR",
42-
"client": {
43-
"ipaddress": "100.108.203.58"
44-
},
45-
"context": {
46-
"workspaceid": null,
47-
"applicationid": null,
48-
"tableid": null
49-
},
50-
"request": {
51-
"requestid": "reqesfgstSbadd",
52-
"starttime": "2023-01-18T10:26:45.281Z",
53-
"modelclassname": "enterpriseAccount",
54-
"modelid": "entmDsrgfc0BXGp",
55-
"action": "getEnterpriseAuditLog",
56-
"parametersjson": "{\"enterpriseAuditLogTaskId\":\"ealtossregfCp47\"}"
57-
},
58-
"response": {
59-
"success": true,
60-
"message": null
61-
}
39+
"id": "01JW9KZH4EY2RTXFYFQPP5BMD5",
40+
"timestamp": "2025-05-27T19:37:15.662Z",
41+
"action": "viewBase",
42+
"payloadVersion": "1.0",
43+
"payload": {
44+
"name": "Shipping Dashboard"
45+
},
46+
"modelId": "appmKiUIu71rbi12W",
47+
"modelType": "base",
48+
"origin": {
49+
"ipAddress": "70.117.49.197",
50+
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0",
51+
"sessionId": "sapormPAliTbK05ob"
52+
},
53+
"context": {
54+
"enterpriseAccountId": "enttyhkKGivTO3Gva",
55+
"actionId": "actjW4n0Tzk7Mv5zh",
56+
"workspaceId": "wspATf36YDtiAli5y",
57+
"baseId": "appmKiZPu71rbi12W"
58+
},
59+
"actor": {
60+
"type": "user",
61+
"user": {
62+
"id": "usrq5x1aZdf567ExT",
63+
"email": "[email protected]",
64+
"name": "John"
65+
}
66+
}
6267
}
6368
```
6469
</details>
6570

6671
### Sample queries
6772

68-
```sql="Active Team Members"
69-
_sourceCategory="Labs/airtable"
70-
| Json "enterprise_account_id", "originating_user_id", "api_name", "api_version", "action_id", "client.ipaddress", "request.requestid", "request.starttime", "request.modelclassname", "request.modelid", "request.action", "response.success" as enterprise_account_id, originating_user_id, api_name, api_version, action_id, ipaddress, requestid, starttime, modelclassname, modelid, action, success nodrop
71-
| where api_name matches "{{api}}" or isNull(api_name)
72-
| where modelclassname matches "{{model}}" or isNull(modelclassname)
73-
| where action matches "{{action}}" or isNull(action)
74-
| count_distinct (action_id)
73+
```sql="Total Audit Logs"
74+
_sourceCategory="Labs/Airtable"
75+
| Json "id", "action", "actor.type", "actor.user.id", "actor.user.name", "actor.user.email", "modelId", "modelType", "context.actionId", "origin.ipAddress" as audit_id, action, actor_type, user_id, user_name, user_email, model_id, model_type, action_id, ip_address nodrop
76+
77+
// global filters
78+
| where action matches "{{action}}"
79+
| where actor_type matches "{{actor_type}}"
80+
| where model_type matches "{{model_type}}"
81+
82+
// panel specific
83+
| count audit_id
84+
| count
85+
```
86+
87+
```sql="Newly Created Accounts/Users"
88+
_sourceCategory="Labs/Airtable"
89+
| Json "id", "action", "payload.type", "payload.user.id", "payload.user.name", "payload.user.email", "payload.name", "payload.email", "payload.previous.user.role", "payload.current.user.role", "payload.filename", "payload.user.permissionLevel", "payload.current.user.permissionLevel", "actor.type", "actor.user.email", "actor.user.name" as audit_id, action, payload_type, payload_user_id, payload_user_name, payload_user_email, payload_name, payload_email, previous_role, new_role, file_name, user_permission_level, current_user_permission_level, actor_type, actor_email, actor_name nodrop
90+
91+
// global filters
92+
| where action matches "{{action}}"
93+
| where actor_type matches "{{actor_type}}"
94+
95+
// panel specific
96+
| where toLowerCase(action) matches "createserviceaccount" or toLowerCase(action) matches "createuser" or toLowerCase(action) matches "provisionuser"
97+
| if (isNull(actor_name), "unknown", actor_name) as actor_name
98+
| if (isNull(actor_email), "unknown", actor_email) as actor_email
99+
| payload_name as user_name
100+
| payload_email as email_id
101+
| count by _messageTime, action, user_name, email_id, actor_type, actor_email, actor_name
102+
| sort by _messageTime
103+
| fields - _count, _messageTime
75104
```
76105

77106
## Collection configuration and app installation
@@ -110,7 +139,23 @@ import ViewDashboards from '../../reuse/apps/view-dashboards.md';
110139

111140
### Overview
112141

113-
The **Airtable - Overview** dashboard provides a high-level view of key metrics related to Airtable platform user activity, audits, and execution. It contains widgets that display data such as total audit logs and failed executions, action distribution, and top-performing actions and users. The dashboard also provides information on activity trends over time and user locations. The Audit Log Summary widget provides a quick overview of all platform activity. Overall, the dashboard helps users quickly understand how the platform is used and identify areas for improvement.<br/><img src={useBaseUrl('img/integrations/saas-cloud/airtable-overview.png')} alt="airtable-overview.png" width="600"/>
142+
The **Airtable - Overview** dashboard provides a high-level view of key metrics related to Airtable platform user activity, audits, and execution. It contains widgets that display data such as total audit logs and failed executions, action distribution, and top-performing actions and users. The dashboard also provides information on activity trends over time and user locations. The Audit Log Summary widget provides a quick overview of all platform activity. Overall, the dashboard helps users quickly understand how the platform is used and identify areas for improvement.<br/><img src={useBaseUrl('https://sumologic-app-data-v2.s3.us-east-1.amazonaws.com/dashboards/Airtable/Airtable+-+Overview.png')} alt="airtable-overview.png"/>
143+
144+
### Security Overview
145+
146+
The **Airtable - Security Overview** dashboard provides a high-level view of user activity related to security on the platform. It includes widgets that show data such as newly created accounts, access tokens, and deleted org units and workspaces. The dashboard also tracks changes in authentication methods, downloaded attachments, role updates, and user activity trends. In addition, it highlights users who have been newly assigned admin roles and any collaborator changes, helping to improve overall security monitoring.<br/><img src={useBaseUrl('https://sumologic-app-data-v2.s3.us-east-1.amazonaws.com/dashboards/Airtable/Airtable+-+Security+Overview.png')} alt="airtable-security-overview.png"/>
147+
148+
## Create monitors for Airtable app
149+
150+
import CreateMonitors from '../../reuse/apps/create-monitors.md';
151+
152+
<CreateMonitors/>
153+
154+
### Airtable monitors
155+
156+
| Name | Description | Trigger Type (Critical / Warning / MissingData) | Alert Condition |
157+
|:--|:--|:--|:--|
158+
| `Airtable - Embargoed Geo Locations of Audit Logs` | This alert is triggered when audit logs originating from sanctioned or embargoed regions are detected. This alert helps maintain adherence to legal and regulatory standards. | Critical | Count > 0 |
114159

115160
## Upgrade/Downgrade the Airtable app (Optional)
116161

package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,22 @@
3131
"@babel/runtime-corejs3": "7.26.10",
3232
"@braintree/sanitize-url": "^6.0.1",
3333
"@docsearch/css": "3.8.2",
34-
"@docusaurus/bundler": "3.8.0",
34+
"@docusaurus/bundler": "^3.8.0",
3535
"@docusaurus/core": "^3.8.0",
36-
"@docusaurus/cssnano-preset": "3.8.0",
36+
"@docusaurus/cssnano-preset": "^3.8.0",
3737
"@docusaurus/faster": "^3.8.0",
38-
"@docusaurus/plugin-client-redirects": "3.8.0",
38+
"@docusaurus/plugin-client-redirects": "^3.8.0",
3939
"@docusaurus/plugin-content-blog": "^3.8.0",
40-
"@docusaurus/plugin-css-cascade-layers": "3.8.0",
41-
"@docusaurus/plugin-debug": "3.8.0",
42-
"@docusaurus/plugin-google-analytics": "3.8.0",
43-
"@docusaurus/plugin-google-gtag": "3.8.0",
44-
"@docusaurus/plugin-google-tag-manager": "3.8.0",
45-
"@docusaurus/plugin-sitemap": "3.8.0",
46-
"@docusaurus/plugin-svgr": "3.8.0",
47-
"@docusaurus/preset-classic": "3.8.0",
48-
"@docusaurus/theme-classic": "3.8.0",
49-
"@docusaurus/theme-search-algolia": "3.8.0",
40+
"@docusaurus/plugin-css-cascade-layers": "^3.8.0",
41+
"@docusaurus/plugin-debug": "^3.8.0",
42+
"@docusaurus/plugin-google-analytics": "^3.8.0",
43+
"@docusaurus/plugin-google-gtag": "^3.8.0",
44+
"@docusaurus/plugin-google-tag-manager": "^3.8.0",
45+
"@docusaurus/plugin-sitemap": "^3.8.0",
46+
"@docusaurus/plugin-svgr": "^3.8.0",
47+
"@docusaurus/preset-classic": "^3.8.0",
48+
"@docusaurus/theme-classic": "^3.8.0",
49+
"@docusaurus/theme-search-algolia": "^3.8.0",
5050
"@emotion/react": "^11.10.5",
5151
"@emotion/styled": "^11.10.5",
5252
"@eslint/eslintrc": "^1.3.3",
72.9 KB
Loading
79.4 KB
Loading

yarn.lock

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1695,7 +1695,7 @@
16951695
fs-extra "^11.1.1"
16961696
tslib "^2.6.0"
16971697

1698-
"@docusaurus/[email protected]":
1698+
"@docusaurus/[email protected]", "@docusaurus/bundler@^3.8.0":
16991699
version "3.8.0"
17001700
resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.8.0.tgz#386f54dca594d81bac6b617c71822e0808d6e2f6"
17011701
integrity sha512-Rq4Z/MSeAHjVzBLirLeMcjLIAQy92pF1OI+2rmt18fSlMARfTGLWRE8Vb+ljQPTOSfJxwDYSzsK6i7XloD2rNA==
@@ -1773,7 +1773,7 @@
17731773
webpack-dev-server "^4.15.2"
17741774
webpack-merge "^6.0.1"
17751775

1776-
"@docusaurus/[email protected]":
1776+
"@docusaurus/[email protected]", "@docusaurus/cssnano-preset@^3.8.0":
17771777
version "3.8.0"
17781778
resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.8.0.tgz#a70f19e2995be2299f5ef9c3da3e5d4d5c14bff2"
17791779
integrity sha512-UJ4hAS2T0R4WNy+phwVff2Q0L5+RXW9cwlH6AEphHR5qw3m/yacfWcSK7ort2pMMbDn8uGrD38BTm4oLkuuNoQ==
@@ -1849,7 +1849,7 @@
18491849
react-helmet-async "npm:@slorber/[email protected]"
18501850
react-loadable "npm:@docusaurus/[email protected]"
18511851

1852-
"@docusaurus/[email protected]":
1852+
"@docusaurus/plugin-client-redirects@^3.8.0":
18531853
version "3.8.0"
18541854
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.8.0.tgz#b4309a998e674632a57f5c76bf7cd9751b8e8c06"
18551855
integrity sha512-J8f5qzAlO61BnG1I91+N5WH1b/lPWqn6ifTxf/Bluz9JVe1bhFNSl0yW03p+Ff3AFOINDy2ofX70al9nOnOLyw==
@@ -1926,7 +1926,7 @@
19261926
tslib "^2.6.0"
19271927
webpack "^5.88.1"
19281928

1929-
"@docusaurus/[email protected]":
1929+
"@docusaurus/[email protected]", "@docusaurus/plugin-css-cascade-layers@^3.8.0":
19301930
version "3.8.0"
19311931
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.8.0.tgz#a0741ae32917a88ce7ce76b6f472495fa4bf576d"
19321932
integrity sha512-/VBTNymPIxQB8oA3ZQ4GFFRYdH4ZxDRRBECxyjRyv486mfUPXfcdk+im4S5mKWa6EK2JzBz95IH/Wu0qQgJ5yQ==
@@ -1936,7 +1936,7 @@
19361936
"@docusaurus/utils-validation" "3.8.0"
19371937
tslib "^2.6.0"
19381938

1939-
"@docusaurus/[email protected]":
1939+
"@docusaurus/[email protected]", "@docusaurus/plugin-debug@^3.8.0":
19401940
version "3.8.0"
19411941
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.8.0.tgz#297c159ae99924e60042426d2ad6ee0d5e9126b3"
19421942
integrity sha512-teonJvJsDB9o2OnG6ifbhblg/PXzZvpUKHFgD8dOL1UJ58u0lk8o0ZOkvaYEBa9nDgqzoWrRk9w+e3qaG2mOhQ==
@@ -1948,7 +1948,7 @@
19481948
react-json-view-lite "^2.3.0"
19491949
tslib "^2.6.0"
19501950

1951-
"@docusaurus/[email protected]":
1951+
"@docusaurus/[email protected]", "@docusaurus/plugin-google-analytics@^3.8.0":
19521952
version "3.8.0"
19531953
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.8.0.tgz#fb97097af331beb13553a384081dc83607539b31"
19541954
integrity sha512-aKKa7Q8+3xRSRESipNvlFgNp3FNPELKhuo48Cg/svQbGNwidSHbZT03JqbW4cBaQnyyVchO1ttk+kJ5VC9Gx0w==
@@ -1958,7 +1958,7 @@
19581958
"@docusaurus/utils-validation" "3.8.0"
19591959
tslib "^2.6.0"
19601960

1961-
"@docusaurus/[email protected]":
1961+
"@docusaurus/[email protected]", "@docusaurus/plugin-google-gtag@^3.8.0":
19621962
version "3.8.0"
19631963
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.8.0.tgz#b5a60006c28ac582859a469fb92e53d383b0a055"
19641964
integrity sha512-ugQYMGF4BjbAW/JIBtVcp+9eZEgT9HRdvdcDudl5rywNPBA0lct+lXMG3r17s02rrhInMpjMahN3Yc9Cb3H5/g==
@@ -1969,7 +1969,7 @@
19691969
"@types/gtag.js" "^0.0.12"
19701970
tslib "^2.6.0"
19711971

1972-
"@docusaurus/[email protected]":
1972+
"@docusaurus/[email protected]", "@docusaurus/plugin-google-tag-manager@^3.8.0":
19731973
version "3.8.0"
19741974
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.8.0.tgz#612aa63e161fb273bf7db2591034c0142951727d"
19751975
integrity sha512-9juRWxbwZD3SV02Jd9QB6yeN7eu+7T4zB0bvJLcVQwi+am51wAxn2CwbdL0YCCX+9OfiXbADE8D8Q65Hbopu/w==
@@ -1979,7 +1979,7 @@
19791979
"@docusaurus/utils-validation" "3.8.0"
19801980
tslib "^2.6.0"
19811981

1982-
"@docusaurus/[email protected]":
1982+
"@docusaurus/[email protected]", "@docusaurus/plugin-sitemap@^3.8.0":
19831983
version "3.8.0"
19841984
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.8.0.tgz#a39e3b5aa2f059aba0052ed11a6b4fbf78ac0dad"
19851985
integrity sha512-fGpOIyJvNiuAb90nSJ2Gfy/hUOaDu6826e5w5UxPmbpCIc7KlBHNAZ5g4L4ZuHhc4hdfq4mzVBsQSnne+8Ze1g==
@@ -1994,7 +1994,7 @@
19941994
sitemap "^7.1.1"
19951995
tslib "^2.6.0"
19961996

1997-
"@docusaurus/[email protected]":
1997+
"@docusaurus/[email protected]", "@docusaurus/plugin-svgr@^3.8.0":
19981998
version "3.8.0"
19991999
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.8.0.tgz#6d2d43f14b32b4bb2dd8dc87a70c6e78754c1e85"
20002000
integrity sha512-kEDyry+4OMz6BWLG/lEqrNsL/w818bywK70N1gytViw4m9iAmoxCUT7Ri9Dgs7xUdzCHJ3OujolEmD88Wy44OA==
@@ -2008,7 +2008,7 @@
20082008
tslib "^2.6.0"
20092009
webpack "^5.88.1"
20102010

2011-
"@docusaurus/[email protected]":
2011+
"@docusaurus/preset-classic@^3.8.0":
20122012
version "3.8.0"
20132013
resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.8.0.tgz#ac8bc17e3b7b443d8a24f2f1da0c0be396950fef"
20142014
integrity sha512-qOu6tQDOWv+rpTlKu+eJATCJVGnABpRCPuqf7LbEaQ1mNY//N/P8cHQwkpAU+aweQfarcZ0XfwCqRHJfjeSV/g==
@@ -2029,7 +2029,7 @@
20292029
"@docusaurus/theme-search-algolia" "3.8.0"
20302030
"@docusaurus/types" "3.8.0"
20312031

2032-
"@docusaurus/[email protected]":
2032+
"@docusaurus/[email protected]", "@docusaurus/theme-classic@^3.8.0":
20332033
version "3.8.0"
20342034
resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.8.0.tgz#6d44fb801b86a7c7af01cda0325af1a3300b3ac2"
20352035
integrity sha512-nQWFiD5ZjoT76OaELt2n33P3WVuuCz8Dt5KFRP2fCBo2r9JCLsp2GJjZpnaG24LZ5/arRjv4VqWKgpK0/YLt7g==
@@ -2079,7 +2079,7 @@
20792079
tslib "^2.6.0"
20802080
utility-types "^3.10.0"
20812081

2082-
"@docusaurus/[email protected]":
2082+
"@docusaurus/[email protected]", "@docusaurus/theme-search-algolia@^3.8.0":
20832083
version "3.8.0"
20842084
resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.8.0.tgz#21c2f18e07a73d13ca3b44fcf0ae9aac33bef60f"
20852085
integrity sha512-GBZ5UOcPgiu6nUw153+0+PNWvFKweSnvKIL6Rp04H9olKb475jfKjAwCCtju5D2xs5qXHvCMvzWOg5o9f6DtuQ==

0 commit comments

Comments
 (0)