Skip to content

Commit 3c91526

Browse files
committed
Updated the Linkedin docs and Readme with its mention.
1 parent ffcda5c commit 3c91526

File tree

2 files changed

+66
-32
lines changed

2 files changed

+66
-32
lines changed

website/docs/connect-data/reference/README.md

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -273,27 +273,36 @@ Appsmith also supports integration with various Software as a Service (SaaS) pla
273273

274274
<div className="columnGrid column-two" align="center">
275275
<div className="containerCol">
276-
<a href="/connect-data/reference/mixpanel">
277-
<img className="containerImage referenceIcon" src="https://assets.appsmith.com/mixpanel.png" alt="Mixpanel"/>
276+
<a href="/connect-data/reference/linkedin">
277+
<img className="containerImage referenceIcon" src="https://assets.appsmith.com/linkedin.png" alt="LinkedIn"/>
278278
</a>
279279
</div>
280-
<b><a href="/connect-data/reference/mixpanel">Mixpanel</a></b>
280+
<b><a href="/connect-data/reference/linkedin">LinkedIn</a></b>
281281
</div>
282282

283283
<div className="columnGrid column-three" align="center">
284284
<div className="containerCol">
285-
<a href="/connect-data/reference/salesforce">
286-
<img className="containerImage referenceIcon" src="https://assets.appsmith.com/salesforce-logo.svg" alt="Salesforce"/>
285+
<a href="/connect-data/reference/mixpanel">
286+
<img className="containerImage referenceIcon" src="https://assets.appsmith.com/mixpanel.png" alt="Mixpanel"/>
287287
</a>
288288
</div>
289-
<b><a href="/connect-data/reference/salesforce">Salesforce</a></b>
289+
<b><a href="/connect-data/reference/mixpanel">Mixpanel</a></b>
290290
</div>
291291

292292
</div>
293293

294294
<div className="containerGrid">
295295

296296
<div className="columnGrid column-one" align="center">
297+
<div className="containerCol">
298+
<a href="/connect-data/reference/salesforce">
299+
<img className="containerImage referenceIcon" src="https://assets.appsmith.com/salesforce-logo.svg" alt="Salesforce"/>
300+
</a>
301+
</div>
302+
<b><a href="/connect-data/reference/salesforce">Salesforce</a></b>
303+
</div>
304+
305+
<div className="columnGrid column-two" align="center">
297306
<div className="containerCol">
298307
<a href="/connect-data/reference/slack">
299308
<img className="containerImage referenceIcon" src="https://assets.appsmith.com/slack.png" alt="Slack"/>
@@ -302,7 +311,7 @@ Appsmith also supports integration with various Software as a Service (SaaS) pla
302311
<b><a href="/connect-data/reference/slack">Slack</a></b>
303312
</div>
304313

305-
<div className="columnGrid column-two" align="center">
314+
<div className="columnGrid column-three" align="center">
306315
<div className="containerCol">
307316
<a href="/connect-data/reference/twilio">
308317
<img className="containerImage referenceIcon" src="https://assets.appsmith.com/twilio.svg" alt="Twilio"/>
@@ -311,7 +320,11 @@ Appsmith also supports integration with various Software as a Service (SaaS) pla
311320
<b><a href="/connect-data/reference/twilio">Twilio</a></b>
312321
</div>
313322

314-
<div className="columnGrid column-three" align="center">
323+
</div>
324+
325+
<div className="containerGrid">
326+
327+
<div className="columnGrid column-one" align="center">
315328
<div className="containerCol">
316329
<a href="/connect-data/reference/zendesk">
317330
<img className="containerImage referenceIcon" src="https://assets.appsmith.com/zendesk.png" alt="Zendesk"/>

website/docs/connect-data/reference/linkedin.md

Lines changed: 45 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,7 @@ The following section is a reference guide that provides a complete description
2828

2929
<dd>
3030

