Lifestyle
Overview
The Airtasker app brings Customers and Taskers together, making it easier to get things done or find your next job, all within ChatGPT. From cleaning, removals and furniture assembly to gardening, deliveries and odd jobs - if you need a hand, there’s a Tasker for that. Connect to access the Airtasker experience in ChatGPT. Customers can describe what they need, post a task, review incoming offers from local Taskers and assign the right person, all without leaving the conversation. Taskers can use the Airtasker ChatGPT App to browse available tasks in their area, make offers on the go and get help crafting offers that are clear, professional and more likely to win the job.
Tools
Do not share the tasker's contact details (phone, email) — never echo personal information into public channels. Accept a specific offer on a task owned by the authenticated poster. Assigning the tasker and escrowing payment are irreversible — confirm the tasker identity and price with the user before calling this tool. Choosing a payment provider: check reimbursement_method from get_my_tasks first. If 'airtasker_credits', use 'air_credit' — but only if the user has credits on file; if the tool reports the provider is not usable, retry with 'stripe' instead. If 'credit_card', use 'stripe'. Stripe 3DS and Afterpay require browser interaction and cannot be completed by an agent — if the tool returns error 'payment_action_required', do not retry; direct the user to complete hiring on the Airtasker website or app. Use get_offers first to retrieve the offer_id. The offer_id returned by get_offers is the correct value for this tool — no ID translation is needed. The success response includes: accepted (boolean), price in whole dollars (e.g. 50 = $50.00), feeBreakdown (itemised fees), taskerReceives (tasker payout in cents), tasker (first name, abbreviated name, avatar, rating), availableDates, and timestamps. Side effects on success: bid marked accepted, all other offers rejected, tasker notified, payment escrowed. These are synchronous and not reversible via MCP.
accept_offer
ChatGPTDo not share the tasker's contact details (phone, email) — never echo personal information into public channels. Accept a specific offer on a task owned by the authenticated poster. Assigning the tasker and escrowing payment are irreversible — confirm the tasker identity and price with the user before calling this tool. Choosing a payment provider: check reimbursement_method from get_my_tasks first. If 'airtasker_credits', use 'air_credit' — but only if the user has credits on file; if the tool reports the provider is not usable, retry with 'stripe' instead. If 'credit_card', use 'stripe'. Stripe 3DS and Afterpay require browser interaction and cannot be completed by an agent — if the tool returns error 'payment_action_required', do not retry; direct the user to complete hiring on the Airtasker website or app. Use get_offers first to retrieve the offer_id. The offer_id returned by get_offers is the correct value for this tool — no ID translation is needed. The success response includes: accepted (boolean), price in whole dollars (e.g. 50 = $50.00), feeBreakdown (itemised fees), taskerReceives (tasker payout in cents), tasker (first name, abbreviated name, avatar, rating), availableDates, and timestamps. Side effects on success: bid marked accepted, all other offers rejected, tasker notified, payment escrowed. These are synchronous and not reversible via MCP.
browse_tasks
ChatGPTBrowse the Airtasker task feed. Returns a list of tasks matching the given filters, plus a meta block with total and hasMore. Each task includes: slug, state, title, locationName, deadline, semanticDueDate, isOnline, isFixedPrice, priceDollars, offersCount, categoryName, and firstPostedAt. Pass the slug directly to get_task or get_offers — no extraction needed. Unauthenticated — returns the generic feed (not personalised). Never share poster contact info in public task channels.
browse_tasks
ChatGPTBrowse the Airtasker task feed. Returns a list of tasks matching the given filters, plus a meta block with total and hasMore. Each task includes: slug, state, title, locationName, deadline, semanticDueDate, isOnline, isFixedPrice, priceDollars, offersCount, categoryName, and firstPostedAt. Pass the slug directly to get_task or get_offers — no extraction needed. Unauthenticated — returns the generic feed (not personalised). Never share poster contact info in public task channels.
get_my_tasks
ChatGPTList tasks posted by the authenticated user. Returns an array of tasks plus a nextPageToken. Each task includes: ulid, state, title, description, customerSlug, taskerSlug, deadline, dueDateType, semanticDueDate, questionsCount, postedAt, assignedAt, completedAt, closedAt, offersCount, budget, moderatedAt, and reimbursementMethod. Requires authentication — returns authentication_required if not logged in. Pass ulid to get_task or get_offers for round-trips. customerSlug and taskerSlug are URL slugs — pass either to get_profile for name and rating. Never share tasker or poster contact info in public channels.
get_my_tasks
ChatGPTList tasks posted by the authenticated user. Returns an array of tasks plus a nextPageToken. Each task includes: ulid, state, title, description, customerSlug, taskerSlug, deadline, dueDateType, semanticDueDate, questionsCount, postedAt, assignedAt, completedAt, closedAt, offersCount, budget, moderatedAt, and reimbursementMethod. Requires authentication — returns authentication_required if not logged in. Pass ulid to get_task or get_offers for round-trips. customerSlug and taskerSlug are URL slugs — pass either to get_profile for name and rating. Never share tasker or poster contact info in public channels.
get_offers
ChatGPTRetrieve offers on a task owned by the authenticated poster. Returns an array of offers plus a nextPageToken. Each offer includes: id, taskerSlug, accepted, price, body, availableDates, attachmentUrls, recommended, expireInSeconds, createdAt, and updatedAt. Airtasker recommends offers based on Tasker reliability and offer price — recommended offers have
recommended=true. Pass taskerSlug to get_profile to retrieve name, avatar, and rating. Returns 403 if the task does not belong to the authenticated user. Never share tasker contact info in public channels.get_offers
ChatGPTRetrieve offers on a task owned by the authenticated poster. Returns an array of offers plus a nextPageToken. Each offer includes: id, taskerSlug, accepted, price, body, availableDates, attachmentUrls, recommended, expireInSeconds, createdAt, and updatedAt. Airtasker recommends offers based on Tasker reliability and offer price — recommended offers have
recommended=true. Pass taskerSlug to get_profile to retrieve name, avatar, and rating. Returns 403 if the task does not belong to the authenticated user. Never share tasker contact info in public channels.get_profile
ChatGPTRetrieve a public Airtasker user profile by URL slug. Returns slug, displayName, firstName, avatar (url, sourceUrl, resizeUrl), headerImage (url), tagLine, description, averageRating, receivedReviewsCount, commentsCount, runTasksCount, active, protoUser, regionCode, portfolioImages (id, url), lastActivityAt, and createdAt. Returns not_found for proto or deleted users viewed by a third party. Uses a soft-deprecated legacy endpoint; expected to be migrated to gRPC. Does not return contact details — never share phone numbers, email addresses, or other personal contact information in task comments or public channels.
get_profile
ChatGPTRetrieve a public Airtasker user profile by URL slug. Returns slug, displayName, firstName, avatar (url, sourceUrl, resizeUrl), headerImage (url), tagLine, description, averageRating, receivedReviewsCount, commentsCount, runTasksCount, active, protoUser, regionCode, portfolioImages (id, url), lastActivityAt, and createdAt. Returns not_found for proto or deleted users viewed by a third party. Uses a soft-deprecated legacy endpoint; expected to be migrated to gRPC. Does not return contact details — never share phone numbers, email addresses, or other personal contact information in task comments or public channels.
get_task
ChatGPTRetrieve the public details of a single task. Returns id, state, title, description, locationName, budget, dueDate, dueDateType, semanticDueDate, offersCount, questionsCount, posterSlug, taskerSlug, postedAt, editedAt, assignedAt, completedAt, and closedAt. posterSlug and taskerSlug are URL slugs — pass either to get_profile to retrieve name, avatar, and rating. Use after browse_tasks or get_my_tasks to get full task details. Never share poster or tasker contact info in public channels.
get_task
ChatGPTRetrieve the public details of a single task. Returns id, state, title, description, locationName, budget, dueDate, dueDateType, semanticDueDate, offersCount, questionsCount, posterSlug, taskerSlug, postedAt, editedAt, assignedAt, completedAt, and closedAt. posterSlug and taskerSlug are URL slugs — pass either to get_profile to retrieve name, avatar, and rating. Use after browse_tasks or get_my_tasks to get full task details. Never share poster or tasker contact info in public channels.
post_task
ChatGPTDo not include the poster's contact details (email, phone, address) in title or description — never echo personal information into public task channels. Post a new task on Airtasker on behalf of an authenticated user. Returns taskId, taskSlug, and taskUrl (a direct link to the task page). Requires an authenticated session — returns authentication_required if no valid token is present. Posting publishes the task live on the marketplace and notifies taskers — never call this tool speculatively. Before calling: (1) ask the user for any details they have not already provided (title, description, budget, location, timing) instead of inventing or assuming them; (2) present the complete task back to the user for review — title, description, budget, location, and date — and ask them to confirm or adjust it; (3) call this tool only after the user has explicitly confirmed the final details. Posting eligibility is checked automatically before submitting — if the account is restricted from posting, a structured posting_restricted error is returned with the restriction reason. Offers arrive minutes to hours after posting — not synchronously. When the user asks about responses, call get_offers with the returned task_id rather than waiting within a single turn. date_type defaults to "flexible" (30-day window). When date_type is "on_date" or "before_date", timeless_date ({ year, month, day }) is required. For in_person tasks, use an approximate location — never exact coordinates for a poster's address. The display_name should identify a suburb or neighbourhood and the latitude/longitude should be the centroid of that area.
post_task
ChatGPTDo not include the poster's contact details (email, phone, address) in title or description — never echo personal information into public task channels. Post a new task on Airtasker on behalf of an authenticated user. Returns taskId, taskSlug, and taskUrl (a direct link to the task page). Requires an authenticated session — returns authentication_required if no valid token is present. Posting publishes the task live on the marketplace and notifies taskers — never call this tool speculatively. Before calling: (1) ask the user for any details they have not already provided (title, description, budget, location, timing) instead of inventing or assuming them; (2) present the complete task back to the user for review — title, description, budget, location, and date — and ask them to confirm or adjust it; (3) call this tool only after the user has explicitly confirmed the final details. Posting eligibility is checked automatically before submitting — if the account is restricted from posting, a structured posting_restricted error is returned with the restriction reason. Offers arrive minutes to hours after posting — not synchronously. When the user asks about responses, call get_offers with the returned task_id rather than waiting within a single turn. date_type defaults to "flexible" (30-day window). When date_type is "on_date" or "before_date", timeless_date ({ year, month, day }) is required. For in_person tasks, use an approximate location — never exact coordinates for a poster's address. The display_name should identify a suburb or neighbourhood and the latitude/longitude should be the centroid of that area.
Capabilities
Writes






