Skip to main content
RapidDev - Software Development Agency
bubble-tutorial

How to integrate LinkedIn job posting in Bubble

Connect your Bubble app to LinkedIn's API to enable Apply with LinkedIn functionality on your job board. This tutorial covers OAuth2 setup via the API Connector, fetching user profile data, and creating a seamless apply flow that pulls name, email, and profile picture from LinkedIn automatically.

What you'll learn

  • How to set up LinkedIn OAuth2 authentication in Bubble
  • How to configure the API Connector for LinkedIn API calls
  • How to display LinkedIn profile data in your app
  • How to build an Apply with LinkedIn button for job applications
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner5 min read25-30 minAll Bubble plans (API Connector plugin required)March 2026RapidDev Engineering Team
TL;DR

Connect your Bubble app to LinkedIn's API to enable Apply with LinkedIn functionality on your job board. This tutorial covers OAuth2 setup via the API Connector, fetching user profile data, and creating a seamless apply flow that pulls name, email, and profile picture from LinkedIn automatically.

Overview: Integrating LinkedIn for Job Postings in Bubble

If you are building a job board or recruitment platform in Bubble, LinkedIn integration lets users apply with their profile and pulls professional data automatically. This tutorial walks through creating a LinkedIn developer app, configuring OAuth2, and building a one-click application flow.

Prerequisites

  • A Bubble app with the API Connector plugin installed
  • A LinkedIn Developer account at developer.linkedin.com
  • A LinkedIn App created with correct permissions
  • Basic understanding of Bubble workflows and the API Connector

Step-by-step guide

1

Create a LinkedIn App in the developer portal

Go to developer.linkedin.com and sign in. Click Create App. Fill in the app name, your company's LinkedIn page, and a logo. Once created, go to the Auth tab and note the Client ID and Client Secret. Add your Bubble redirect URL: https://yourapp.bubbleapps.io/api/1.1/oauth_redirect. Under Products, request access to Sign In with LinkedIn using OpenID Connect.

Pro tip: LinkedIn API access is restricted. Most apps only get basic profile data (name, email, picture). Job posting APIs require a partnership agreement.

Expected result: A LinkedIn App with Client ID, Client Secret, and the correct redirect URL configured.

2

Configure OAuth2 in the API Connector

In your Bubble editor, go to Plugins, then API Connector. Add a new API called LinkedIn API. Set Authentication to OAuth2 User-Agent Flow. Enter your Client ID and Client Secret. Set Authorization URL to https://www.linkedin.com/oauth/v2/authorization, Access Token URL to https://www.linkedin.com/oauth/v2/accessToken, and Scope to openid profile email.

Expected result: The LinkedIn API is configured with OAuth2 authentication ready for user login.

3

Add a Sign in with LinkedIn button

On your login or application page, add a Button labeled Sign in with LinkedIn styled with LinkedIn's brand blue (#0077B5). Create a workflow: When Button is clicked, use the Account action Signup/login with a social network and select LinkedIn API. This triggers the OAuth2 flow, redirecting users to LinkedIn to grant permission, then back to your app.

Expected result: Clicking the button redirects to LinkedIn login, and after authorization the user is logged into your Bubble app.

4

Fetch and store LinkedIn profile data

In the API Connector, add a new call called Get Profile. Set it as Data type, method GET, URL: https://api.linkedin.com/v2/userinfo. Use the LinkedIn API authentication. Initialize the call. Create a workflow triggered by User login status changes (when logged in). Add Get data from external API for the profile call, then Make changes to Current User to save the linkedin_name, linkedin_email, and linkedin_picture fields.

Expected result: The user's LinkedIn name, email, and profile picture are saved to their User record.

5

Build the Apply with LinkedIn flow