31-
You can authenticate using OAuth 2.0. To connect LinkedIn to Appsmith, you'll need to:
32-
33-
1. **Set up a LinkedIn Developer App**:
34-
- Navigate to the [LinkedIn Developer Portal](https://www.linkedin.com/developers/).
35-
- Create a new application to obtain your **Client ID** and **Client Secret**.
36-
- Configure the necessary OAuth 2.0 redirect URLs and permissions (scopes) required for your application.
37-
38-
2. **Configure the LinkedIn Integration**:
39-
- In Appsmith, when creating a new LinkedIn datasource, you'll be prompted to authenticate.
40-
- Review the requested permissions and click **Allow** to grant Appsmith access to your LinkedIn account.
41-
- The OAuth flow provides secure access to your LinkedIn profile and content based on the permissions granted.
31+
LinkedIn uses OAuth 2.0. When you create a LinkedIn datasource in Appsmith, the OAuth client configuration is handled for you—simply click **Authorize**, review the requested permissions, and approve the connection. The OAuth flow will open LinkedIn in a browser tab where you can grant Appsmith access to your LinkedIn account.
4232

4333
The authentication process requires you to have a browser session and will redirect you to LinkedIn's authorization page where you can approve the connection.
4434

@@ -198,10 +188,9 @@ Check out our latest product launch!
198188

199189
The media category specifies the type of media being shared in the post. This field is mandatory and accepts the following values:
200190

201-
- **`IMAGE`** - For image media
202-
- **`VIDEO`** - For video media
203-
- **`ARTICLE`** - For article media
204-
- **`NONE`** - For posts without media
191+
- **`IMAGE`** - For image
192+
- **`VIDEO`** - For video
193+
- **`ARTICLE`** - For article
205194

206195
*Example:* To specify an image post:
207196

@@ -226,7 +215,7 @@ The structure should follow LinkedIn's UGC (User Generated Content) API format:
226215
"description": {
227216
"text": "Image description"
228217
},
229-
"media": "urn:li:digitalmediaAsset:...",
218+
"media": "urn:li:digitalmediaAsset:D4S22AQG7l8cHwx9SgA",
230219
"title": {
231220
"text": "Test Image"
232221
}
@@ -242,14 +231,14 @@ The structure should follow LinkedIn's UGC (User Generated Content) API format:
242231
"description": {
243232
"text": {{ImageDescriptionInput.text}}
244233
},
245-
"media": {{_.last(RegisterAssetUpload.data.output.value.asset.split(":"))}},
234+
"media": {{RegisterAssetUpload.data.output.value.asset}},
246235
"title": {
247236
"text": {{ImageTitleInput.text}}
248237
}
249238
}]
250239
```
251240

252-
**Note:** The `media` field should contain a URN from a previously registered asset upload. You'll need to use LinkedIn's asset upload API to register media before creating the post.
241+
**Note:** The `media` field should contain a URN from a previously registered asset upload. Use the [Register Media Upload Request](#register-media-upload-request) action to create the asset before posting.
253242

254243
</dd>
255244

@@ -300,8 +289,8 @@ urn:li:person:{{GetUserInfo.data.output.sub}}
300289

301290
The type of media to register for upload. This field is mandatory and accepts two values:
302291

303-
- **`image`** - For image media uploads
304-
- **`video`** - For video media uploads
292+
- **`image`** - For image uploads
293+
- **`video`** - For video uploads
305294

306295
*Example:* To register an image upload:
307296

@@ -311,6 +300,38 @@ image
311300

312301
</dd>
313302

303+
**Example response**
304+
305+
```json
306+
{
307+
"value": {
308+
"mediaArtifact": "urn:li:digitalmediaMediaArtifact:(urn:li:digitalmediaAsset:D4S22AQG7l8cHwx9SgA,urn:li:digitalmediaMediaArtifactClass:uploaded-image)",
309+
"uploadMechanism": {
310+
"com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest": {
311+
"uploadUrl": "https://www.linkedin.com/dms-uploads/sp/v2/D4S22AQG7l8cHwx9SgA/uploaded-image/B56Zq0rcQ_HQAE-/0?ca=vector_feedshare&cn=uploads&iri=B01-86&sync=0&v=beta&ut=2UJzfayWyECs01",
312+
"headers": {
313+
"media-type-family": "STILLIMAGE"
314+
}
315+
}
316+
},
317+
"asset": "urn:li:digitalmediaAsset:D4S22AQG7l8cHwx9SgA",
318+
"assetRealTimeTopic": "urn:li-realtime:digitalmediaAssetUpdatesTopic:urn:li:digitalmediaAsset:D4S22AQG7l8cHwx9SgA"
319+
}
320+
}
321+
```
322+
323+
#### Upload Media to URL
324+
325+
After you receive the `uploadUrl`, upload the binary file contents directly to LinkedIn using a REST API **PUT** request:
326+
327+
1. Add a **FilePicker** widget and set its **Data Format** to **Binary**.
328+
2. Create a new REST API action and set **Method** to `PUT`.
329+
3. Set the **URL** to `{{RegisterMediaUploadRequest.data.value.uploadMechanism["com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest"].uploadUrl}}`.
330+
4. Add headers:
331+
- `Content-Type: {{FilePicker1.files[0].type}}`
332+
5. Set the **Body** to **Binary** and provide `{{FilePicker1.files[0].data}}` as the value.
333+
6. Run the API to upload the image/video bytes, which completes the media upload for the returned `media` URN.
334+
314335
### Get Media Upload Status
315336

316337
The Get Media Upload Status command checks the upload/processing status of media (image, video, or document) on LinkedIn using the LinkedIn API via a proxy. This is useful for monitoring the status of uploaded media assets before using them in posts or other LinkedIn content.
@@ -321,9 +342,9 @@ The Get Media Upload Status command checks the upload/processing status of media
321342

322343
The type of media to check status for. This field is mandatory and accepts three values:
323344

324-
- **`image`** - For image media
325-
- **`video`** - For video media
326-
- **`document`** - For document media
345+
- **`image`** - For image
346+
- **`video`** - For video
347+
- **`document`** - For document
327348

328349
*Example:* To check status of an image:
329350

@@ -342,7 +363,7 @@ The unique identifier of the media to check status for. This is the media ID ret
342363
*Example:* If you want to dynamically check status using a media ID from a previous query:
343364

344365
```javascript
345-
{{RegisterAssetUpload.data.output.value.asset}}
366+
{{_.last(registerAssetUpload.data.output.value.asset.split(":"))}}
346367
```
347368

348369
*Example:* If you have a specific media ID:

0 commit comments

Comments
 (0)