Appbricx
Docs
FeaturesPricingStart free

Get started

OverviewWhat Appbricx isQuickstart with a coding agentQuickstart with the builderCore concepts

Guides

Data and tablesAccess and rolesBusiness rulesSign-inCustom screensRealtime and topicsWorkflows, schedules and webhooksServer functionsAI in your appPaymentsFilesMessagesIntegrationsVerifyPublishing, domains and rollbackOperating your appExport and self-hostSelf-host install

Tutorials

Build a booking app with Claude CodeMulti-user todo listClient portalSlack on new sign-upTemplates

Reference

Reference homeFrontend SDKHTTP APIMCP toolsCLIIntegrations catalogContract formatAI key resolutionRun Appbricx locally

Google Contacts

Create, list, and search contacts in Google Contacts.

ProductivityOAuth4 actionsAll integrations

On this page
  1. Connect
  2. Call it from a workflow
  3. Actions (4)
  4. add_contact
  5. search_contact
  6. update_contact
  7. custom_api_call
  8. Details

Connect

Auth type: OAuth (oauth2). Click Connect and approve access on the provider's page. Appbricx runs the OAuth flow (signed single-use state, PKCE where the provider supports it), stores the tokens encrypted and refreshes them before they expire.

Scopes requested: https://www.googleapis.com/auth/contacts

OAuth needs an OAuth app: the platform's when the operator configured one, or your own (admin panel, Integrations, Configure). You can also bring your own credentials.

  • In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
  • For every project in a workspace: Workspace settings, Integrations.
  • Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.

Call it from a workflow

Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.

Native workflow
// .workflow.js (native ctx)
export async function run(ctx) {
  const res = await ctx.integrations.invoke("google_contacts", "add_contact", {
    "firstName": "<first name>",
    "lastName": "<last name>"
  });
  if (!res.success) throw new Error(res.error);
  ctx.log.info("Google Contacts answered", { output: res.output });
}
defineWorkflow module
// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";

export default defineWorkflow({
  id: "google-contacts-add-contact",
  name: "Google Contacts: Add Contact",
  description: "Calls Google Contacts when a row is created.",
  trigger: { type: "entity_event", entity: "tickets", event: "created" },
  async run(ctx, event) {
    const res = await ctx.integrations.call("google_contacts", {
      "action": "add_contact",
      "firstName": "<first name>",
      "lastName": "<last name>"
    }) as { success: boolean; error?: string };
    if (!res.success) throw new Error(res.error);
  },
});
From an app (connector proxy)
curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/google_contacts/add_contact" \
  -H "Authorization: Bearer $APP_KEY" \
  -H "content-type: application/json" \
  -d '{"props":{"firstName":"<first name>","lastName":"<last name>"}}'

Actions

add_contactin catalog

Add Contact. Add a contact to a Google Contacts account

InputTypeDescription
firstNamerequiredtextThe first name of the contact
middleNameoptionaltextThe middle name of the contact
lastNamerequiredtextThe last name of the contact
jobTitleoptionaltextThe job title of the contact
companyoptionaltextThe company of the contact
emailoptionaltextThe email address of the contact
phoneNumberoptionaltextThe phone number of the contact

search_contactin catalog

Search Contacts. Search contacts in Google Contacts account.

InputTypeDescription
queryrequiredtextThe plain-text query for the request.The query is used to match prefix phrases of the fields on a person. For example, a person with name "foo name" matches queries such as "f", "fo", "foo", "foo n",…
readMaskrequiredlist ofA field mask to restrict which fields on each person are returned.
pageSizeoptionalnumberThe number of results to return. Maximum 30.

update_contactin catalog

Update Contact. Update a contact in Google Contacts account.

InputTypeDescription
resourceNamerequiredtextThe resource name for the person, assigned by the server. An ASCII string in the form of people/{person_id}.
etagrequiredtextThe `etag` ensures contact updates only apply if the contact hasn't changed since last retrieved.
updatePersonFieldsrequiredlist ofA field mask to restrict which fields on the person are updated.
firstNameoptionaltextThe first name of the contact
middleNameoptionaltextThe middle name of the contact
lastNameoptionaltextThe last name of the contact
jobTitleoptionaltextThe job title of the contact
companyoptionaltextThe company of the contact
emailoptionaltextThe email address of the contact
phoneNumberoptionaltextThe phone number of the contact

custom_api_call

Custom API Call. Make a custom API call to a specific endpoint

InputTypeDescription
urlrequiredobject (depends on other props)url
methodrequiredone of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD"Method
headersrequiredobjectAuthorization headers are injected automatically from your connection.
queryParamsrequiredobjectQuery Parameters
body_typeoptionalone of "none" | "json" | "form_data" | "raw"Body Type
bodyoptionalobject (depends on other props)Body
response_is_binaryoptionalbooleanEnable for files like PDFs, images, etc.
failsafeoptionalbooleanNo Error on Failure
timeoutoptionalnumberTimeout (in seconds)
followRedirectsoptionalbooleanFollow redirects

Details

Id
google_contacts
Category
Productivity
Tags
google, contacts, address-book, people
Package
@activepieces/piece-google-contacts@0.4.4
Tier
Built in

On this page

  1. Connect
  2. Call it from a workflow
  3. Actions (4)
  4. add_contact
  5. search_contact
  6. update_contact
  7. custom_api_call
  8. Details
Appbricx

The backend, runtime and hosting for apps your coding agent builds. On our cloud, in yours, or on your own servers.

Features

Coding agents and MCPVerify testingBuilder consolePostgres databaseData APIRealtimeRow-level securitySign-in and authPaymentsWorkflows and jobsAI in your appIntegrationsBackups and rollbackHosting and domainsSelf-host and exportAll features

Product

ShowcasePricingFor coding agentsTemplatesPrivate cloudBring your own AI keyFAQ

Compare

Appbricx vs SupabaseLovable alternativeBolt alternativeFor freelancersFor agencies

Resources

DocumentationReferenceBlogSupportContact

© 2026 Appbricx. All rights reserved.

TermsPrivacyCookiesAcceptable Use