Skip to main content
iVentureTeam

CopyClipboardJobLinkButton

A copy button for a job posting's link, with a notification confirming the copy rather than a silent state change.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
August 27, 2026Updated August 29, 20264 min read
Technical nameCopyClipboardJobLinkButton
Field typeschar
Viewsform
Modulehr_recruitment, the Recruitment app
Used in coreThe job link on the recruitment job form
VersionsOdoo 20.0, Odoo 19.0
No-code setupNo. It is set in view XML and depends on module-specific data
AlternativesCopyClipboardChar, CopyClipboardButton, CopyClipboardURL, char

What the copy job link does

A job posting has a public link, and the single most common thing anyone does with it is copy it to paste somewhere else. The base copy button handles that, confirming the copy by changing its own label for a moment.

On the recruitment form that confirmation is easy to miss, because the button sits among other controls and the label change is small. This widget replaces it with a notification.

Nothing else changes. The copy mechanism and the value read are both inherited, so the file exists purely to change how the copy is confirmed.

What this means for your team

Confirmation of a copy sounds trivial until you watch someone click three times because they were not sure it worked, then paste three copies. Feedback that is impossible to miss is worth the twenty lines.

The wider point for recruitment is that the job link is the top of the funnel. Anything that makes sharing it slower or less certain costs applications, and this is the cheapest possible fix for one of those frictions.

Supported options in Odoo 19

The widget declares no options of its own and inherits the copy button's descriptor. Its only change is the confirmation, described below. Read from the copy clipboard job link source, Odoo 19.0.

OptionTypeWhat it does
the notificationreplaces the base confirmationShown after a successful copy instead of the base button's temporary label change.(since Odoo 19.0)
stringstring (attribute)Inherited from the copy button. Sets the button's label.

The name is capitalized. Unlike almost every other widget in Odoo, this one is registered under a capitalized name, so it must be written exactly that way in a view or it will not resolve.

Working examples

The usual usage

<field name="job_link"
       widget="CopyClipboardJobLinkButton"/>

The capitalization is part of the registered name.

What differs from the base

# base: the button's own label changes briefly
# this: a notification confirms the copy

The copy itself is identical.

The base copy button

<field name="job_link" widget="CopyClipboardChar"/>

Same copy, with the label change instead.

One overridden method, and an unusual name

The file is a subclass of the copy button with one method overridden: the one that runs after a successful copy.

Where the base changes the button's own label for a moment, this version shows a notification instead. The notification is a positive one, so it appears in the standard success styling rather than as a warning.

Everything upstream of that is untouched. The value read, the copy call and the failure handling all come from the base, which is why the whole file fits on a screen.

The capitalized registration is the only other thing worth noting, and it is a naming inconsistency rather than a design choice. It has to be written as registered because the registry lookup is exact.

Version compatibility

VersionStatusNotes
Odoo 20.0In developmentNot released. Byte-identical to Odoo 19 on the development branch.
Odoo 19.0VerifiedFirst version. Verified against the shipped source.
Odoo 18.0Not availableWidget does not exist.
Odoo 17.0Not availableWidget does not exist.
Odoo 16.0Not availableWidget does not exist.

Upgrade note. The widget is new in Odoo 19. On earlier versions the job link used the base copy button, so an upgrade adds the notification with the standard views and nothing needs migrating.

What is changing in Odoo 20

Odoo 20 is expected at Odoo Experience in Brussels, 24 to 26 September 2026. The development branch is unstable and this may still change; we re-verify this page after the release.

Byte-identical. The file on the development branch matches Odoo 19 exactly, including the capitalized registration.

Common problems and fixes

SymptomCause and fix
Missing widget errorThe name was written in lower case; the registration is capitalized. Write it exactly as registered.
No notification appearsThe copy failed, so the post-copy method never ran. Check the browser allows clipboard access on that origin.
The button label changes insteadThe base copy button is in use rather than this one. Check the widget name on the field.
Nothing is copiedThe field value is empty. The link is computed; make sure the job is published.
It does not work on a listThe button is written for a form. Use it on the form view.
Missing widget error on another databaseThe Recruitment module is not installed there. Install Recruitment, or use the base copy button.

Copy job link vs the alternatives

WidgetBest forKey difference
CopyClipboardJobLinkButtonCopying a job posting's link with unmissable confirmationA notification instead of the base button's temporary label change
CopyClipboardCharCopying any short text valueConfirms with a label change rather than a notification
CopyClipboardButtonA standalone copy buttonA button element rather than a field widget
CopyClipboardURLCopying a link that is also clickableRenders as a link as well as a copy button
charShowing the value without copyingNo button at all

The base copy button is right almost everywhere else, because on a form with fewer controls its label change is perfectly visible. The notification is worth the widget where the button competes for attention.

Frequently asked questions

Why is the name capitalized?+
It is simply how it is registered, and the registry lookup is exact, so it has to be written that way in a view. It is a naming inconsistency rather than a convention.
What does it change from the base?+
Only the confirmation. A successful copy shows a notification instead of changing the button's own label for a moment.
Does it have options?+
None of its own. It inherits the copy button's descriptor, including the label attribute.
Why not just use the base button?+
You can, and it is right almost everywhere. The notification is worth it where the button sits among other controls and the label change is easy to miss.
Which versions have it?+
Odoo 19 onwards, and byte-identical on the Odoo 20 development branch.

Recruitment that does not leak candidates

Job links, application forms and the stages between them are where good candidates quietly drop out. We implement and tune Odoo Recruitment around your actual hiring flow, on versions 16 through 19.

Book a free consultation

How this page was produced

The overridden post-copy method, the notification call and the capitalized registration were read from the copy clipboard job link source on the Odoo 19.0 branch, with the inherited behavior read from the copy button in web. Version coverage comes from the absence of the file on 16.0, 17.0 and 18.0, and a byte comparison against the public development branch. Spotted an error? Tell us and we will correct the page.