Description
We want to integrate a private Custom GPT with the Spring Boot JobApplyTracker API so the GPT can help analyze job vacancies and pre-fill application data.
This integration should not invent new fields. The GPT must only map information into the fields that already exist in the current application model and request DTO.
The goal is to make the user flow faster by allowing the GPT to:
- analyze a vacancy description,
- extract relevant structured information,
- suggest values for existing application fields,
- submit or prepare the application data through the API.
At this stage, the application does not generate a CV yet. That capability is planned for a separate future issue. However, this issue should keep that intention documented so the GPT integration can later evolve to support CV generation once that feature exists.
Current Scope
The GPT integration should work only with the existing application data model and API contract.
The GPT must fill only fields that already exist in the system, such as:
- vacancy name
- recruiter name
- organization
- vacancy link
- application date
- RH accepted connection
- interview scheduled
- next step date/time
- status
- recruiter DM reminder enabled
- note
- existing Google Drive-related fields, when applicable
The GPT must not create new business fields like:
- AI summary
- company culture score
- custom vacancy classification
- generated CV output
- any other synthetic column that does not already exist in the backend model
Authentication
For now, this GPT will be private.
The GPT must authenticate using the same JWT Bearer token already used by the application's login flow.
Authentication behavior
- The user logs into the application normally.
- The user manually provides the access token in the Custom GPT Action authentication configuration.
- Requests to the GPT endpoints must include:
Authorization: Bearer <jwt_token>
Future authentication note
In a future version, this integration may migrate to OAuth 2.0 Authorization Code flow to support user-specific authorization in a cleaner and more scalable way.
API Contract
The GPT should interact with dedicated API endpoints under /api/gpt/*.
The OpenAPI specification should be exposed so the GPT Actions configuration can consume it.
Example responsibilities for the GPT endpoints:
- analyze a vacancy
- map extracted data to the existing application DTO
- create or update an application using the current backend flow
- return structured data compatible with the existing frontend and backend model
Expected Behavior
When a vacancy is provided, the GPT should:
- analyze the vacancy text or link,
- extract relevant information,
- map the result only to existing fields,
- return structured output aligned with the current API contract,
- avoid generating unsupported fields.
Notes About CV Generation
The application currently does not generate CVs.
However, this integration should be documented with the expectation that:
- CV generation will be implemented in a separate issue,
- the GPT integration may later be extended to use that feature,
- the current issue should remain focused only on vacancy analysis and application pre-filling.
Acceptance Criteria
Future Improvements
- OAuth 2.0 authentication for the GPT integration.
- CV generation support once that feature is implemented.
- Additional automation around vacancy tracking and application enrichment.
Description
We want to integrate a private Custom GPT with the Spring Boot JobApplyTracker API so the GPT can help analyze job vacancies and pre-fill application data.
This integration should not invent new fields. The GPT must only map information into the fields that already exist in the current application model and request DTO.
The goal is to make the user flow faster by allowing the GPT to:
At this stage, the application does not generate a CV yet. That capability is planned for a separate future issue. However, this issue should keep that intention documented so the GPT integration can later evolve to support CV generation once that feature exists.
Current Scope
The GPT integration should work only with the existing application data model and API contract.
The GPT must fill only fields that already exist in the system, such as:
The GPT must not create new business fields like:
Authentication
For now, this GPT will be private.
The GPT must authenticate using the same JWT Bearer token already used by the application's login flow.
Authentication behavior
Authorization: Bearer <jwt_token>Future authentication note
In a future version, this integration may migrate to OAuth 2.0 Authorization Code flow to support user-specific authorization in a cleaner and more scalable way.
API Contract
The GPT should interact with dedicated API endpoints under
/api/gpt/*.The OpenAPI specification should be exposed so the GPT Actions configuration can consume it.
Example responsibilities for the GPT endpoints:
Expected Behavior
When a vacancy is provided, the GPT should:
Notes About CV Generation
The application currently does not generate CVs.
However, this integration should be documented with the expectation that:
Acceptance Criteria
Future Improvements