On your job listing page, add an Apply with LinkedIn button. Create a workflow that creates a new Application record with fields for job, applicant (Current User), linkedin_profile_url, applied_date, and status (using an Option Set: Applied, Reviewed, Accepted, Rejected). Show a confirmation popup on success. Add an Only when condition to check the user is logged in via LinkedIn before allowing the action.

Expected result: Users can apply to jobs with one click and their LinkedIn data is attached to the application.

Complete working example

API Connector payload
1{
2 "api_name": "LinkedIn API",
3 "authentication": "OAuth2 User-Agent Flow",
4 "client_id": "YOUR_CLIENT_ID",
5 "client_secret": "YOUR_CLIENT_SECRET",
6 "authorization_url": "https://www.linkedin.com/oauth/v2/authorization",
7 "access_token_url": "https://www.linkedin.com/oauth/v2/accessToken",
8 "scope": "openid profile email",
9 "redirect_url": "https://yourapp.bubbleapps.io/api/1.1/oauth_redirect",
10 "calls": [
11 {
12 "name": "Get Profile",
13 "use_as": "Data",
14 "method": "GET",
15 "url": "https://api.linkedin.com/v2/userinfo",
16 "headers": {
17 "Authorization": "Bearer [access_token]"
18 },
19 "response_sample": {
20 "sub": "abc123",
21 "name": "Jane Smith",
22 "given_name": "Jane",
23 "family_name": "Smith",
24 "picture": "https://media.licdn.com/photo.jpg",
25 "email": "jane@example.com",
26 "email_verified": true
27 }
28 }
29 ]
30}

Common mistakes when integrating LinkedIn job posting in Bubble

Why it's a problem: Using the wrong redirect URL in LinkedIn settings

How to avoid: Use exactly: https://yourapp.bubbleapps.io/api/1.1/oauth_redirect with your actual app name.

Why it's a problem: Expecting access to LinkedIn Job Posting API

How to avoid: Create your own Job data type and let employers post manually. Use LinkedIn for authentication and profile data only.

Why it's a problem: Not requesting the correct OAuth scopes

How to avoid: Set scope to openid profile email and ensure these are enabled in your LinkedIn App's Products tab.

Best practices

  • Use LinkedIn's official brand colors and logo guidelines for the sign-in button
  • Store the LinkedIn access token securely and never expose it in frontend elements
  • Request only the OAuth scopes you actually need
  • Handle the case where a user denies LinkedIn permissions with an error message
  • Cache profile data in your User data type to avoid repeated API calls
  • Test the full OAuth flow in development before publishing

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

I'm building a job board in Bubble.io and want to add Sign in with LinkedIn and Apply with LinkedIn functionality. Walk me through the LinkedIn OAuth2 setup, fetching profile data, and one-click application flow.

Bubble Prompt

Add LinkedIn OAuth2 login to my app using the API Connector. Configure OAuth2 User-Agent Flow, add a Sign in with LinkedIn button, and create a workflow that fetches profile data after login.

Frequently asked questions

Is the LinkedIn Job Posting API available to all developers?

No. It is restricted to approved partners. Most Bubble apps can only use Sign In with LinkedIn for authentication and basic profile data.

Can I pull a user's full LinkedIn resume?

No. The basic product only provides name, email, and profile picture. Full profile data requires partnership approval from LinkedIn.

How do I handle users who do not have LinkedIn?

Offer alternative login methods (email/password, Google OAuth) alongside LinkedIn. Make LinkedIn optional for the application flow.

Does the LinkedIn token expire?

Yes, after 60 days. Bubble's OAuth2 implementation handles refresh automatically, but inactive users may need to re-authorize.

Can I post jobs to LinkedIn from my Bubble app?

Direct posting requires partnership access. As an alternative, generate a LinkedIn share URL that lets employers share job listings to their feed.

Can RapidDev help build a LinkedIn-integrated recruitment platform?

Yes. RapidDev can help build advanced recruitment features including LinkedIn integration, resume parsing, candidate pipelines, and automated job matching.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.